Как установить 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