Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:move-phpbb-site-to-new-hosting

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:move-phpbb-site-to-new-hosting [26.03.2016 23:09] – создано Алексей Максимовunix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:move-phpbb-site-to-new-hosting [29.03.2016 21:22] (текущий) Алексей Максимов
Строка 1: Строка 1:
 ===== Настройка веб-сервера на базе стека LEMP в Ubuntu Server 14.04 LTS. Часть 9. Перенос с другого хостинга сайта phpBB ===== ===== Настройка веб-сервера на базе стека LEMP в Ubuntu Server 14.04 LTS. Часть 9. Перенос с другого хостинга сайта phpBB =====
 +
 +В этой части мы рассмотрим порядок переноса со старого хостинга на наш [[:unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04|веб-сервер на стеке LEMP]] сайта на движке [[:phpbb|phpBB]]. Так как этот сайт потребует для своей работы базу данных [[:mysql|MySQL]], первым делом выполним восстановление данных в [[:unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:setup-mysql-for-wordpress-and-phpbb|ранее созданную]] пустую БД из файла дампа (*.sql) сделанного на старом хостинге. 
 +
 +\\
 +==== Восстановление базы данных MySQL =====
 +
 +Произведём восстановление резервной копии (дамп БД в виде sql-файла) в существующую пустую БД командой вида:
 + 
 +<code>mysql -u 'forum-usr' -p'MySQLdbForumPaSSw0rD' 'forum-db' < ~/forumdb.sql</code>
 +
 +Как наверное понятно, мы выполняем восстановление базы данных не от имени mysql-пользователя **root**, а от имени mysql-пользователя, которому мы ранее дали права к этой БД, так как его прав для этой операции вполне достаточно.
 +
 +\\
 +==== Настройка виртуального хоста Nginx ====
 + 
 +Прежде чем, копировать со старого хостинга файлы сайта **phpBB**, выполним настроку виртального хоста **nginx** таким образом, чтобы сузить права доступа к некоторым файлам, специфичным для **phpBB**:
 +
 +<code>sudo nano /etc/nginx/sites-available/forum.mydomain.ru</code>
 +
 +Какиой бы не была сделана конфигурация виртуального хоста, необходимо позаботиться о закрытии прямого доступа с помощью параметров в секциях **location {}** к каталогам **cache/**, **files/**, **store/** и файлам **.htaccess**, **config.php**
 +
 +<WRAP center tip>
 +Пример конфигурационного файла виртуального хоста **nginx** можно найти в каталоге с файлами **phpBB** - **docs/nginx.sample.conf**
 +</WRAP>
 + 
 +
 +Приведу пример настроенного конфигурационного файла виртуального хоста для сайта форума **phpBB3** по условиям [[:unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04|нашего цикла инструкций]]:
 +
 +<file php /etc/nginx/sites-available/forum.mydomain.ru>
 +server {
 +        listen 80;
 +        server_name forum.mydomain.ru;
 +        root /var/www/html/forum;
 +        index index.php index.html index.htm;
 +        access_log /var/log/nginx/access.forum.mydomain.ru.log;
 +        error_log /var/log/nginx/error.forum.mydomain.ru.log;
 +
 +        location ~ /(config\.php|common\.php|cache|files|images/avatars/upload|includes|store) {
 +                deny all;
 +                return 403;
 +        }
 +
 +        location ~ /\.svn|/\.git|/\.ht {
 +                deny all;
 +        }
 +
 +        location ~* \.(gif|jpe?g|png|css)$ {
 +                expires   30d;
 +        }
 +
 +        location / {
 +                if (!-e $request_filename) {
 +                rewrite ^(.*)$ /app.php;
 +                }
 +        }
 +
 +        location ~ \.php$ {
 +                try_files $uri $uri/ /app.php?$query_string;
 +                fastcgi_pass unix:/var/run/php5-fpm-forum.sock;
 +                fastcgi_index index.php;
 +                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 +                include fastcgi_params;
 +        }
 +
 +}
 +</file>
 +
 +После изменения конфигурации виртуального хоста перезапустим **nginx**:
 +
 +<code>sudo service nginx restart</code>
 +
 +
 +\\
 +==== Копирование файлов phpBB на веб-сервер ====
 +
 +C помощью утилиты **scp** копируем со старого хостинга каталог с архивом сайта **phpBB** в домашний каталог текущего пользователя на нашем веб-сервере. 
 +Затем копируем архив в [[:unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:setup-nginx-global-params-and-virtual-hosts-for-php-fpm|ранее поготовленную]] корневую папку виртуального хоста **nginx**, переходим в этот каталог и выполняем распаковку архива с последующим его обязательным удалением.
 +
 +<code>
 +sudo cp ~/forum-backup.tgz /var/www/html/forum/
 +cd /var/www/html/forum/
 +tar xzf forum-backup.tgz
 +sudo rm forum-backup.tgz
 +</code>
 +
 +
 +\\
 +==== Настройка прав доступа к файлам phpBB ====
 +
 +Теперь нам необходимо настроить разрешения на доступ к файлам **phpBB** на уровне файловой системы.
 +
 +Установим рекурсивно в качестве владельца для всех файлов и каталогов сайта **phpBB** пользователя, от имени которого работает пул **php-fpm**, обслуживающий виртуальный хост сайта (этого пользователя и соответсвующую ему групп мы [[:unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:setup-php5-and-php-fpm-for-nginx|задали ранее]]):
 +
 +
 +<code>sudo find /var/www/html/forum/ -exec sudo chown -R www-pool-forum {} \;</code>
 +
 +Такая конструкция изменения атрибутов файлов используется не просто. 
 +Она позволяет установить нужные атрибуты на все файлы, в том числе и скрытые, типа **.htaccess**
 +
 +За счёт вызова **sudo** для каждого файла/каталога выполнение команды может занять продолжительное время. 
 +
 +По аналогии назначим для всех файлов основную группу пользователя, от имени которого работает пул **php-fpm**:
 +
 +<code>sudo find /var/www/html/forum/ -exec sudo chgrp -R www-pool-forum {} \;</code>
 +
 +Рекурсивно установим права на все файлы и каталоги сайта c правом для записи только для владельца (пользователя, от имени которого работает пул **php-fpm**):
 +
 +<code>
 +sudo find /var/www/html/forum/ -type d -exec sudo chmod 0755 {} \;
 +sudo find /var/www/html/forum/ -type f -exec sudo chmod 0644 {} \;
 +</code>
 +
 +<WRAP center info>
 +В некоторых источниках можно встретить рекомендацию установки расширенных прав на некоторые каталоги **phpBB**, примерно таким образом:
 +<code>
 +cd /var/www/html/forum/
 +sudo chmod 777 store/ cache/ files/ images/avatars/upload
 +</code>
 +Однако практика использования описанной в [[:unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04|цикле инструкций]] конфигурации показывает, 
 +что такие права для штатной работы форума не нужны.
 +</WRAP>
 +
 +
 +
 +\\
 +==== Подключение скриптов phpBB к БД MySQL ====
 +
 +Следующим действием будет настройка одного из конфигурационных скриптов **phpBB** (**config.php**) для возможности подключения к ранее восстановленной базе данных [[:mysql|MySQL]]:
 +
 +<code>sudo nano /var/www/html/forum/config.php</code>
 +
 +Изменим в файле значения указанных ниже переменных:
 +
 +<file php config.php>
 +$dbms = 'mysql';
 +$dbhost = 'localhost';
 +$dbport = '';
 +$dbname = 'forum-db';
 +$dbuser = 'forum-usr';
 +$dbpasswd = 'MySQLdbForumPaSSw0rD';
 +</file>
 +
 +Сохраняем изменения в файле и проверяем работу сайта через веб-браузер. 
 +Если всё сделано правильно, но возникают ошибки исполнения php-скриптов, из которых понятно, что некоторые скрипты пытаются получить доступ к БД MySQL с параметрами старого хостинга, то возможно нам ещё потребуется выполнить [[:phpbb:forced-cleaning-purging-the-phpbb-cache-manually|форсированную очистку кэша phpBB]]
 +
 +\\
 +==== Дополнительные источники информации ====
 +
 +  * [[https://www.phpbb.com/community/docs/INSTALL.html|phpBB.com - phpBB 3.1.x Install]]
 +  * [[https://www.phpbb.com/support/docs/en/3.0/kb/article/phpbb3-chmod-permissions/|phpBB.com - phpBB3 Chmod Permissions]]
 +  * [[http://nginxlibrary.com/phpbb-configuration/|Nginx Library - Nginx configuration for phpBB]]
 +
 +
 +----
 +
 +{{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 29.03.2016 19:00
 +
 +{{tag>Linux Ubuntu "Ubuntu 14.04" "14.04 LTS" "Ubuntu Server" "web server" LEMP MySQL Nginx "virtual host" vhost PHP PHP-FPM phpBB phpBB3}}
 +
 +~~DISCUSSION~~
 +
  
unix-linux/ubuntu/ubuntu-14-04-lts-trusty-tahr/how-to-install-lemp-web-server-on-ubuntu-14-04/move-phpbb-site-to-new-hosting.1459022979.txt.gz · Последнее изменение: 26.03.2016 23:09 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki