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

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


linux:debian:dokuwiki

Различия

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

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

Следующая версия
Предыдущая версия
linux:debian:dokuwiki [2025/12/06 15:14] – создано Кириллlinux:debian:dokuwiki [2026/01/27 14:25] (текущий) Кирилл
Строка 1: Строка 1:
 +====== Установка DokuWiki ======
  
 +{{:linux:debian:dokuwiki-logo.png?256|}}
 +
 +----
 +
 +===== Базовая настройка сервера =====
 +
 +Подключаем к нашему серверу по SSH:
 +<code>
 +ssh root@<IP-адрес сервера>
 +</code>
 +
 +Меняем язык сервера на Русский:
 +<code>
 +dpkg-reconfigure locales
 +</code>
 +
 +===== Обновляем систему и устанавливаем базовый софт =====
 +
 +Обновляем список пакетов и обновляем систему:
 +<code>
 +apt update && apt upgrade
 +</code>
 +
 +Устанавливаем Базовый софт:
 +<code>
 +apt install apt-transport-https ca-certificates curl htop sudo zip unzip wget
 +</code>
 +
 +===== Создаём нового пользователя и добавляем его в группу Sudo =====
 +
 +Создаём пользователя:
 +<code>
 +adduser kirill
 +</code>
 +
 +Добавляем нашего пользователя в группу **sudo**:
 +<code>
 +usermod -aG sudo kirill
 +</code>
 +
 +Перезагружаем сервер:
 +<code>
 +reboot
 +</code>
 +
 +Снова подключаемся к нашему серверу по SSH, но только не под пользователем **Root**, а под пользователем, которого мы только что создали:
 +<code>
 +ssh kirill@<IP-адрес сервера>
 +</code>
 +
 +===== Установка Веб-сервер Apache =====
 +
 +Устанавливаем Apache:
 +<code>
 +sudo apt install apache2
 +</code>
 +
 +Добавляем Apache в автозагрузку:
 +<code>
 +sudo systemctl enable apache2
 +</code>
 +
 +Запускаем Apache:
 +<code>
 +sudo systemctl start apache2
 +</code>
 +
 +Смотрим статус:
 +<code>
 +sudo systemctl status apache2
 +</code>
 +
 +===== Установка PHP Для DokuWiki из Официального репозитория Debian =====
 +
 +Устанавливаем PHP для DokuWiki:
 +<code>
 +sudo apt install php php-common php-bz2 php-gd php-intl php-mbstring php-json php-xml libapache2-mod-php php-mysql
 +</code>
 +
 +===== Настройка Apache =====
 +
 +Установите права доступа на каталог **www**:
 +<code>
 +sudo chmod -R 775 /var/www
 +</code>
 +
 +<code>
 +sudo chown -R $USER:$USER /var/www
 +</code>
 +
 +Добавляем нашего пользователя в группу **www-data**:
 +<code>
 +sudo usermod -aG www-data $USER
 +</code>
 +
 +Добавляем пользователя **www-data** в группу нашего пользователя:
 +<code>
 +sudo usermod -aG $USER www-data
 +</code>
 +
 +===== Создаём новый виртуальный хост =====
 +
 +Сначала отключим хост по умолчанию:
 +<code>
 +sudo a2dissite 000-default
 +</code>
 +
 +Переходим в каталог /var/www:
 +<code>
 +cd /var/www
 +</code>
 +
 +Создаём новую каталог:
 +<code>
 +mkdir dokuwiki
 +</code>
 +Переходи в созданный каталог:
 +<code>
 +cd dokuwiki
 +</code>
 +
 +Скачиваем DokuWiki:
 +
 +[[https://download.dokuwiki.org/|Скачать DokuWiki]]
 +
 +<code>
 +wget https://download.dokuwiki.org/out/dokuwiki-b49591c91b93de5cb93c40e8ebac1621.tgz
 +</code>
 +
 +Распаковываем архив с **DokuWiki**:
 +<code>
 +tar xvzf dokuwiki-b49591c91b93de5cb93c40e8ebac1621.tgz
 +</code>
 +
 +Удаляем скаченный архив dokuwiki.tgz, он нам больше не понадобиться:
 +<code>
 +rm dokuwiki-b49591c91b93de5cb93c40e8ebac1621.tgz
 +</code>
 +
 +Переименовываем каталог **dokuwiki** в **public_html**:
 +<code>
 +mv dokuwiki public_html
 +</code>
 +
 +Меняем владельца на **www-data**:
 +<code>
 +sudo chown -R www-data:www-data public_html
 +</code>
 +
 +Создаём конфигурационный файл нового хоста:
 +<code>
 +sudo nano /etc/apache2/sites-available/dokuwiki.conf
 +</code>
 +
 +Приводим конфиг к следующему виду:
 +<code>
 +<VirtualHost *:80>
 +ServerName wiki.kirmol.ru
 +ServerAlias www.wiki.kirmol.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.kirmol.ru/
 +</Directory>
 +ErrorLog /var/www/dokuwiki/error.log
 +CustomLog /var/www/dokuwiki/access.log combined
 +</VirtualHost>
 +</code>
 +
 +Включаем хост следующей командой:
 +<code>
 +sudo a2ensite dokuwiki
 +</code>
 +
 +Активируем дополнительный модули Apache:
 +<code>
 +sudo a2enmod rewrite
 +</code>
 +
 +Перезагружаем Apache:
 +<code>
 +sudo systemctl restart apache2
 +</code>
 +
 +===== Установка Certbot SSL-сертификата =====
 +
 +Устанавливаем Certbot:
 +<code>
 +sudo apt install certbot python3-certbot-apache
 +</code>
 +
 +Устанавливаем SSL-на наш домен:
 +<code>
 +sudo certbot --apache
 +</code>
 +
 +Отредактируем файл конфигурации ssl:
 +<code>
 +sudo nano /etc/apache2/sites-available/dokuwiki-le-ssl.conf
 +</code>
 +
 +Закомментируем или удаляем строчку, иначе, будет циклическое перенаправление на странице:
 +<code>
 +#Redirect permanent / https://wiki.kirmol.ru/
 +</code>
 +
 +Перезапускаем Apache:
 +<code>
 +sudo systemctl restart apache2
 +</code>
 +
 +Переходим по нашему домену, и завершаем настройку DokuWiki:
 +[[https://wiki.kirmol.ru/|DokuWiki]]
 +
 +===== Убираем ссылки на сторонние ресурсы =====
 +
 +Переходим в каталог с нашей DokuWiki:
 +<code>
 +cd /var/www/dokuwiki/public_html
 +</code>
 +
 +Редактируем файл по следующиму пути **lib/tpl/dokuwiki/tpl_footer.php**
 +<code>
 +sudo nano lib/tpl/dokuwiki/tpl_footer.php
 +</code>
 +
 +Находим следующий блок кода и комментируем <!-- --> его. Или удаляем.
 +<code>
 +    <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>
 +
 +
 +===== Красивые ссылки =====
 +
 +Переходим в каталог с нашей DokuWiki:
 +<code>
 +cd /var/www/dokuwiki/public_html
 +</code>
 +
 +Редактируем conf/.htaccess:
 +<code>
 +sudo nano conf/.htaccess
 +</code>
 +или
 +<code>
 +sudo nano conf/local.php
 +</code>
 +
 +Добавляем следующию строку:
 +<code>
 +$conf['userewrite'] = 1;
 +</code>
 +
 +Переименовываем файл .htaccess.dist в .htaccess:
 +<code>
 +mv .htaccess.dist .htaccess
 +</code>
 +
 +Открываем файл .htaccess:
 +<code>
 +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>
 +
 +Добавляем в конфигурационный файл Apache следующию строку:
 +<code>
 +sudo nano /etc/apache2/sites-available/dokuwiki.conf
 +</code>
 +
 +<code>
 +sudo nano /etc/apache2/sites-available/dokuwiki-le-ssl.conf
 +</code>
 +
 +Если эту строку не добавить, будет ошибка 404
 +
 +<code>
 +RewriteCond %{REQUEST_URI} !^/server-status$
 +</code>
 +
 +Готово.