Переносим сайт на свой сервер

Автор: | 23/02/2012
 

Система FreeBSD 8.2. Настройка производилась по этому>>> мануалу.

Для начала – создадим пользователя, у которого будет доступ к каталогу сайта:

# adduser
Username: abobrov

Home directory [/home/bobrov]: /usr/local/www/apache22/data/user/abobrov/
Home directory permissions (Leave empty for default):

Username   : abobrov
Password   : *****
Full Name  : abobrov
Uid        : 1003
Class      :
Groups     : abobrov
Home       : /usr/local/www/apache22/data/user/abobrov/
Home Mode  :
Shell      : /usr/local/bin/bash
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (bobrov) to the user database.
Add another user? (yes/no): no
Goodbye!

Обратите внимание, что его домашняя папка не /home/abobrov, а /usr/local/www/apache22/data/user/abobrov/.

На всякий случай, проверим корректно ли работает доступ по FTP, в качестве которого выступает ProFTPD, о настройке которого есть статья тут>>>:

$ lftp [email protected]
Пароль:
lftp [email protected]:~> ls
lftp [email protected]:/>

ОК, теперь можно приступать к переносу файлов.

Заходим на старый сервер:

$ ssh -l bobrov oldserver.com
Password:

Посмотрим что тут есть:

$ ls
www.a-bobrov.kiev.ua

Сделаем копию файлов:

$ tar cfp bobrov.tar www.a-bobrov.kiev.ua

Подключимся по FTP к новому серверу:

$ lftp [email protected]
Password:

Загрузим архив:

ftp [email protected]:~> mput bobrov.tar
17468928 bytes transferred in 2 seconds (10.41M/s)

lftp [email protected]:/> ls
-rw-r–r–   1 bobrov   bobrov   17468928 Feb 22 21:54 bobrov.tar
lftp [email protected]:/>

Теперь извлечем архив:

$ tar xpf bobrov.tar

Посмотрим что у нас тут:

$ ls -la
drwxr-xr-x  6 bobrov  bobrov      1024 Dec 21 01:33 www.a-bobrov.kiev.ua
-rw-r–r–  1 1117     bobrov   17468928 Feb 23 00:54 bobrov.tar

Т.к. сайт ещё работает на старом сервере и настройки домена мы не меняли, то настроим свой компьютер на работу с новым сервером:

$ sudo nano /etc/hosts

(пользователям Windows искать файл надо в каталоге C:Windowssystem32driversetchosts)

Добавим запись вида:

77.120.106.40   a-bobrov.kiev.ua

Теперь, при запросе с нашего компьютера будем попадать на новый сервер.

Приступим к настройке сервера Apache.

Создадим отдельные файлы логов для виртуалхоста:

# touch /var/log/apachelogs/abobrov-access.log
# touch /var/log/apachelogs/abobrov-error.log

В файл конфигурации виртуалхостов, о создании которых есть статья тут>>>, добавляем новый блок:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot www/apache22/data/user/abobrov/a-bobrov.kiev.ua
ServerName a-bobrov.kiev.ua
ServerAlias www.a-bobrov.kiev.ua
ErrorLog /var/log/apachelogs/abobrov-error.log
CustomLog /var/log/apachelogs/abobrov-access.log common
</VirtualHost>

Попробуем зайти на сайт, и получим ошибку соединения с базой данных. Отлично, почти все работает :-).

Осталось перенести дамп базы и изменить конфигурацию сайта.

Перейдем в управление MySQL:

# mysql -u root -p

Создадим новую базу:

mysql> create database abobrov_db1;
Query OK, 1 row affected (0.00 sec)

Создадим пользователя и назначим ему привилегии:

mysql> grant all on abobrov_db1.* to ‘abobrov_db1’@’localhost’ identified by ‘mypassword’; Query OK, 0 rows affected (0.00 sec)

Теперь загрузим дамп со старого сервера БД, который мы предварительно залили в домашний каталог нового пользователя:

# mysql -p -u abobrov_db1 -h localhost abobrov_db1 < /usr/local/www/apache22/data/user/abobrov/bobrov_db1.sql
Enter password:

Осталось отредактировать файл конфигурации сайта – изменить данные доступа к серверу MySQL.

Собственно, на этом перенос можно считать завершенным. Правда, при загрузке сайта появляется ошибка:

Fatal error: Call to undefined function curl_init() in /usr/local/www/apache22/data/user/abobrov/www.a-bobrov.kiev.ua/wp-content/plugins/postcloud/postcloud.php on line 151

Но это уже решается путем установки дополнительных расширений PHP, в данном случае:

# cd /usr/ports/ftp/php52-curl
# make install clean