Introducción
ElkArte es un potente software de creación de foros gratuito, de código abierto y basado en Simple Machines Forum. Está escrito en PHP y le permite crear un foro receptivo para dispositivos móviles e inalámbricos. Está diseñado para proporcionar toda la funcionalidad necesaria para un foro comunitario integral desde el principio.
ElkArte es la elección correcta para usted si está buscando una plataforma de foro simple y directa que sea fácil de personalizar.
En este tutorial, le mostraremos cómo instalar ElkArte con Let's Encrypt SSL en Ubuntu 20.04 LTS Focal Fossa.
Prerrequisitos
- Un servidor que ejecuta Ubuntu 20.04.
- Un nombre de dominio válido asociado con su servidor.
- Acceso root o con un usuario con privilegios sudo.
Si desea instalar Elkarte Forum en un servidor remoto, continúe leyendo, de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no usa el usuario raíz, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie la raíz a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Instale Apache, PHP y MariaDB
ElkArte se ejecuta en el servidor web, basado en PHP y utiliza MariaDB como backend de la base de datos. Luego, deberá instalar Apache, MariaDB, PHP y otras extensiones PHP en su servidor. Puede instalar todos los paquetes con el siguiente comando:
sudo apt-get install apache2 mariadb-server php7.4 libapache2-mod-php7.4 php7.4-common php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-mysql php7.4-gd php7.4-pgsql php7.4-xml php7.4-cli php7.4-imagick php7.4-bcmath php7.4-gmp php7.4-zip unzip -y
Una vez que todos los paquetes estén instalados, abra el php.ini
y cambie algunas configuraciones útiles con su editor:
sudo nano /etc/php/7.4/apache2/php.ini
Edite las siguientes líneas:
Change the following lines:
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Europe/Rome
Guarde y cierre el archivo, luego reinicie el servicio Apache para aplicar los cambios:
sudo systemctl restart apache2
Configurar la base de datos MariaDB
Primero, asegure la instalación de MariaDB y configure la contraseña de root de MariaDB con el siguiente comando:
sudo mysql_secure_installation
Responda todas las preguntas como se muestra a continuación:
Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
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
Luego, inicie sesión en el shell MariaDB con el siguiente comando:
sudo mysql -u root
Después de iniciar sesión, cree una base de datos y un usuario para ElkArte:
CREATE DATABASE elkdb;
CREATE USER 'elk'@'localhost' IDENTIFIED BY 'password';
A continuación, conceda todos los privilegios a elkdb con el siguiente comando:
GRANT ALL ON elkdb.* TO 'elk'@'localhost' WITH GRANT OPTION;
Luego, actualice los privilegios y salga del shell MariaDB con el siguiente comando:
FLUSH PRIVILEGES;
EXIT;
Una vez configurada la base de datos, puede continuar con el siguiente paso.
Para obtener más información sobre el acceso con contraseña a la base de datos MariaDB, lea el siguiente tutorial: Cómo instalar MariaDB en Ubuntu 20.04 LTS.
Descarga ElkArte
Primero, descargue la última versión de ElkArte desde el repositorio de Git usando el comando wget:
sudo wget https://github.com/elkarte/Elkarte/releases/download/v1.1.6/ElkArte_v1-1-6_install.zip
Una vez que se complete la descarga, descomprima el archivo descargado en el directorio raíz web de Apache usando el comando unzip:
sudo unzip ElkArte_v1-1-6_install.zip -d /var/www/html/elkarte
Luego, otorgue los permisos apropiados al directorio elkarte usando el comando chown y chmod:
sudo chown -R www-data:www-data /var/www/html/elkarte/
sudo chmod -R 755 /var/www/html/elkarte/
Cuando termine, puede continuar con el siguiente paso.
Configurar Apache para ElkArte
A continuación, cree un nuevo archivo de configuración de host virtual Apache para ElkArte.
sudo nano /etc/apache2/sites-available/elkarte.conf
Agrega las siguientes líneas:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName elk.noviello.it
DocumentRoot /var/www/html/elkarte
<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>
Guarde y cierre el archivo cuando termine. Luego, habilite el host virtual Apache y reescriba el módulo con el siguiente comando:
sudo a2ensite elkarte.conf
sudo a2enmod rewrite
Finalmente, reinicie el servicio Apache para implementar los cambios.
sudo systemctl restart apache2
Proteja ElkArte con Let's Encrypt SSL
Primero, instale Certbot Let's Encrypt Client para administrar SSL para su sitio web:
sudo apt-get install certbot python3-certbot-apache -y
Una vez que Certbot esté instalado, ejecute el siguiente comando para descargar e instalar Let's Encrypt SSL para su sitio web:
sudo certbot --apache -d elk.noviello.it
Se le pedirá que proporcione su dirección de correo electrónico y que acepte el plazo de 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 elk.noviello.it
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/elk-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/elk-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/elk-le-ssl.conf
Luego, seleccione si desea redirigir el tráfico HTTP a través de HTTPS como se muestra a continuación:
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
Escriba 2 y presione Entrar para completar la instalación como se muestra a continuación.
Redirecting vhost in /etc/apache2/sites-enabled/elk.conf to ssl vhost in /etc/apache2/sites-available/elk-le-ssl.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://elk.noviello.it
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=elk.noviello.it
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/elk.noviello.it/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/elk.noviello.it/privkey.pem
Your cert will expire on 2020-08-19. 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
- We were unable to subscribe you the EFF mailing list because your
e-mail address appears to be invalid. You can try again later by
visiting https://act.eff.org.
En este punto, ElkArte está protegido con Let's Encrypt SSL.
Inicie sesión en la interfaz web de ElkArte
Ahora, abra su navegador web y escriba la URL https://elk.noviello.it
. Serás redirigido a la página de bienvenida de ElkArte.
Haga clic en el botón Continuar. Debería ver la página de configuración del servidor de la base de datos.
Proporcione los detalles de la base de datos y haga clic en el botón Continuar. Debería ver la página de configuración del foro.
Proporcione la URL del foro, el nombre del foro y haga clic en el botón Continuar. Debería ver la siguiente página:
Haga clic en el botón Continuar. Debería ver la página de creación de la cuenta de administrador.
Proporcione su nombre de usuario, contraseña, correo electrónico de administrador y haga clic en el botón Continuar. Cuando se complete la instalación, debería ver la página de finalización de la instalación. Seleccione la casilla de verificación "Haga clic aquí para intentar eliminar el directorio de instalación ahora".
Haga clic en el foro recién instalado. Debería ver el panel de ElkArte.
Conclusión
¡Felicidades! instaló ElkArte con Apache y Let's Encrypt SSL en Ubuntu 20.04 LTS Focal Fossa. Ahora puede alojar fácilmente el foro de su comunidad con ElkArte.