KirMol Wiki

Добро пожаловать в KirMol Wiki

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

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


linux:debian:dokuwiki

Различия

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

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

linux:debian:dokuwiki [2026/10/03 10:49] – создано Кирилл Молчановlinux:debian:dokuwiki [2026/10/03 10:49] (текущий) – внешнее изменение (Дата неизвестна) 127.0.0.1
Строка 1: Строка 1:
 +====== Установка DokuWiki ======
  
 +{{:linux:debian:dokuwiki-logo.png?128|}}
 +
 +===== Установка Веб-сервер Apache =====
 +
 +Устанавливаем Apache:
 +<code bash>
 +sudo apt install apache2
 +</code>
 +
 +Добавляем Apache в автозагрузку:
 +<code bash>
 +sudo systemctl enable apache2
 +</code>
 +
 +Запускаем Apache:
 +<code bash>
 +sudo systemctl start apache2
 +</code>
 +
 +Смотрим статус:
 +<code bash>
 +sudo systemctl status apache2
 +</code>
 +
 +===== Установка PHP Для DokuWiki из Официального репозитория Debian =====
 +
 +Устанавливаем PHP для DokuWiki:
 +<code bash>
 +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
 +</code>
 +
 +===== Настройка Apache =====
 +
 +Установите права доступа на каталог **www**:
 +<code bash>
 +sudo chmod -R 775 /var/www
 +</code>
 +
 +<code bash>
 +sudo chown -R $USER:$USER /var/www
 +</code>
 +
 +Добавляем нашего пользователя в группу **www-data**:
 +<code bash>
 +sudo usermod -aG www-data $USER
 +</code>
 +
 +Добавляем пользователя **www-data** в группу нашего пользователя:
 +<code bash>
 +sudo usermod -aG $USER www-data
 +</code>
 +
 +===== Создаём новый виртуальный хост =====
 +
 +Сначала отключим хост по умолчанию:
 +<code bash>
 +sudo a2dissite 000-default
 +</code>
 +
 +Переходим в каталог /var/www:
 +<code bash>
 +cd /var/www
 +</code>
 +
 +Создаём новую каталог:
 +<code bash>
 +mkdir dokuwiki
 +</code>
 +Переходи в созданный каталог:
 +<code bash>
 +cd dokuwiki
 +</code>
 +
 +Скачиваем DokuWiki:
 +
 +[[https://download.dokuwiki.org/|Скачать DokuWiki]]
 +
 +<code bash>
 +wget https://download.dokuwiki.org/out/dokuwiki-5805c5df42aef176c25c9f5ebfa018f5.tgz
 +</code>
 +
 +Распаковываем архив с **DokuWiki**:
 +<code bash>
 +tar xvzf dokuwiki-5805c5df42aef176c25c9f5ebfa018f5.tgz
 +</code>
 +
 +Удаляем скаченный архив dokuwiki.tgz, он нам больше не понадобиться:
 +<code bash>
 +rm dokuwiki-5805c5df42aef176c25c9f5ebfa018f5.tgz
 +</code>
 +
 +Переименовываем каталог **dokuwiki** в **public_html**:
 +<code bash>
 +mv dokuwiki public_html
 +</code>
 +
 +Меняем владельца на **www-data**:
 +<code bash>
 +sudo chown -R www-data:www-data public_html
 +</code>
 +
 +Даём права на каталоги и файлы:
 +<code bash>
 +cd /var/www/dokuwiki/public_html
 +</code>
 +
 +<code bash>
 +sudo find . -type f -exec chmod 644 {} +
 +</code>
 +
 +<code bash>
 +sudo find . -type d -exec chmod 775 {} +
 +</code>
 +
 +Создаём конфигурационный файл нового хоста:
 +<code bash>
 +sudo nano /etc/apache2/sites-available/dokuwiki.conf
 +</code>
 +
 +Приводим конфиг к следующему виду:
 +<code apache>
 +<VirtualHost *:80>
 +ServerName wiki.kirmolpc.ru
 +ServerAlias www.wiki.kirmolpc.ru
 +ServerAdmin admin@localhost
 +DocumentRoot /var/www/dokuwiki/public_html
 +<Directory /var/www/dokuwiki/public_html>
 +AllowOverride All
 +Require all granted
 +RewriteCond %{REQUEST_URI} !^/server-status$
 +#Redirect permanent / https://wiki.kirmolpc.ru/
 +</Directory>
 +ErrorLog ${APACHE_LOG_DIR}/error.log
 +CustomLog ${APACHE_LOG_DIR}/access.log combined
 +</VirtualHost>
 +</code>
 +
 +Сохраняем файл **Ctrl+O** \\
 +Выход из редактора **Ctrl+X**
 +
 +Включаем хост следующей командой:
 +<code bash>
 +sudo a2ensite dokuwiki
 +</code>
 +
 +Активируем дополнительный модули Apache:
 +<code bash>
 +sudo a2enmod rewrite
 +</code>
 +
 +Перезагружаем Apache:
 +<code bash>
 +sudo systemctl restart apache2
 +</code>
 +
 +Выключить хост, можно следующей командой:
 +<code bash>
 +sudo a2dissite dokuwiki
 +</code>
 +
 +<code bash>
 +sudo a2dissite dokuwiki-le-ssl
 +</code>
 +
 +<code bash>
 +sudo systemctl restart apache2
 +</code>
 +
 +===== Установка Certbot SSL-сертификата =====
 +
 +Устанавливаем Certbot:
 +<code bash>
 +sudo apt install certbot python3-certbot-apache
 +</code>
 +
 +Устанавливаем SSL-на наш домен:
 +<code bash>
 +sudo certbot --apache
 +</code>
 +
 +Отредактируем файл конфигурации ssl:
 +<code bash>
 +sudo nano /etc/apache2/sites-available/dokuwiki-le-ssl.conf
 +</code>
 +
 +Закомментируем или удаляем строчку, иначе, будет циклическое перенаправление на странице:
 +<code apache>
 +#Redirect permanent / https://wiki.kirmol.ru/
 +</code>
 +
 +Перезапускаем Apache:
 +<code bash>
 +sudo systemctl restart apache2
 +</code>
 +
 +Переходим по нашему домену, и завершаем настройку DokuWiki:
 +[[https://wiki.kirmolpc.ru/|DokuWiki]]
 +
 +===== Убираем ссылки на сторонние ресурсы =====
 +
 +Переходим в каталог с нашей DokuWiki:
 +<code bash>
 +cd /var/www/dokuwiki/public_html
 +</code>
 +
 +Редактируем файл по следующиму пути **lib/tpl/dokuwiki/tpl_footer.php**
 +<code bash>
 +sudo nano lib/tpl/dokuwiki/tpl_footer.php
 +</code>
 +
 +Находим следующий блок кода и комментируем <!-- --> его. Или удаляем.
 +<code php>
 +    <div class="buttons">
 +        <?php
 +            tpl_license('button', true, false, false); // license button, no wrapper
 +            $target = ($conf['target']['extern']) ? 'target="'.$conf['target']['extern'].'"' : '';
 +        ?>
 +        <a href="https://www.dokuwiki.org/donate" title="Donate" <?php echo $target?>><img
 +            src="<?php echo tpl_basedir(); ?>images/button-donate.gif" width="80" height="15" alt="Donate" /></a>
 +        <a href="https://php.net" title="Powered by PHP" <?php echo $target?>><img
 +            src="<?php echo tpl_basedir(); ?>images/button-php.gif" width="80" height="15" alt="Powered by PHP" /></a>
 +        <a href="//validator.w3.org/check/referer" title="Valid HTML5" <?php echo $target?>><img
 +            src="<?php echo tpl_basedir(); ?>images/button-html5.png" width="80" height="15" alt="Valid HTML5" /></a>
 +        <a href="//jigsaw.w3.org/css-validator/check/referer?profile=css3" title="Valid CSS" <?php echo $target?>><img
 +            src="<?php echo tpl_basedir(); ?>images/button-css.png" width="80" height="15" alt="Valid CSS" /></a>
 +        <a href="https://dokuwiki.org/" title="Driven by DokuWiki" <?php echo $target?>><img
 +            src="<?php echo tpl_basedir(); ?>images/button-dw.png" width="80" height="15"
 +            alt="Driven by DokuWiki" /></a>
 +    </div>
 +</code>
 +
 +Сохраняем файл **Ctrl+O** \\
 +Выход из редактора **Ctrl+X**
 +
 +===== Подключение Яндекс Метрики =====
 +
 +Переходим в каталог с нашей DokuWiki по пути **lib/tpl/dokuwiki**:
 +<code bash>
 +cd /var/www/dokuwiki/public_html/lib/tpl/dokuwiki
 +</code>
 +
 +Создаём файл с именем **footer.html**:
 +<code bash>
 +sudo nano footer.html
 +</code>
 +
 +В файл **footer.html** вставляем код Яндекс Метрики:
 +<code bash>
 +Код Яндекс Метрики
 +</code>
 +
 +Сохраняем файл.
 +
 +Меняем владельца и группу файла на **www-data**:
 +<code bash>
 +sudo chown www-data:www-data footer.html
 +</code>
 +
 +Готово.
 +
 +===== Красивые ссылки =====
 +
 +Переходим в каталог с нашей DokuWiki:
 +<code bash>
 +cd /var/www/dokuwiki/public_html
 +</code>
 +
 +Редактируем **conf/local.php**
 +<code bash>
 +sudo nano conf/local.php
 +</code>
 +
 +Добавляем следующию строку:
 +<code php>
 +$conf['userewrite'] = 1;
 +</code>
 +
 +Переименовываем файл .**htaccess.dist** в **.htaccess**:
 +<code bash>
 +mv .htaccess.dist .htaccess
 +</code>
 +
 +Открываем файл **.htaccess**:
 +<code bash>
 +sudo nano .htaccess
 +</code>
 +
 +Раскомментируем следующие строки:
 +<code>
 +## 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 /
 +#
 +</code>
 +
 +Сохраняем файл **Ctrl+O** \\
 +Выход из редактора **Ctrl+X**
 +
 +Добавляем в конфигурационный файл Apache следующию строку:
 +<code bash>
 +sudo nano /etc/apache2/sites-available/dokuwiki.conf
 +</code>
 +
 +<code bash>
 +sudo nano /etc/apache2/sites-available/dokuwiki-le-ssl.conf
 +</code>
 +
 +Если эту строку не добавить, будет ошибка 404
 +
 +<code apache>
 +RewriteCond %{REQUEST_URI} !^/server-status$
 +</code>
 +
 +Сохраняем файл **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:
 +<code bash>
 +cd /var/www/dokuwiki/public_html
 +</code>
 +
 +Чтобы Яндекс Вебмастер корректно увидел sitemap.xml. Добавляем директивы Host и Sitemap в файл robots.txt.
 +
 +Создаём файл **robots.txt**:
 +<code bash>
 +sudo nano robots.txt
 +</code>
 +
 +Вставляем в него следующие строки:
 +<code>
 +User-agent: *
 +Disallow: /bin/
 +Disallow: /conf/
 +Disallow: /inc/
 +Disallow: /lib/
 +Disallow: /vendor/
 +
 +Host: wiki.kirmolpc.ru
 +Sitemap: https://wiki.kirmolpc.ru/sitemap.xml.gz
 +</code>
 +
 +Открываем файл .htaccess:
 +<code bash>
 +sudo nano .htaccess
 +</code>
 +
 +Добавляем строку для Apache:
 +<code htaccess>
 +RewriteRule ^sitemap\.xml\.gz$        doku.php?do=sitemap [L]
 +</code>
 +
 +Сохраняем файл **Ctrl+O** \\
 +Выход из редактора **Ctrl+X**
 +
 +Готово.