Cómo instalar Tiki Wiki con Apache y Let’s encrypt SSL en Debian 10

TikiWiki es un sistema de gestión de contenidos gratuito y de código abierto escrito en lenguaje PHP. Es muy potente, completo y puede utilizarse para crear sitios web, wikis, aplicaciones web, bases de conocimiento, portales, galerías de imágenes y mucho más. TikiWiki consta de cuatro componentes principales: herramientas de creación y gestión de contenidos, herramientas de comunicación, herramientas de configuración y administración, y herramientas de organización de contenidos y ayudas a la navegación. Con ellas podrás crear y gestionar contenidos, y configurar sitios. TikiWiki incluye un amplio conjunto de funciones, como Foros, Blog, Mapas, Espacio de trabajo, Presentación de diapositivas, Carro de la compra, Seguimiento de errores y problemas, Multilingüe, Galería de archivos e imágenes, Eventos y muchas más.

En este tutorial, aprenderemos a instalar el CMS TikiWiki en Debian 10.

Requisitos

  • Un servidor que ejecute Debian 10.
  • Una contraseña de root en tu servidor.

Cómo empezar

Antes de empezar, necesitarás actualizar tu sistema con la última versión. Puedes hacerlo ejecutando el siguiente comando:

apt-get update -y
 apt-get upgrade -y

Una vez actualizado tu servidor, reinícialo para aplicar los cambios.

Instalar el Servidor LAMP

TikiWiki se ejecuta en un servidor web Apache / Nginx, escrito en lenguaje PHP y utiliza MariaDB/MySQL para almacenar sus datos. Así que necesitarás instalar Apache, MariaDB, PHP y otras extensiones necesarias en tu servidor. En primer lugar, instala el servidor Apache y MariaDB con el siguiente comando:

apt-get install apache2 mariadb-server unzip -y

Por defecto, Debian 10 incluye la versión 7.3 de PHP. Pero TikiWiki no soporta PHP 7.3. Por lo tanto, tendrás que instalar PHP 7.2 y otras extensiones necesarias.

Para añadir el repositorio SURY, primero descarga y la clave GPG con el siguiente comando:

wget https://packages.sury.org/php/apt.gpg
 apt-key add apt.gpg

A continuación, añade el repositorio SURY a APT con el siguiente comando:

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list

A continuación, actualiza el repositorio e instala PHP7.2 junto con todas las extensiones necesarias con los siguientes comandos:

apt-get update -y
 apt-get install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip -y

Tras instalar PHP7.2, abre el archivo php.ini y modifica algunos ajustes:

nano /etc/php/7.2/apache2/php.ini

Añade las siguientes líneas:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/Kolkata

Guarda y cierra el archivo cuando hayas terminado. A continuación, pasa al siguiente paso.

Crear base de datos para TikiWiki

Por defecto, MariaDB no está protegida. Por lo tanto, primero tendrás que asegurarla. Puedes asegurarla con el siguiente script:

mysql_secure_installation

Debes responder a todas las preguntas como se muestra a continuación:

    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    Remove anonymous users? [Y/n]: Y
    Disallow root login remotely? [Y/n]: Y
    Remove test database and access to it? [Y/n]:  Y
    Reload privilege tables now? [Y/n]:  Y

Una vez que MariaDB esté protegida, accede al shell de MariaDB:

mysql -u root -p

Proporciona tu contraseña de root cuando se te pida y luego crea una base de datos y un usuario para TikiWiki con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE tikidb;
 MariaDB [(none)]> CREATE USER 'tiki'@'localhost' IDENTIFIED BY 'password';

A continuación, concede todos los privilegios a la Base de Datos TikiWiki con el siguiente comando:

MariaDB [(none)]> GRANT ALL ON tikidb.* TO 'tiki'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

A continuación, vacía los privilegios y sal del intérprete de comandos MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
 MariaDB [(none)]> EXIT;

Una vez hecho esto, puedes pasar al siguiente paso.

Descargar TikiWiki

En primer lugar, tendrás que descargar la última versión de TikiWiki del sitio web Sourceforge. Puedes descargarla con el siguiente comando:

cd /var/www/html/
 wget https://sourceforge.net/projects/tikiwiki/files/latest/download -O tikiwiki.zip

Una vez completada la descarga, descomprime el archivo descargado con el siguiente comando:

unzip tikiwiki.zip

A continuación, renombra el directorio extraído a tikiwiki con el siguiente comando:

mv tiki-20.0 tikiwiki

A continuación, da los permisos adecuados al directorio tikiwiki con el siguiente comando:

chown -R www-data:www-data /var/www/html/tikiwiki/
 chmod -R 755 /var/www/html/tikiwiki/

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar Apache para TikiWiki

A continuación, tendrás que crear un archivo de configuración del host virtual de Apache para TikiWiki. Puedes crearlo con el siguiente comando:

nano /etc/apache2/sites-available/tikiwiki.conf

