Cómo instalar DokuWiki en Debian 12

DokuWiki es un sencillo y versátil software wiki de código abierto que no requiere base de datos. Es conocido por su facilidad de mantenimiento, legibilidad y gestión de usuarios, lo que lo hace ideal para crear y gestionar documentación en entornos corporativos o de colaboración. Desarrollado con PHP, su versátil software wiki y los Controles de Acceso (ACL) incorporados admiten los principales controladores de autenticación. DokuWiki proporciona una administración sencilla, es fácil de instalar, mantener y hacer copias de seguridad de un host a otro.

En esta guía, te guiaremos a través de la instalación de DokuWiki en el servidor Debian 12. Instalarás DokuWiki con LAMP Stack (Apache2, MariaDB y PHP), UFW y certificados SSl/TLS a través de Letsencyrpt.

Requisitos previos

Asegúrate de que tienes lo siguiente para proceder con esta guía:

  • Un servidor Debian 12.
  • Un usuario no root con privilegios de administrador.
  • Un nombre de dominio apuntando a la dirección IP del servidor.

Instalación de las dependencias

Por defecto, el paquete DokuWiki está disponible en el repositorio de Debian. Pero, para asegurarte de que tienes instalada la última versión de DokuWiki, instalarás DokuWiki manualmente en tu servidor Debian.

En esta sección, instalarás las dependencias para DokuWiki, incluyendo los paquetes LAMP STack (Apache2, MariaDB y PHP), UFW y Certbot.

Antes de empezar, actualiza tu repositorio Debian utilizando el comando siguiente.

sudo apt update

Instala los paquetes LAMP Stack, UFW y Certbot utilizando el siguiente comando apt install. Escribe Y y pulsa ENTER cuando se te solicite.

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

instalar deps

Una vez finalizada la instalación, comprueba el estado de los servicios Apache y MariaDB para asegurarte de que se están ejecutando.

Ejecuta el siguiente comando para comprobar el servicio apache2.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Si apache2 se está ejecutando, deberías obtener la salida ‘activo (en ejecución)’. Y la salida ‘activado’ confirma que apache2 se iniciará al arrancar el sistema.

verificar apache2

Ahora ejecuta el siguiente comando para verificar el servicio mariadb.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Asegúrate de que el servicio mariadb está «habilitado» y «activo (en ejecución)» en tu máquina Debian.

verificar mariadb

Configurar UFW

En esta guía, asegurarás tu servidor Debian con UFW (Uncomplicated Firewall). En ese caso, debes abrir el puerto SSH para tu acceso remoto, y los puertos para los protocolos HTTP y HTTPS para ejecutar la instalación de DokuWiki.

Ejecuta el siguiente comando para añadir los perfiles OpenSSH y‘WWW Full ‘ a UFW.

El perfil OpenSSH abrirá el puerto SSh 22 por defecto, mientras que el perfil ‘WWW Full’ abre los puertos HTTP y HTTPS.

sudo ufw allow OpenSSH
sudo ufw allow 'WWW Full'

Ahora, ejecuta el siguiente comando para iniciar y habilitar UFW en tu máquina Debian.

sudo ufw enable

Introduce y cuando se te pida confirmación, y deberías obtener una salida como «El cortafuegos está activo y habilitado al iniciar el sistema«. El UFW se ejecutará automáticamente al arrancar el sistema.

configuración ufw

Por último, ejecuta el siguiente comando para verificar el estado del UFW. Asegúrate de que tanto el perfil OpenSSH como el perfil ‘WWW Full’ aparecen en tus reglas habilitadas para UFW.

sudo ufw status

verificar ufw

Configuración de php.ini

En la siguiente sección, configurarás PHP modificando el archivo php.ini predeterminado y ajustando algunas de las configuraciones para la instalación de DokuWiki.

Ejecuta el siguiente comando del editor nano para abrir el archivo de configuración de PHP‘/etc/php/8.2/apache2/php.ini‘.

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

Cambia la configuración por defecto por la siguiente. asegúrate de ajustar el parámetro memory_limit con la RAM actual de tu servidor.

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

Guarda y cierra el archivo cuando hayas terminado.

Ahora, ejecuta el siguiente comando systemctl para reiniciar el servicio apache2 y que surtan efecto tus cambios.

sudo systemctl restart apache2

Configurar el servidor MariaDB

Ahora que has configurado PHP, el siguiente paso es configurar la instalación de tu servidor MariaDB, y luego crear una nueva base de datos y un nuevo usuario que utilizará DokuWiki.

Inicia el proceso de configuración de MariaDB ejecutando el comando mariadb-secure-installation que se indica a continuación.

sudo mariadb-secure-installation

Introduce Y cuando se te pregunte si quieres aplicar la nueva configuración a MariaDB, o también puedes escribir n para No rechazarla. A continuación se indican algunas de las configuraciones de MariaDB que se te pedirán:

  • La instalación por defecto de MariaDB viene sin contraseña, pulsa ENTER cuando se te pida la contraseña.
  • Ahora introduce Y para configurar la contraseña de root de MariaDB. A continuación, escribe la nueva contraseña para MariaDB y repite la contraseña.
  • Introduce Y para eliminar el usuario anónimo de tu instalación de MariaDB.
  • Vuelve a introducir Y cuando se te pida para desactivar el inicio de sesión remoto para el usuario raíz de MariaDB.
  • Introduce Y para eliminar la prueba de base de datos por defecto de tu MariaDB.
  • Por último, introduce Y para recargar los privilegios de las tablas y aplicar los nuevos cambios.

