Содержание
Установка DokuWiki
Базовая настройка сервера
Подключаем к нашему серверу по SSH:
ssh root@<IP-адрес сервера>
Меняем язык сервера на Русский:
dpkg-reconfigure locales
Обновляем систему и устанавливаем базовый софт
Обновляем список пакетов и обновляем систему:
apt update && apt upgrade
Устанавливаем Базовый софт:
apt install apt-transport-https ca-certificates curl htop sudo zip unzip wget
Создаём нового пользователя и добавляем его в группу Sudo
Создаём пользователя:
adduser kirill
Добавляем нашего пользователя в группу sudo:
usermod -aG sudo kirill
Перезагружаем сервер:
reboot
Снова подключаемся к нашему серверу по SSH, но только не под пользователем Root, а под пользователем, которого мы только что создали:
ssh kirill@<IP-адрес сервера>
Установка Веб-сервер 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-mbstring php-json php-xml libapache2-mod-php php-mysql
Настройка 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:
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
Создаём конфигурационный файл нового хоста:
sudo nano /etc/apache2/sites-available/dokuwiki.conf
Приводим конфиг к следующему виду:
<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>
Включаем хост следующей командой:
sudo a2ensite dokuwiki
Активируем дополнительный модули Apache:
sudo a2enmod rewrite
Перезагружаем Apache:
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: DokuWiki
Убираем ссылки на сторонние ресурсы
Переходим в директорию с нашей DokuWiki:
cd /var/www/dokuwiki/public_html
Редактируем файл по следующиму пути lib/tpl/dokuwiki/tpl_footer.php
sudo nano lib/tpl/dokuwiki/tpl_footer.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>
Красивые ссылки
Переходим в директорию с нашей 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 /
#
Добавляем в конфигурационный файл 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$
Готово.