Añade el siguiente contenido:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/tikiwiki
     ServerName example.com

     <Directory /var/www/html/tikiwiki/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/tikiwiki_error.log
     CustomLog ${APACHE_LOG_DIR}/tikiwiki_access.log combined

</VirtualHost>

Guarda y cierra el archivo. A continuación, habilita el archivo de configuración del host virtual con el siguiente comando:

a2ensite tikiwiki.conf

Por último, habilita el módulo de reescritura de Apache y reinicia el servicio Apache para recargar los cambios de configuración con el siguiente comando:

a2enmod rewrite
 systemctl restart apache2

Accede a la interfaz web de TikiWiki

Ahora, abre tu navegador web y escribe la URL http://example.com. Serás redirigido a la página de bienvenida de TikiWiki:

Instalador Tiki

Selecciona tu idioma y pulsa el botón Continuar. Deberías ver la siguiente página:

Aceptar licencia

Acepta el acuerdo de Licencia y pulsa el botón Continuar. Deberías ver la siguiente página:

Comprueba los requisitos del sistema

Confirma que tu sistema cumple los requisitos mínimos y pulsa el botón Continuar. Debes ver la siguiente página:

Establecer la conexión a la base de datos

Nombre y usuario de la base de datos

Proporciona el nombre de tu base de datos, el nombre de usuario de la base de datos y la contraseña. A continuación, pulsa el botón Continuar. Deberías ver la página siguiente:

Elegir motor de base de datos

Selecciona el motor de base de datos y pulsa el botón Instalar para iniciar la instalación. Una vez que la instalación se haya completado con éxito, deberías ver la siguiente página:

Instalación Tiki completa

Ahora, haz clic en el botón Continuar, deberías ver la siguiente página:

Configurar los ajustes generales

Ajustes del registro

Proporciona toda la información requerida como Título de la Wiki, Correo electrónico del remitente, Inicio de sesión seguro, Correo electrónico del administrador y haz clic en el botón Continuar. Deberías ver la siguiente página:

Notas de instalación

Lee toda la información y pulsa el botón Continuar. Deberías ver la siguiente página:

Introduce tu Tiki

Ahora, pulsa el botón«Entrar en el Instalador de Tiki y Bloqueo«. Deberías ver la siguiente página:

Entra en Tiki y en Instalador de Cerraduras

Ahora, establece tu contraseña de administrador y pulsa el botón Aplicar. Deberías ver la siguiente página:

Empieza con Tiki

Asegura TikiWiki con Let’s Encrypt

En esta sección, te explicaremos cómo asegurar tu sitio TikiWiki con el SSL gratuito de Let’s Encrypt.

En primer lugar, necesitarás instalar la herramienta Certbot para descargar e instalar Let’s Encrypt free SSL para tu sitio web. Por defecto, la última versión de Certbot no está disponible en el repositorio por defecto de Debian 10. Por tanto, tendrás que añadir el repositorio de Certbot a tu sistema.

Puedes añadir el repositorio de Certbot con el siguiente comando:

apt-get install software-properties-common
 add-apt-repository ppa:certbot/certbot

A continuación, actualiza el repositorio e instala Certbot con el siguiente comando:

apt-get update -y
 apt-get install certbot python-certbot-apache -y

Una vez instalado, crea un archivo well-known.conf para que Let’s Encrypt valide tu dominio.

Primero, crea un directorio .well-known y dale los permisos adecuados:

mkdir -p /var/lib/letsencrypt/.well-known
 chgrp www-data /var/lib/letsencrypt
 chmod g+s /var/lib/letsencrypt

A continuación, crea un archivo well-known.conf con el siguiente comando:

nano /etc/apache2/conf-available/well-known.conf

Añade las siguientes líneas:

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

Guarda y cierra el archivo. A continuación, habilita los módulos necesarios con el siguiente comando:

a2enmod ssl
 a2enmod http2
 a2enmod headers
 a2enconf well-known

A continuación, reinicia el servicio Apache para aplicar todos los cambios de configuración:

systemctl restart apache2

Ahora, vamos a empezar a instalar el certificado SSL gratuito para tu dominio ejemplo.com con el siguiente comando:

certbot --apache -d example.com

En primer lugar, tendrás que proporcionar una dirección de correo electrónico válida y aceptar las condiciones del servicio, como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/example.com-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/example.com-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/example.com-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

A continuación, elige la opción 2 para descargar e instalar el certificado SSL gratuito para tu dominio. Una vez que la instalación se haya completado con éxito. Deberías obtener la siguiente salida:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/example.com.conf to ssl vhost in /etc/apache2/sites-available/
example.com-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-10-22. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Eso es todo. Ahora, abre tu navegador web y accede a tu CMS TikiWiki utilizando la URL https://example.com. Deberías comprobar que tu sitio TikiWiki está correctamente protegido con el certificado SSL gratuito.

Scroll al inicio