Система 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