====== Установка 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 Находим следующий блок кода и комментируем его. Или удаляем.
>Donate >Powered by PHP >Valid HTML5 >Valid CSS >Driven by DokuWiki
Сохраняем файл **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** Готово.