Una vez finalizada la configuración de MariaDB, tienes que crear una nueva base de datos y un nuevo usuario que utilizará DokuWiki.

Accede al servidor MariaDB ejecutando el siguiente comando mariadb. Introduce tu contraseña de root de MariaDB cuando se te solicite.

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas para crear una nueva base de datos dokuwikidb, usuario dokuwiki, con la contraseña‘p4ssword‘. Asegúrate de cambiar la contraseña por tu nueva contraseña.

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

crear usuario de base de datos

A continuación, verifica el usuario dokuwiki para asegurar los privilegios a la base de datos dokuwikidb.

SHOW GRANTS FOR dokuwiki@localhost;

En la siguiente salida, has configurado el usuario dokuwiki con privilegios completos para la base de datos dokuwikidb.

mostrar usuario dtabase

Por último, escribe quit para salir del servidor MariaDB y pasar al siguiente paso.

Descargar el código fuente de DokuWiki

En esta sección, descargarás el código fuente de DokuWiki y configurarás el directorio de instalación con los permisos adecuados.

Dirígete al directorio /var/www/ y descarga la última versión estable de DokuWiki utilizando el siguiente comando wget.

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

Ahora extrae el archivo dokuwiki-stable.tgz y renombra el directorio extraído a dokuwiki. Esto significa que tu directorio de instalación de DokuWiki estará disponible en /var/www/dokuwiki.

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

Por último, ejecuta el siguiente comando para cambiar la propiedad del directorio /var/www/dokuwiki al usuario www-data y al usuario www-data. De esta forma, tu servidor web Apache2 podrá leer el código fuente de DokuWiki.

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

Configurar el host virtual Apache2

Después de descargar DokuWiki, ahora crearás un nuevo archivo de host virtual Apache2 para ejecutar DokuWiki. Asegúrate de que tienes listo tu nombre de dominio antes de empezar. En este ejemplo, utilizaremos el dominio wiki.hwdomain.io.

Ahora, ejecuta el siguiente comando del editor nano para crear una nueva configuración de host virtual Apache2 /etc/apache2/sites-available/dokuwiki.conf.

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

Introduce la siguiente configuración y asegúrate de cambiar el nombre de dominio wiki.hwdomain.io por tu dominio.

<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>

Cuando hayas terminado, guarda y cierra el archivo.

A continuación, ejecuta el siguiente comando para habilitar el host virtual dokuwiki.conf y verifica tu sintaxis de Apache para asegurarte de que no se produce ningún error.

sudo a2ensite dokuwiki.conf
sudo apachectl configtest

Si tu sintaxis es correcta y no tienes ningún error, verás una salida«Sintaxis OK«.

configurar apache2

Por último, ejecuta el siguiente comando para reiniciar el servidor Apache2 y aplicar tu modificación.

sudo systemctl restart apache2

Proteger DokuWiki con certificados SSL/TLS

Llegados a este punto, tu DokuWiki está funcionando y es accesible. Pero para asegurarte de que tu instalación es segura, deberás configurar certificados SSl/TLS a través de Letsencrypt.

Ejecuta el siguiente comando certbot para generar certificados SSL/TLS para el nombre de dominio de tu DokuWiki. Asegúrate de cambiar la dirección de correo electrónico y el nombre de dominio con tu información.

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

Una vez finalizado el proceso, tu instalación de DokuWiki debería configurarse automáticamente con HTTPS. Y tus certificados SSL/TLS deberían estar disponibles en el directorio /etc/letsencrypt/live/yourdomain.com.

Instalar DokuWiki mediante el Instalador Web

Abre tu navegador web y visita tu dominio para la instalación de DokuWiki, como https:/wiki.hwdomain.io/install.php. Deberías ver el instalador web de DokuWiki.

Selecciona la opción Activar ACL, introduce tu usuario administrador, correo electrónico y contraseña para DokuWiki y, a continuación, haz clic en Guardar.

instalar dokuwiki

Una vez que la instalación se haya realizado correctamente, deberías obtener una salida‘La configuración ha finalizado correctamente..’.

Imageninstalación finalizadare

Ahora vuelve a tu terminal y elimina el script install.php utilizando el siguiente comando.

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

A continuación, haz clic en el enlace‘tu nuevo DokuWiki‘ para continuar. Y deberías obtener la página de inicio de DokuWiki como la siguiente.

Página principal de dokuwiki

Ahora haz clic en el botón Iniciar sesión y deberías obtener la página de inicio de sesión de DokuWiki como la siguiente.

página de acceso

Introduce tu usuario y contraseña de administrador, y haz clic en Iniciar sesión. Si lo consigues, aparecerá el panel de control de DokuWiki.

tablero dockuwiki

Conclusión

¡Enhorabuena! Ya has completado la instalación de DokuWiki en el servidor Debian 12. Has instalado DokuWiki con la pila LAMP (Apache2, MariaDB y PHP). También has asegurado tu instalación de DokuWiki con UFW (Uncomplicated Firewall) y certificados SSL/TLS de Letsencrypt.

También te podría gustar...