====== Установка DokuWiki ======
{{:linux:debian:dokuwiki-logo.png?128|}}
===== Установка Веб-сервер Apache =====
Устанавливаем Apache:
sudo apt install apache2
Добавляем Apache в автозагрузку:
sudo systemctl enable apache2
Запускаем Apache:
sudo systemctl start apache2
Смотрим статус:
sudo systemctl status apache2
===== Установка PHP Для DokuWiki из Официального репозитория Debian =====
Устанавливаем PHP для DokuWiki:
sudo apt install php php-common php-bz2 php-gd php-intl php-ldap php-mbstring php-json php-xml libapache2-mod-php
sudo apt install php-opcache php-openssl php-pdo-sqlite
===== Настройка Apache =====
Установите права доступа на каталог **www**:
sudo chmod -R 775 /var/www
sudo chown -R $USER:$USER /var/www
Добавляем нашего пользователя в группу **www-data**:
sudo usermod -aG www-data $USER
Добавляем пользователя **www-data** в группу нашего пользователя:
sudo usermod -aG $USER www-data
===== Создаём новый виртуальный хост =====
Сначала отключим хост по умолчанию:
sudo a2dissite 000-default
Переходим в каталог /var/www:
cd /var/www
Создаём новую каталог:
mkdir dokuwiki
Переходи в созданный каталог:
cd dokuwiki
Скачиваем DokuWiki:
[[https://download.dokuwiki.org/|Скачать DokuWiki]]
wget https://download.dokuwiki.org/out/dokuwiki-b49591c91b93de5cb93c40e8ebac1621.tgz
Распаковываем архив с **DokuWiki**:
tar xvzf dokuwiki-b49591c91b93de5cb93c40e8ebac1621.tgz
Удаляем скаченный архив dokuwiki.tgz, он нам больше не понадобиться:
rm dokuwiki-b49591c91b93de5cb93c40e8ebac1621.tgz
Переименовываем каталог **dokuwiki** в **public_html**:
mv dokuwiki public_html
Меняем владельца на **www-data**:
sudo chown -R www-data:www-data public_html
Даём права на каталоги и файлы:
cd /var/www/dokuwiki/public_html
sudo find . -type f -exec chmod 644 {} +
sudo find . -type d -exec chmod 775 {} +
Создаём конфигурационный файл нового хоста:
sudo nano /etc/apache2/sites-available/dokuwiki.conf
Приводим конфиг к следующему виду:
ServerName wiki.kirmolpc.ru
ServerAlias www.wiki.kirmolpc.ru
ServerAdmin admin@localhost
DocumentRoot /var/www/dokuwiki/public_html
AllowOverride All
Require all granted
RewriteCond %{REQUEST_URI} !^/server-status$
#Redirect permanent / https://wiki.kirmolpc.ru/
ErrorLog /var/www/dokuwiki/error.log
CustomLog /var/www/dokuwiki/access.log combined
Сохраняем файл **Ctrl+O** \\
Выход из редактора **Ctrl+X**
Включаем хост следующей командой:
sudo a2ensite dokuwiki
Активируем дополнительный модули Apache:
sudo a2enmod rewrite
Перезагружаем Apache:
sudo systemctl restart apache2
Выключить хост, можно следующей командой:
sudo a2dissite dokuwiki
sudo a2dissite dokuwiki-le-ssl
sudo systemctl restart apache2
===== Установка Certbot SSL-сертификата =====
Устанавливаем Certbot:
sudo apt install certbot python3-certbot-apache
Устанавливаем SSL-на наш домен:
sudo certbot --apache
Отредактируем файл конфигурации ssl:
sudo nano /etc/apache2/sites-available/dokuwiki-le-ssl.conf
Закомментируем или удаляем строчку, иначе, будет циклическое перенаправление на странице:
#Redirect permanent / https://wiki.kirmol.ru/
Перезапускаем Apache:
sudo systemctl restart apache2
Переходим по нашему домену, и завершаем настройку DokuWiki:
[[https://wiki.kirmolpc.ru/|DokuWiki]]
===== Убираем ссылки на сторонние ресурсы =====
Переходим в каталог с нашей DokuWiki:
cd /var/www/dokuwiki/public_html
Редактируем файл по следующиму пути **lib/tpl/dokuwiki/tpl_footer.php**
sudo nano lib/tpl/dokuwiki/tpl_footer.php
Находим следующий блок кода и комментируем его. Или удаляем.
Сохраняем файл **Ctrl+O** \\
Выход из редактора **Ctrl+X**
===== Подключение Яндекс Метрики =====
Переходим в каталог с нашей DokuWiki по пути **lib/tpl/dokuwiki**:
cd /var/www/dokuwiki/public_html/lib/tpl/dokuwiki
Создаём файл с именем **footer.html**:
sudo nano footer.html
В файл **footer.html** вставляем код Яндекс Метрики:
Код Яндекс Метрики
Сохраняем файл.
Меняем владельца и группу файла на **www-data**:
sudo chown www-data:www-data footer.html
Готово.
===== Красивые ссылки =====
Переходим в каталог с нашей DokuWiki:
cd /var/www/dokuwiki/public_html
Редактируем **conf/.htaccess**:
sudo nano conf/.htaccess
или
sudo nano conf/local.php
Добавляем следующию строку:
$conf['userewrite'] = 1;
Переименовываем файл .htaccess.dist в .htaccess:
mv .htaccess.dist .htaccess
Открываем файл .htaccess:
sudo nano .htaccess
Раскомментируем следующие строки:
## Uncomment these rules if you want to have nice URLs using
## $conf['userewrite'] = 1 - not needed for rewrite mode 2
RewriteEngine on
#
RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L,B]
RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L,B]
RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L,B]
RewriteRule ^$ doku.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) doku.php?id=$1 [QSA,L,B]
RewriteRule ^index.php$ doku.php
#
## Not all installations will require the following line. If you do,
## change "/dokuwiki" to the path to your dokuwiki directory relative
## to your document root.
RewriteBase /
#
Сохраняем файл **Ctrl+O** \\
Выход из редактора **Ctrl+X**
Добавляем в конфигурационный файл Apache следующию строку:
sudo nano /etc/apache2/sites-available/dokuwiki.conf
sudo nano /etc/apache2/sites-available/dokuwiki-le-ssl.conf
Если эту строку не добавить, будет ошибка 404
RewriteCond %{REQUEST_URI} !^/server-status$
Сохраняем файл **Ctrl+O** \\
Выход из редактора **Ctrl+X**
===== Карта сайта Sitemap.xml =====
Карта сайта (sitemaps) создаётся, если включена опция «sitemap» в панели управления DokuWiki.
По умолчанию, значении стоит 0 (Выключено), чтобы включить sitemap поставьте значение, например 5, то есть данные в sitemap.xml будут обновляться один раз в 2 дня.
Файл карты сайта находится в каталоге «**data/cache**» с вашей установленной «ДокуВики» и доступен по ссылке: \\
https://your_domain/dokuwiki/?do=sitemap.
Карта сайта будет содержать только ссылки на страницы, которые доступны без авторизации на сайте.
Чтобы карта сайта была пересоздана, попробуйте временно установить для опции «sitemap» большое отрицательное значение.
Переходим в каталог с нашей DokuWiki:
cd /var/www/dokuwiki/public_html
Чтобы Яндекс Вебмастер корректно увидел sitemap.xml. Добавляем директивы Host и Sitemap в файл robots.txt.
Создаём файл **robots.txt**:
sudo nano robots.txt
Вставляем в него следующие строки:
User-agent: *
Disallow: /bin/
Disallow: /conf/
Disallow: /inc/
Disallow: /lib/
Disallow: /vendor/
Host: wiki.kirmolpc.ru
Sitemap: https://wiki.kirmolpc.ru/sitemap.xml.gz
Открываем файл .htaccess:
sudo nano .htaccess
Добавляем строку для Apache:
RewriteRule ^sitemap\.xml\.gz$ doku.php?do=sitemap [L]
Сохраняем файл **Ctrl+O** \\
Выход из редактора **Ctrl+X**
Готово.