Cómo instalar DokuWiki con Nginx y Let’s encrypt SSL en CentOS 8

Instalador DikuWiki

DokuWiki es un software wiki de código abierto muy versátil y fácil de usar que no requiere una base de datos. Es amado por los usuarios por su sintaxis limpia y legible. La facilidad de mantenimiento, respaldo e integración lo convierte en el favorito de los administradores. Los controles de acceso integrados y los conectores de autenticación hacen que DokuWiki sea especialmente útil en el contexto empresarial y una gran cantidad de complementos aportados por su vibrante comunidad permiten una amplia gama de casos de uso más allá de un wiki tradicional. Este tutorial le mostrará cómo instalar DokuWiki en un servidor CentOS 8 nuevo.

Requisitos

Asegúrese de que su servidor cumpla con los siguientes requisitos.

  • Software de servidor web compatible con PHP (Apache, NGINX, IIS, Lighttpd, LiteSpeed)
  • PHP versión 5.6 o posterior, se recomiendan versiones más recientes.

requisitos previos

  • Un sistema operativo CentOS 8.
  • Un usuario no root con privilegios sudo.

Pasos iniciales

Compruebe su versión de CentOS:

cat /etc/centos-release
# CentOS Linux release 8.0.1905 (Core)

Configurar la zona horaria:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Actualice los paquetes de su sistema operativo (software). Este es un primer paso importante porque garantiza que tenga las últimas actualizaciones y correcciones de seguridad para los paquetes de software predeterminados de su sistema operativo:

sudo dnf update -y

Instale algunos paquetes esenciales que son necesarios para la administración básica del sistema operativo CentOS:

sudo dnf install -y curl wget vim git unzip socat bash-completion epel-release

Paso 1 – Instalar PHP y extensiones de PHP

Instale PHP y las extensiones de PHP requeridas:

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

Para mostrar PHP compilado en módulos, puede ejecutar:

php -m

ctype
curl
exif
fileinfo
. . .
. . .


Compruebe la versión de PHP:

php --version

# PHP 7.2.11-1-(cli) (built: Oct 26 2019 14:14:18) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.11-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies


Inicie y habilite el servicio PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Paso 2: instale el cliente acme.sh y obtenga el certificado Let’s Encrypt (opcional)

No es necesario proteger su sitio con HTTPS, pero es una buena práctica para asegurar el tráfico de su sitio. Para obtener un certificado TLS de Let’s Encrypt utilizaremos el cliente acme.sh. Acme.sh es un software de shell UNIX simple para obtener certificados TLS de Let’s Encrypt sin dependencias.

Descargue e instale acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Compruebe la versión de acme.sh:

acme.sh --version
# v2.8.2

Obtener RSA y ECC/ECDSA certificados para su dominio/nombre de host:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Si desea certificados falsos para realizar pruebas, puede agregar el indicador –staging a los comandos anteriores.

Después de ejecutar los comandos anteriores, sus certificados y claves estarán en:

  • Para RSA: directorio /home/username/example.com.
  • Para ECC/ECDSA: directorio /home/username/example.com_ecc.

Para enumerar sus certificados emitidos, puede ejecutar:

acme.sh --list

Cree un directorio para almacenar sus certificados. Usaremos el directorio /etc/letsencrypt.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Instalar/copiar certificados en el directorio /etc/letsencrypt.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Todos los certificados se renovarán automáticamente cada 60 días.

Después de obtener los certificados, salga del usuario raíz y regrese al usuario sudo habitual:

exit

Paso 3: instalar y configurar Nginx

DokuWiki se ejecutará en cualquier servidor web que admita PHP. En este tutorial, usaremos Nginx. Si prefiere Apache u otro servidor web, puede usarlo en lugar de Nginx.

Descargue e instale NGINX desde el repositorio de CentOS:

sudo dnf install -y nginx

Compruebe la versión de Nginx:

sudo nginx -v
# nginx version: nginx/1.14.2

Configurar Nginx:

sudo vim /etc/nginx/conf.d/dokuwiki.conf

Copie/pegue la siguiente configuración de Nginx y guárdela:

server {

listen [::]:443 ssl;
listen 443 ssl; listen [::]:80; listen 80; # RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECC
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
server_name wiki.example.com; root /var/www/dokuwiki; index index.html index.htm index.php doku.php; client_max_body_size 15M; client_body_buffer_size 128K; location / { try_files $uri $uri/ @dokuwiki; } location ^~ /conf/ { return 403; } location ^~ /data/ { return 403; } location ~ /\.ht { deny all; } location @dokuwiki { rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; rewrite ^/(.*) /doku.php?id=$1 last; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }


Compruebe la configuración de Nginx:

sudo nginx -t

Recargar Nginx:

sudo systemctl reload nginx.service

Paso 4 – Instalar DokuWiki

Cree un directorio raíz de documentos:

sudo mkdir -p /var/www/dokuwiki

Navegue a la raíz del documento:

cd /var/www/dokuwiki

Descarga la última versión estable de DokuWiki desde la página de descargas de DokuWiki:

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

Descomprima el tarball de DokuWiki:

sudo tar xvf dokuwiki-stable.tgz
sudo rm dokuwiki-stable.tgz
sudo mv dokuwiki-2018-04-22b/* . && mv dokuwiki-2018-04-22b/.* .
sudo rmdir dokuwiki-2018-04-22b/

Cambie la propiedad del directorio /var/www/dokuwiki a www-data:

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

Ejecute sudo vim /etc/php-fpm.d/www.conf y configure el usuario y el grupo en nginx. Inicialmente, se establecerá en apache de usuario y grupo.

sudo vim /etc/php-fpm.d/www.conf

Reinicie php7.3-fpm.servicio:

sudo systemctl restart php7.3-fpm.service

Abra el script de configuración de DokuWiki, install.php, en su navegador y configure DokuWiki. El script de configuración comprueba la disponibilidad de las funciones de PHP requeridas y comprueba los permisos de archivo necesarios. También crea una cuenta de administrador inicial y una política de ACL inicial. Para ejecutar el instalador, abra http://wiki.example.com/install.php en el navegador y siga las instrucciones.

Paso 5: acceda a la interfaz web de DokuWiki

Abra su navegador web y escriba la URL http://example.com/install.php. Será redirigido a la siguiente página:

Instalador DikuWiki

Proporcione toda la información requerida, como nombre de superusuario, correo electrónico, contraseña. Luego, haga clic en el Ahorrar botón. Una vez que la instalación se haya completado con éxito, debería ver la siguiente página:

Establecer nombre de usuario y contraseña

Ahora, haga clic en tu nuevo DokuWiki. Deberías ver la siguiente página:

DokuWiki instalado con éxito

Ahora, haga clic en el acceso botón. Será redirigido a la siguiente página:

Acceso

Ahora, proporcione su nombre de usuario y contraseña de administrador. Luego, haga clic en el Tronco En botón. Deberías ver el panel de DokuWiki en la siguiente página:

Bienvenido a DokuWiki

Después de una configuración exitosa, elimine el archivo install.php del directorio raíz de DokuWiki:

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

¡Felicidades! Ha instalado y configurado con éxito DokuWiki en el servidor CentOS 8. Ahora puede crear su propio sitio wiki fácilmente usando DokuWiki.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *