Перенос сайта

Данное руководство базируется на типичном сценарии, когда разработка сайта ведется локально (например, с использованием пакета XAMPP), а затем сайт развертывается на типовом удаленном сервере (обычно LAMP - Linux, Apache, MySQL, PHP).

Нижеописанные действия будут работать на любом сервере с незначительными изменениями, а то и вообще без них, за исключением файла .htaccess и реквизитов для доступа к вашей базе данных.

  1. Установите сайт локально, после чего переименуйте файл ht.access в .htaccess и отредактируйте его так, чтобы он указывал на подпапку, в которую вы установили ваш сайт, как показано в следующем примере:

    1
    2
    3
    4
    5
    6
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # Если вы установили Evo в подпапку, следующую строчку надо изменить
    # чтобы она соответствовала фактическому пути к корню сайта
    RewriteRule ^(.*)$ /path/to/subdirectory/index.php?q=$1 [L,QSA]

    Затем переименуйте файл ht.access в папке /manager в .htaccess. Это отключит движок RewriteEngine для этой папки.

  2. После того, как вы выполнили разработку сайта локально (при этом все используемые пути рекомендуется сделать относительными от корня сайта, чтобы сохранить переносимость), сделайте копию файла .htaccess и назовите ее .htaccess.local. После этого в файле .htaccess следует изменить путь к корню сайта, чтобы он соответствовал пути на удаленном сервере (обычно для этого достаточно удалить путь к подпапке). Файл .htaccess в папке /manager следует оставить как есть.

  3. Затем сделайте копию файла manager/includes/config.inc.php и назовите ее config.local.inc.php, после чего отредактируйте файл config.inc.php, чтобы занести в него настройки соединения с базой данных на удаленном сервере (база данных на удаленном сервере должна быть создана заранее).

  4. Скопируйте на удаленный сервер папки /manager и /assets и файлы index.php и .htaccess (созданные вами файлы, содержащие в названии .local., копировать не нужно). Если это обновление, а не новая установка, то перед этим действием рекомендуется сохранить исходную папку /assets удаленного сайта, чтобы затем можно было перезалить туда весь имеющийся у вас контент (например, изображения и шаблоны), если при копировании что-то окажется перезаписано.

  5. Если удаленный веб-сервер работает не под тем пользователем, который является владельцем созданных вами файлов, то для следующих папок и файлов вам надо будет изменить права доступа на 777:

    • /assets/cache (а также для всех файлов в этой папке, имеющих расширение .php)
    • /assets/images
    • /assets/files
    • /assets/flash
    • /assets/media
  6. Создайте дамп содержимого вашей локальной базы данных (используя менеджер резервных копий или любой клиент MySQL, например, phpMyAdmin). В phpMyAdmin при этом следует выбрать тип файла SQL. Созданный вами дамп базы данных сохраните в файле на вашем локальном компьютере. Перед созданием дампа базы данных рекомендуется удалить все содержимое таблиц логов, потому что на вашем новом сервере они все равно будут бесполезны, зато места они занимают много. Затем импортируйте созданный вами файл дампа в базу данных на удаленном сервере. В phpMyAdmin для этого следует выбрать используемую вами базу данных и импортировать в нее ваш файл дампа.

  7. В вашем браузере зайдите по адресу http://доменное_имя_вашего_сайта/manager. Войдите в админку, затем зайдите в раздел "Конфигурация" и обновите пути для браузера файлов (настройки "Путь к файлам" и "URL к файлам" во вкладке "Файл-браузер") и для менеджера файлов (настройка "Путь для файл-менеджера" во вкладке "Файл-менеджер").

  8. Если вы не можете войти в админку, то, скорее всего, у вас указаны неправильные настройки соединения с базой данных в файле manager/includes/config.inc.php. Попробуйте исправить их на локальном компьютере и перезагрузить этот файл снова. Если это не помогает, попробуйте зайти по адресу http://доменное_имя_вашего_сайта/install и выполнить пользовательскую установку. В этом случае можно будет проверить разные настройки соединения с базой данных, пока соединение не будет установлено. Если код вашего сайта на локальном компьютере не был поврежден, вы после этого сможете завершить установку. В качестве альтернативы можно занести правильные настройки (если вы их знаете) в файл manager/includes/config.inc.php и загрузить его на удаленный сервер.

  9. Проверьте работоспособность вашего сайта на удаленном сервере. Он должен работать точно так же, как и локальная копия вашего сайта.

  10. Если все равно остались какие-то проблемы, попробуйте на новом сайте запустить установщик, выбрав опцию обновления.

Mem: 3.5 mb, MySQL: 0.0028 s, 2 req., PHP: 0.0423 s, all: 0.0451 s, cache.