Як встановити DokuWiki на Debian 12

DokuWiki – це проста й універсальна вікі-програма з відкритим вихідним кодом, яка не потребує бази даних. Вона відома своєю простотою в обслуговуванні, зручністю читання та управління користувачами, що робить її ідеальною для створення та управління документацією в корпоративному або спільному середовищі. Працює на PHP, універсальне вікі-програмне забезпечення і вбудовані засоби контролю доступу (ACL) підтримують основні засоби аутентифікації. DokuWiki забезпечує просте адміністрування, його легко встановити, підтримувати і створювати резервні копії з одного хоста на інший.

Необхідні умови

Щоб приступити до виконання цього посібника, переконайтеся, що у вас є таке:

  • Сервер Debian 12.
  • Користувач, який не є root, з правами адміністратора.
  • Доменне ім’я, що вказує на IP-адресу сервера.

Встановлення залежностей

За замовчуванням пакет DokuWiki доступний у репозиторії Debian. Але щоб переконатися, що у вас встановлена остання версія DokuWiki, ви будете встановлювати DokuWiki вручну на ваш сервер Debian.

У цьому розділі ви встановите залежності для DokuWiki, включно з пакетами LAMP STack (Apache2, MariaDB і PHP), UFW і Certbot.

Перш ніж почати, оновіть репозиторій Debian за допомогою команди нижче.

sudo apt update

Встановіть пакети LAMP Stack, UFW і Certbot за допомогою такої команди apt install. Введіть Y і натисніть ENTER, коли з’явиться запит.

sudo apt install apache2 mariadb-server php libapache2-mod-php php-xml php-mbstring php-zip php-intl php-gd ufw certbot python3-certbot-apache

Після завершення встановлення перевірте стан служб Apache і MariaDB, щоб переконатися, що вони запущені.

Виконайте таку команду, щоб перевірити службу apache2.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Коли apache2 запущено, ви маєте отримати висновок ‘active (running)’. А висновок ‘enabled’ підтверджує, що apache2 буде запущено під час завантаження системи.

Тепер виконайте наступну команду для перевірки служби mariadb.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Переконайтеся, що служба mariadb “увімкнена” і “активна (запущена)” на вашій машині Debian.

Налаштування UFW

У цьому посібнику ви захистите свій сервер Debian за допомогою UFW (Uncomplicated Firewall). У цьому випадку ви маєте відкрити порт SSH для віддаленого доступу, а також порти для протоколів HTTP і HTTPS, щоб запустити встановлення DokuWiki.

Виконайте таку команду, щоб додати профілі OpenSSH і ‘WWW Full’ у UFW.

Профіль OpenSSH відкриє стандартний SSh-порт 22, а профіль ‘WWW Full’ відкриє порти HTTP і HTTPS.

sudo ufw allow OpenSSH
sudo ufw allow 'WWW Full'

Тепер виконайте наступну команду, щоб запустити та увімкнути UFW на вашій машині Debian.

sudo ufw enable

Введіть y, коли вас попросять підтвердити, і ви отримаєте повідомлення на кшталт “Брандмауер активний і ввімкнений під час завантаження системи”. UFW запускатиметься автоматично під час завантаження системи.

Нарешті, виконайте наступну команду, щоб перевірити стан UFW. Переконайтеся, що профілі OpenSSH і ‘WWW Full’ вказані в правилах з підтримкою UFW.

sudo ufw status

Налаштування php.ini

У наступному розділі ви налаштуєте PHP, змінивши стандартний файл php.ini і налаштувавши деякі параметри для встановлення DokuWiki.

Виконайте таку команду редактора nano, щоб відкрити файл конфігурації PHP ‘/etc/php/8.2/apache2/php.ini’.

sudo nano /etc/php/8.2/apache2/php.ini

Змініть конфігурацію за замовчуванням таким чином. не забудьте налаштувати параметр memory_limit відповідно до поточної оперативної пам’яті сервера.

