Вики IT-KB

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

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

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


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

Различия

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

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

Следующая версия
Предыдущая версия
unix-linux:ubuntu:ubuntu-14-04-lts-trusty-tahr:how-to-install-lemp-web-server-on-ubuntu-14-04:move-dokuwiki-site-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-dokuwiki-site-to-new-hosting [29.03.2016 21:23] (текущий) – [Настройка веб-сервера на базе стека LEMP в Ubuntu Server 14.04 LTS. Часть 8. Перенос с другого хостинга сайта DokuWiki] Алексей Максимов
Строка 1: Строка 1:
-===== Настройка веб-сервера на базе стека LEMP в Ubuntu Server 14.04 LTS. Часть 8. Перенос с другого хостинга сайта DokuWiki =====+===== Настройка веб-сервера на базе стека 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**:
 +
 +<code>sudo nano /etc/nginx/sites-available/wiki.mydomain.ru</code>
 +
 +Пример настроенного конфигурационного файла виртуального хоста для **DokuWiki**:
 +
 +<file php /etc/nginx/sites-available/wiki.mydomain.ru>
 +
 +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;
 +  }
 +}
 +</file>
 +
 +После изменения конфигурации виртуального хоста перезапустим **nginx**:
 +
 +<code>sudo service nginx restart</code>
 +
 +\\
 +==== Копирование файлов 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**, переходим в этот каталог и выполняем распаковку архива с последующим его удалением.
 +
 +<code>
 +sudo cp ~/wiki-backup.tgz /var/www/html/wiki/
 +cd /var/www/html/wiki/
 +tar xzf wiki-backup.tgz
 +sudo rm wiki-backup.tgz
 +</code>
 +
 +
 +\\
 +==== Настройка прав доступа к файлам 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|задали ранее]]):
 +
 +<code>sudo find /var/www/html/wiki/ -exec sudo chown -R www-pool-wiki {} \;</code>
 +
 +Такая конструкция изменения атрибутов файлов используется не просто. 
 +Она позволяет установить нужные атрибуты на все файлы, в том числе и скрытые, типа **.htaccess**
 +
 +За счёт вызова **sudo** для каждого файла/каталога выполнение команды может занять продолжительное время. 
 +
 +По аналогии назначим для всех файлов основную группу пользователя, от имени которого работает пул **php-fpm**:
 +
 +<code>sudo find /var/www/html/wiki/ -exec sudo chgrp -R www-pool-wiki {} \;</code>
 +
 +Рекурсивно установим права на все файлы и каталоги сайта c правом для записи только для владельца (пользователя, от имени которого работает пул **php-fpm**):
 +
 +<code>
 +sudo find /var/www/html/wiki/ -type d -exec sudo chmod 0755 {} \;
 +sudo find /var/www/html/wiki/ -type f -exec sudo chmod 0644 {} \;
 +</code>
 +
 +На этом всё.\\ 
 +Осталось только проверить работу сайта через веб-браузер.
 +
 +\\
 +==== Дополнительные источники информации ====
 +
 +  * [[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~~
unix-linux/ubuntu/ubuntu-14-04-lts-trusty-tahr/how-to-install-lemp-web-server-on-ubuntu-14-04/move-dokuwiki-site-to-new-hosting.1459022930.txt.gz · Последнее изменение: 26.03.2016 23:08 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki