3 октября 2011 г.

WEB-сервер на Linux. Часть 7 - Тестовый перенос сайта

Перед тем как начинать, неплохо было бы и убедиться, что установка и работа Joomla возможна в принципе. Для этого я скачал и установил дистрибутив Joomla - все прошло, как по маслу, после чего Joomla была удалена. Поскольку задача это тривиальная, описывать этот процесс я не буду, лучше сразу перейду к планированию переноса старого сайта.

Для успешного переноса необходимы следующие данные со старого хостинга:
  • Все файлы и папки из корня сайта
  • Дамп базы MySQL
  • Учетные данные пользователя MySQL
Копирование файлов - дело тривиальное, дамп базы MySQL можно сделать через PhpMyAdmin, а название БД, логин и пароль пользователя можно посмотреть в файле configuration.php (переменные $db, $user и $password, соответственно).

На новом сервере необходимо следующее:
  • Поместить в корень нового сайта все файлы старого
  • Создать пользователя MySQL
  • Создать БД для этого пользователя
  • Настроить разрешения для пользователя MySQL (пользователю должны быть разрешены только действия по изменению его БД, все остальные - запрещены)
  • Импортировать базу данных
  • Настроить права на папки для корректной работы Joomla

Перенос файлов 
На старом сервере упаковывает файлы из корня сайта в zip-архив (www.zip) и по FTP скидываем их на новый сервер в корень сайта. На новом сервере распаковываем архив в корень сайта, после чего удаляем архив:
$ cd /var/www/gkb1
$ unzip www
$ rm /var/www/gkb1/www.zip

Создаем пользователя и БД для него, импортируем данные
Логинимся на новый сайт в PhpMyAdmin и создаем сначала БД, затем пользователя.
При создании БД важно указать тот же набор символов, что и в исходной базе.
После этого открывает созданную БД и заходим в раздел Привилегии, где добавляем пользователя с логином и паролем как в исходной БД, привилегий пока не выставляем. 
После нажатия на ОК будет предложено выставить вновь созданному пользователю права на текущую базу. Выставляем все права в разделе Данные и все, кроме DROP, в разделе Структура. В разделе Администрирование прав не выдаем.
Теперь открываем базу для сайта, и, через опцию Импорт, вносим данные из старой базы.
По завершении импорта, открываем сайт и проверяем все ли работает так как надо.

Настройка прав на папки для корректной работы Joomla
Для корректной работы Joomla необходимо выставить права 777 на некоторые папки сайта. Список этих папок можно посмотреть в админке сайта: Помощь - Информация о системе - Права на папки.

Получив список этих папок я написал небольшой скрипт для выставления прав (set-permissions.sh):


Закачиваем скрипта по ftp, выставляем права и запускаем:
$ sudo chmod 777 set-permissions.sh
$ sudo set-permissions.sh

Проверяем в админке доступность указанных папок на запись и, если все нормально, удаляем/перемещаем скрипт из корня сайта в надежное место.

Теперь можно переходить к долгожданной установке nginx и настройке его в качестве фронтэнда к Apache.

Комментариев нет:

Отправить комментарий