memory_limit=256M
upload_max_filesize=32M
post_max_size=32M
max_execution_time=60

Після завершення роботи збережіть і закрийте файл.

Тепер виконайте наведену нижче команду systemctl, щоб перезапустити службу apache2 і скористатися ефектом від внесених змін.

sudo systemctl restart apache2

Налаштування сервера MariaDB

Тепер, коли ви налаштували PHP, наступним кроком буде налаштування інсталяції сервера MariaDB, а потім створення нової бази даних і користувача, який буде використовувати DokuWiki.

Почніть процес налаштування MariaDB, виконавши команду mariadb-secure-installation, наведену нижче.

sudo mariadb-secure-installation

Введіть Y, коли вам буде запропоновано застосувати нову конфігурацію до MariaDB, або ви можете також ввести n для No, щоб відхилити її. Нижче наведено деякі з конфігурацій MariaDB, які вам будуть запропоновані:

  • За замовчуванням MariaDB встановлюється без пароля, натисніть ENTER, коли вам буде запропоновано ввести пароль.
  • Тепер введіть Y, щоб встановити пароль кореня MariaDB. Потім введіть новий пароль для MariaDB і повторіть його.
  • Введіть Y, щоб видалити анонімного користувача з вашої установки MariaDB.
  • Введіть Y ще раз, коли з’явиться запит, щоб відключити віддалений вхід для кореневого користувача MariaDB.
  • Введіть Y, щоб видалити з MariaDB тест бази даних за замовчуванням.
  • І нарешті, введіть Y, щоб перезавантажити привілеї таблиць і застосувати нові зміни.
  • Після завершення налаштування MariaDB вам потрібно створити нову базу даних і користувача, які будуть використовуватися DokuWiki.

Увійдіть на сервер MariaDB, виконавши команду mariadb, наведену нижче. При появі запиту введіть пароль користувача MariaDB root.

sudo mariadb -u root -p

Тепер виконайте такі запити, щоб створити нову базу даних dokuwikidb, користувача dokuwiki з паролем ‘p4ssword’. Не забудьте змінити пароль на новий.

CREATE DATABASE dokuwikidb;
CREATE USER dokuwiki@localhost IDENTIFIED BY 'p4ssword';
GRANT ALL PRIVILEGES ON dokuwikidb.* TO dokuwiki@localhost;
FLUSH PRIVILEGES;

Потім перевірте користувача dokuwiki на наявність привілеїв до бази даних dokuwikidb.

SHOW GRANTS FOR dokuwiki@localhost;

У наступному висновку ви налаштували користувача dokuwiki з повними привілеями для бази даних dokuwikidb.

І нарешті, введіть quit, щоб вийти із сервера MariaDB і перейти до наступного кроку.

Завантаження вихідного коду DokuWiki

У цьому розділі ви завантажите вихідний код DokuWiki і встановіть каталог установки з відповідним дозволом.

Перейдіть у каталог /var/www/ і завантажте останню стабільну версію DokuWiki за допомогою команди wget, наведеної нижче.

cd /var/www/
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Тепер витягніть файл dokuwiki-stable.tgz і перейменуйте витягнуту директорію на dokuwiki. Це означає, що каталог встановлення DokuWiki буде знаходитися за адресою /var/www/dokuwiki.

tar xzvf dokuwiki-stable.tgz
sudo mv dokuwiki-*a dokuwiki

І нарешті, виконайте наведену нижче команду, щоб змінити права власності на каталог /var/www/dokuwiki на користувача www-data і користувача www-data. Таким чином, ваш веб-сервер Apache2 зможе читати вихідний код DokuWiki.

sudo chown -R www-data:www-data /var/www/dokuwiki

Налаштування віртуального хоста Apache2

Після завантаження DokuWiki вам належить створити новий файл віртуального хоста Apache2 для запуску DokuWiki. Перед початком роботи переконайтеся, що у вас готове доменне ім’я. У цьому прикладі ми будемо використовувати домен wiki.hwdomain.io.

