===== Настройка веб-сервера на базе стека LEMP в Ubuntu Server 14.04 LTS. Часть 7. Перенос с другого хостинга сайта DokuWiki ===== В предыдущих частях [[:unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04|цикла инструкций]] мы произвели базовую настройку веб-сервера [[: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]] и настроили его взаимодействие с [[: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|PHP-FPM]]. Настало время переноса наших сайтов со старого хостинга на подготовленную серверную площадку. Начнём мы, пожалуй, с переноса вики-сайта на движке [[:dokuwiki|DokuWiki]], так как он по своей архитектуре является самым простым и не требует достпа к базе данных [[:mysql|MySQL]]. ==== Настройка виртуального хоста Nginx ==== Прежде чем, копировать со старого хостинга файлы сайта **DokuWiki**, выполним настроку виртального хоста **nginx** таким образом, чтобы сузить права доступа к некоторым файлам, специфичным для **DokuWiki**: sudo nano /etc/nginx/sites-available/wiki.mydomain.ru Пример настроенного конфигурационного файла виртуального хоста для **DokuWiki**: server { server_name wiki.mydomain.ru; listen 80; autoindex off; client_max_body_size 15M; client_body_buffer_size 128k; index doku.php; access_log /var/log/nginx/access.wiki.mydomain.ru.log; error_log /var/log/nginx/error.wiki.mydomain.ru.log; root /var/www/html/wiki; location / { try_files $uri $uri/ @dokuwiki; } location ~ ^/lib.*\.(gif|png|ico|jpg)$ { expires 30d; } location = /robots.txt { access_log off; log_not_found off; } location = /favicon.ico { access_log off; log_not_found off; } location ~ /\. { access_log off; log_not_found off; deny all; } location ~ ~$ { access_log off; log_not_found off; deny all; } location @dokuwiki { rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; rewrite ^/(.*) /doku.php?id=$1 last; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm-wiki.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } location ~ /(data|conf|bin|inc)/ { deny all; } } После изменения конфигурации виртуального хоста перезапустим **nginx**: sudo service nginx restart \\ ==== Копирование файлов DokuWiki на веб-сервер ==== C помощью утилиты **scp** копируем со старого хостинга каталог с архивом сайта **DokuWiki** в домашний каталог текущего пользователя на нашем веб-сервере. Затем копируем архив в [[: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**, переходим в этот каталог и выполняем распаковку архива с последующим его удалением. sudo cp ~/wiki-backup.tgz /var/www/html/wiki/ cd /var/www/html/wiki/ tar xzf wiki-backup.tgz sudo rm wiki-backup.tgz \\ ==== Настройка прав доступа к файлам DokuWiki ==== Теперь нам необходимо настроить разрешения на доступ к файлам **DokuWiki** на уровне файловой системы. Общую информацию о настройке разрешений можно найти в документе [[https://www.dokuwiki.org/install:permissions|DokuWiki.org - Setting up file permissions]] Установим рекурсивно в качестве владельца для всех файлов и каталогов вики-сайта пользователя, от имени которого работает пул **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|задали ранее]]): sudo find /var/www/html/wiki/ -exec sudo chown -R www-pool-wiki {} \; Такая конструкция изменения атрибутов файлов используется не просто. Она позволяет установить нужные атрибуты на все файлы, в том числе и скрытые, типа **.htaccess** За счёт вызова **sudo** для каждого файла/каталога выполнение команды может занять продолжительное время. По аналогии назначим для всех файлов основную группу пользователя, от имени которого работает пул **php-fpm**: sudo find /var/www/html/wiki/ -exec sudo chgrp -R www-pool-wiki {} \; Рекурсивно установим права на все файлы и каталоги сайта c правом для записи только для владельца (пользователя, от имени которого работает пул **php-fpm**): sudo find /var/www/html/wiki/ -type d -exec sudo chmod 0755 {} \; sudo find /var/www/html/wiki/ -type f -exec sudo chmod 0644 {} \; На этом всё.\\ Осталось только проверить работу сайта через веб-браузер. \\ ==== Дополнительные источники информации ==== * [[https://www.dokuwiki.org/install:nginx|DokuWiki.org - DokuWiki with nginx on Ubuntu Linux 12.04 and newer]] * [[https://www.dokuwiki.org/security|DokuWiki.org - Security]] * [[https://www.nginx.com/resources/wiki/start/topics/recipes/dokuwiki/|Nginx.com - Dokuwiki]] ---- {{: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 Nginx "virtual host" vhost PHP-FPM DokuWiki}} ~~DISCUSSION~~