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

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


linux:debian:dokuwiki

Установка DokuWiki

Установка Веб-сервер 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:

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

Приводим конфиг к следующему виду:

<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 /var/www/dokuwiki/error.log
CustomLog /var/www/dokuwiki/access.log combined
</VirtualHost>

Сохраняем файл 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: 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>

Сохраняем файл 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

Готово.

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