Тепер виконайте наведену нижче команду редактора nano, щоб створити нову конфігурацію віртуального хоста Apache2 /etc/apache2/sites-available/dokuwiki.conf.

sudo nano /etc/apache2/sites-available/dokuwiki.conf

Вставте таку конфігурацію і не забудьте замінити доменне ім’я wiki.hwdomain.io на свій домен.

<VirtualHost *:80>
    ServerName    wiki.hwdomain.io      
    DocumentRoot  /var/www/dokuwiki

    <Directory ~ "/var/www/dokuwiki/(bin/|conf/|data/|inc/)">
        <IfModule mod_authz_core.c>
            AllowOverride All
            Require all denied
        </IfModule>
        <IfModule !mod_authz_core.c>
            Order allow,deny
            Deny from all
        </IfModule>
    </Directory>

    ErrorLog   /var/log/apache2/wiki.hwdomain.io_error.log
    CustomLog  /var/log/apache2/wiki.hwdomain.io_access.log combined
</VirtualHost>

Після завершення збережіть і закрийте файл.

Далі виконайте таку команду, щоб увімкнути віртуальний хост dokuwiki.conf, і перевірте синтаксис Apache, щоб переконатися у відсутності помилок.

sudo a2ensite dokuwiki.conf
sudo apachectl configtest

Якщо у вас правильний синтаксис і немає помилок, ви побачите повідомлення ‘Syntax OK’.

Нарешті, виконайте наведену нижче команду, щоб перезапустити сервер Apache2 і застосувати модифікацію.

sudo systemctl restart apache2

Захист DokuWiki за допомогою сертифікатів SSL/TLS

На даний момент ваша DokuWiki запущена і доступна. Але щоб переконатися в безпеці вашої установки, вам потрібно встановити SSl/TLS сертифікати через Letsencrypt.

Виконайте наведену нижче команду certbot, щоб згенерувати SSL/TLS сертифікати для вашого доменного імені DokuWiki. Не забудьте змінити адресу електронної пошти та ім’я домену на свої дані.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.hwdomain.io

Після завершення процесу ваше встановлення DokuWiki має бути автоматично налаштоване на HTTPS. А ваші сертифікати SSL/TLS мають бути доступні в каталозі /etc/letsencrypt/live/yourdomain.com.

Встановлення DokuWiki через веб-інсталятор

Відкрийте веб-браузер і зайдіть на доменне ім’я для встановлення DokuWiki, наприклад https:/wiki.hwdomain.io/install.php. Ви маєте побачити веб-інсталятор DokuWiki.

Виберіть опцію Увімкнути ACL, введіть користувача-адміністратора, електронну пошту та пароль для DokuWiki, а потім натисніть Зберегти.

Після успішного встановлення ви маєте отримати повідомлення ‘Конфігурацію було успішно завершено…’.

Тепер поверніться в термінал і видаліть скрипт install.php за допомогою такої команди.

sudo rm /var/www/dokuwiki/install.php

Далі натисніть на посилання “Ваша нова DokuWiki”, щоб продовжити. У вас має з’явитися домашня сторінка DokuWiki, як показано нижче.

Тепер натисніть на кнопку Вхід, і у вас має з’явитися сторінка входу в DokuWiki, як показано нижче.

Тепер натисніть на кнопку Вхід, і у вас має з’явитися сторінка входу в DokuWiki, як показано нижче.

Висновок

Вітаємо! Ви завершили встановлення DokuWiki на сервер Debian 12. Ви встановили DokuWiki за допомогою стека LAMP (Apache2, MariaDB і PHP). Ви також захистили свою установку DokuWiki за допомогою UFW (Uncomplicated Firewall) і SSL/TLS сертифікатів від Letsencrypt.

Поділіться своєю любов'ю

Залишити відповідь

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x