Cómo instalar el Foro ElkArte con Apache y Let’s Encrypt en Debian 10

ElkArte es un potente software de foros gratuito y de código abierto que te permite crear tu propia comunidad de foros en línea. Es una plataforma de foros sencilla, ligera y moderna, basada en PHP y que utiliza MySQL/MariaDB para almacenar sus datos. ElkArte viene con una gran cantidad de características que incluyen: Notificaciones, Me gusta para los mensajes, Borradores, Autoguardado, Arrastrar y soltar archivos adjuntos, Integración de vídeo para youtube, Publicación por correo electrónico, Medidas anti-spam mejoradas y muchas más.

En este tutorial, explicaremos cómo instalar ElkArte en un servidor Debian 10.

Requisitos

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

Cómo empezar

Antes de empezar, tendrás que 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, reinicia tu servidor para aplicar los cambios.

Instalar Apache, MariaDB y PHP

En primer lugar, tendrás que instalar en tu servidor web Apache, el servidor de bases de datos MariaDB, PHP y otras librerías necesarias. Puedes instalarlos todos ejecutando el siguiente comando:

apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd php-pgsql php-xml php-cli php-imagick php-bcmath php-gmp php-zip unzip -y

Una vez instalados todos los paquetes, abre el archivo php.ini y modifica algunos ajustes:

nano /etc/php/7.3/apache2/php.ini

Cambia las siguientes líneas:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/Chicago

Guarda y cierra el archivo cuando hayas terminado. A continuación, reinicia el servidor web Apache con el siguiente comando:

systemctl restart apache2

Configurar la base de datos para ElkArte

A continuación, tendrás que crear una base de datos y un usuario para ElkArte. Para ello, entra en el shell de MariaDB con el siguiente comando:

mysql -u root -p

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

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

A continuación, concede todos los privilegios a ElkArte con el siguiente comando:

MariaDB [(none)]> GRANT ALL ON elkartedb.* TO 'elkarte'@'localhost' WITH GRANT OPTION;

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

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

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

Descargar ElkArte

En primer lugar, tendrás que descargar la última versión de ElkArte del repositorio Git. Para descargarla, ejecuta el siguiente comando:

wget https://github.com/elkarte/Elkarte/archive/master.zip

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

unzip master.zip

A continuación, mueve el directorio extraído al directorio raíz de la web de Apache:

mv Elkarte-master /var/www/html/elkarte

A continuación, cambia la propiedad del directorio elkarte y proporciona los permisos necesarios con el siguiente comando:

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

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

Crear un host virtual para ElkArte

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

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

Añade las siguientes líneas:

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

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

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
    
</VirtualHost>

Guarda y cierra el archivo cuando hayas terminado. A continuación, activa el archivo de host virtual y el módulo de reescritura de Apache con el siguiente comando

a2ensite elkarte.conf
a2enmod rewrite

Por último, reinicia el servidor web Apache para aplicar los cambios:

systemctl restart apache2

Accede a la interfaz web de ElkArte

ElkArte ya está instalado y configurado. Es hora de acceder a la interfaz web de ElkArte.

Abre tu navegador web y escribe la URL http://example.com. Serás redirigido a la página de bienvenida de ElkArte:

Instalador de ElkArte

Haz clic en el botón Continuar. Deberías ver la siguiente página:

Configuración de la base de datos

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

Configuración del foro

Proporciona el nombre de tu Foro, la URL del Foro y haz clic en el botón Continuar. Deberías ver la siguiente página:

Rellenar la base de datos

Ahora, haz clic en el botón Continuar. Deberías ver la página de creación del administrador:

Crear una cuenta de administrador

Proporciona el nombre de administrador que desees, la contraseña, el correo electrónico, la contraseña de la base de datos y haz clic en el botón Continuar. Una vez finalizada la instalación, deberías ver la siguiente página:

Finalizar la instalación

Ahora, haz clic en«tu foro recién instalado«. Deberías ver el panel de control de ElkArte en la siguiente página:

Foro ElkArte

Asegura ElkArte con Let’s Encrypt

En primer lugar, tendrás que instalar Certbot en tu servidor. Certbot se utiliza para obtener un certificado SSL de Let’s Encrypt y configurar Apache para que utilice este certificado.

Por defecto, la última versión de Certbot no está disponible en el repositorio por defecto de Debian 10. Así que tendrás que añadir el repositorio de Certbot en tu servidor.

Primero, añade el repositorio de Certbot con el siguiente comando:

add-apt-repository ppa:certbot/certbot

Una vez añadido el repositorio, actualiza el repositorio e instala Certbot con el siguiente comando:

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

Ahora Certbot está instalado y listo para ser utilizado.

Ejecuta el siguiente comando para obtener el certificado SSL para tu dominio:

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

¡Felicidades! tu ElkArte está ahora protegido con un certificado SSL. Ahora puedes acceder de forma segura visitando la URL https://example.com.

También te podría gustar...