Установка DocuWiki + Nginx в Rocky Linux / Centos 8

Thank you for reading this post, don't forget to subscribe!

Оригинал статьи:

Уста­нов­ка DocuWiki + Nginx в Rocky Linux / Centos 8

DokuWiki — про­стой, но доста­точ­но мощ­ный вики-дви­жок, кото­рый может быть исполь­зо­ван для созда­ния любой доку­мен­та­ции. Автор про­ек­та — Андре­ас Гор. В отли­чие от мно­гих дру­гих движ­ков, DokuWiki исполь­зу­ет для хра­не­ния стра­ниц тек­сто­вые фай­лы, таким обра­зом един­ствен­ным тре­бо­ва­ни­ем явля­ет­ся под­держ­ка хостин­гом PHP.

Подготовка

Уста­нав­ли­ва­ем утилиты

$ sudo dnf -y install curl wget vim nano git unzip socat bash-completion

Под­клю­ча­ем репо­зи­то­рий EPEL

$ sudo dnf -y install epel-release

Установка Nginx

Добав­ля­ем репозиторий

 

Уста­нав­ли­ва­ем Nginx

$ sudo dnf -y update
$
sudo dnf -y install nginx

Запус­ка­ем nginx и добав­ля­ем его в автозагрузку

$ sudo systemctl enable --now nginx

Отклю­ча­ем дефолт­ный конфиг

$ sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.disable

Настройка Firewall

Откры­ва­ем пор­ты 80 и 443

$ sudo firewall-cmd --permanent --add-service=http

$ sudo firewall-cmd --permanent --add-service=https

$ sudo firewall-cmd --reload

Настройка SELinux

Уста­нав­ли­ва­ем ути­ли­ту для управ­ле­ния пра­ви­ла­ми SELinux

$ sudo dnf -y install policycoreutils-python-utils

Добав­ля­ем правило

$ sudo semanage permissive -a httpd_t

Установка PHP

Уста­нав­ли­ва­ем необ­хо­ди­мые компоненты

$ sudo dnf -y install php php-cli php-fpm php-gd php-xml php-zip php-json

Настра­и­ва­ем php-fpm
$ sudo nano /etc/php-fpm.d/www.conf

user = nginx

group = nginx

Меня­ем вла­дель­ца каталога

$ sudo chown -R root:nginx /var/lib/php/session

Добав­ля­ем сер­вис в авто­за­груз­ку и запус­ка­ем его

$ sudo systemctl start php-fpm

$ sudo systemctl enable php-fpm

Настройка Nginx

Созда­дим дирек­то­рию для ssl-сетификата

$ sudo mkdir /etc/nginx/ssl/

Сге­не­ри­ру­ем само­под­пи­сан­ный сер­ти­фи­кат и ключ

$ sudo openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:4096 -keyout /etc/nginx/ssl/private.key -out /etc/nginx/ssl/server.crt

Мож­но так же исполь­зо­вать покуп­ной сер­ти­фи­кат, либо бес­плат­ный lets encrypt, но т.к. я раз­во­ра­чи­ваю DocuWiki в тесто­вой сре­де, исполь­зую самоподписанный

Созда­ем кон­фиг для DocuWiki

 

Пере­за­пус­ка­ем службы

sudo systemctl restart php-fpm nginx

Уста­нов­ка DocuWiki
Ска­чи­ва­ем дистрибутив

cd /tmp

выка­чи­ва­ем через wget

https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Созда­ем ката­лог, где будет лежать дистрибутив

$ sudo mkdir -p /var/www/dokuwiki
Рас­па­ко­вы­ва­ем DocuWiki и пере­но­сим фай­лы в создан­ный каталог

$ tar xvf dokuwiki-stable.tgz
$ cd dokuwiki-2020-07-29
$ sudo mv * /var/www/docuwiki
Меня­ем вла­дель­ца ката­ло­га и файлов

$ sudo chown -R nginx:nginx /var/www/docuwiki

Далее пере­хо­дим в web-интер­фейс по ip-адре­су наше­го сер­ве­ра и завер­ша­ем уста­нов­ку DocuWiki