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

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


linux:debian:dokuwiki

Установка DokuWiki


Открываем терминал Ctrl+Alt+T, и пишем следующие команды:

Базовая настройка сервера

Подключаем к нашему серверу по 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:

Скачать 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$

Готово.

linux/debian/dokuwiki.txt · Последнее изменение: Кирилл