Вики IT-KB

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

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

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


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

Различия

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

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

Следующая версия
Предыдущая версия
unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:move-wordpress-site-and-database-to-new-hosting [26.03.2016 23:08] – создано Алексей Максимовunix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:move-wordpress-site-and-database-to-new-hosting [29.03.2016 21:24] (текущий) – [Настройка прав доступа к файлам Wordpress] Алексей Максимов
Строка 1: Строка 1:
-===== Настройка веб-сервера на базе стека LEMP в Ubuntu Server 14.04 LTS. Часть 7. Перенос с другого хостинга сайта Wordpress =====+===== Настройка веб-сервера на базе стека LEMP в Ubuntu Server 14.04 LTS. Часть 8. Перенос с другого хостинга сайта Wordpress ===== 
 + 
 +В этой части мы рассмотрим порядок переноса со старого хостинга на наш [[:unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04|веб-сервер на стеке LEMP]] сайта на движке [[:wordpress|Wordpress]]. Так как этот сайт потребует для своей работы базу данных [[: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 'blog-usr' -p'MySQLdbBlogPaSSw0rD' 'blog-db' < ~/blogdb.sql</code> 
 + 
 +Как наверное понятно, мы выполняем восстановление базы данных не от имени mysql-пользователя **root**, а от имени mysql-пользователя, которому мы ранее дали права к этой БД, так как его прав для этой операции вполне достаточно. 
 + 
 +\\ 
 +==== Настройка виртуального хоста Nginx ==== 
 +  
 +Прежде чем, копировать со старого хостинга файлы сайта **Wordpress**, выполним настроку виртального хоста **nginx** таким образом, чтобы сузить права доступа к некоторым файлам, специфичным для **Wordpress**: 
 + 
 +<code>sudo nano /etc/nginx/sites-available/blog.mydomain.ru</code> 
 + 
 +Пример настроенного конфигурационного файла виртуального хоста для **Wordpress**: 
 + 
 +<file php /etc/nginx/sites-available/blog.mydomain.ru> 
 +server { 
 +        listen 80; 
 +        server_name blog.mydomain.ru; 
 +        root /var/www/html/blog; 
 +        index index.php; 
 +        access_log /var/log/nginx/access.blog.mydomain.ru.log; 
 +        error_log /var/log/nginx/error.blog.mydomain.ru.log; 
 +        gzip on; 
 +        gzip_disable "msie6"; 
 +        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; 
 + 
 +        location ~ /(\.|wp-config\.php|readme\.html|license\.txt) { deny all; } 
 + 
 +        location ~* /(?:uploads|files)/.*\.php$ { deny all; } 
 + 
 +        location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { 
 +                access_log off; 
 +                log_not_found off; 
 +                expires max; 
 +        } 
 + 
 +        location / { 
 +                try_files $uri $uri/ /index.php?$args; 
 +        } 
 + 
 +        location ~ \.php$ { 
 +                try_files $uri =404; 
 +                fastcgi_split_path_info ^(.+\.php)(/.+)$; 
 +                fastcgi_pass unix:/var/run/php5-fpm-blog.sock; 
 +                fastcgi_index index.php; 
 +                include fastcgi_params; 
 +        } 
 +
 +</file> 
 + 
 +После изменения конфигурации виртуального хоста перезапустим **nginx**: 
 + 
 +<code>sudo service nginx restart</code> 
 + 
 + 
 +\\ 
 +==== Копирование файлов Wordpress на веб-сервер ==== 
 + 
 +C помощью утилиты **scp** копируем со старого хостинга каталог с архивом сайта **Wordpress** в домашний каталог текущего пользователя на нашем веб-сервере.  
 +Затем копируем архив в [[: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 ~/blog-backup.tgz /var/www/html/blog/ 
 +cd /var/www/html/blog/ 
 +tar xzf blog-backup.tgz 
 +sudo rm blog-backup.tgz 
 +</code> 
 + 
 + 
 +\\ 
 +==== Настройка прав доступа к файлам Wordpress ==== 
 + 
 +Теперь нам необходимо настроить разрешения на доступ к файлам **Wordpress** на уровне файловой системы. 
 + 
 +Установим рекурсивно в качестве владельца для всех файлов и каталогов сайта **Wordpress** пользователя, от имени которого работает пул **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/blog/ -exec sudo chown -R www-pool-blog {} \;</code> 
 + 
 +Такая конструкция изменения атрибутов файлов используется не просто.  
 +Она позволяет установить нужные атрибуты на все файлы, в том числе и скрытые, типа **.htaccess** 
 + 
 +За счёт вызова **sudo** для каждого файла/каталога выполнение команды может занять продолжительное время.  
 + 
 +По аналогии назначим для всех файлов основную группу пользователя, от имени которого работает пул **php-fpm**: 
 + 
 +<code>sudo find /var/www/html/blog/ -exec sudo chgrp -R www-pool-blog {} \;</code> 
 + 
 +Рекурсивно установим права на все файлы и каталоги сайта c правом для записи только для владельца (пользователя, от имени которого работает пул **php-fpm**): 
 + 
 +<code> 
 +sudo find /var/www/html/blog/ -type d -exec sudo chmod 0755 {} \; 
 +sudo find /var/www/html/blog/ -type f -exec sudo chmod 0644 {} \; 
 +sudo chmod 0600 /var/www/html/blog/wp-config.php 
 +</code> 
 + 
 +\\ 
 +==== Подключение скриптов Wordpress к БД MySQL ==== 
 + 
 +Завершающим действием будет настройка одного из конфигурационных скриптов **Wordpress** (**wp-config.php**) для возможности подключения к ранее восстановленной базе данных [[:mysql|MySQL]]: 
 + 
 +<code>sudo nano /var/www/html/blog/wp-config.php</code> 
 + 
 +Изменим в файле значения переменных **DB_NAME**,**DB_USER**,**DB_PASSWORD** и **DB_HOSТ**: 
 + 
 +<file php wp-config.php> 
 + 
 +define('DB_NAME', 'blog-db'); 
 +define('DB_USER', 'blog-usr'); 
 +define('DB_PASSWORD', 'MySQLdbBlogPaSSw0rD'); 
 +define('DB_HOST', 'localhost:'); 
 + 
 +</file> 
 + 
 +На этом всё.\\ 
 +Осталось только проверить работу сайта через веб-браузер.  
 + 
 +\\ 
 +==== Дополнительные источники информации ==== 
 + 
 +  * [[https://codex.wordpress.org/Nginx|Wordpress.org - Nginx]] 
 +  * [[https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/|Nginx.com - Wordpress]] 
 +  * [[https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-nginx-on-ubuntu-14-04|DigitalOcean - How To Install WordPress with Nginx on Ubuntu 14.04]] 
 + 
 +---- 
 + 
 +{{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 29.03.2016 12:07 
 + 
 +{{tag>Linux Ubuntu "Ubuntu 14.04" "14.04 LTS" "Ubuntu Server" "web server" LEMP MySQL Nginx "virtual host" vhost PHP PHP-FPM Wordpress}} 
 + 
 +~~DISCUSSION~~
  
unix-linux/ubuntu/ubuntu-14-04-lts-trusty-tahr/how-to-install-lemp-web-server-on-ubuntu-14-04/move-wordpress-site-and-database-to-new-hosting.1459022888.txt.gz · Последнее изменение: 26.03.2016 23:08 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki