Instalar TaskBoard con Apache y Let’s Encrypt SSL en Debian 11
TaskBoard es una aplicación Kanban gratuita y de código abierto que se utiliza para hacer un seguimiento de las cosas que hay que hacer. Es una aplicación basada en PHP y autoalojada que te ayuda a llevar un control de todas las tareas. Proporciona una interfaz web sencilla y fácil de usar para gestionar todas tus tareas. Es utilizada por equipos u organizaciones para representar el trabajo y su camino hacia la finalización.
Características
- Gratis y de código abierto
- Tableros ilimitados
- Simple y fácil de instalar
- Fácil de personalizar
- API RESTful
- Gestión básica de usuarios
En este tutorial, te mostraré cómo instalar Taskboard en Debian 11.
Requisitos previos
- Un servidor con Debian 11.
- Un nombre de dominio válido apuntado con la IP de tu servidor.
- Una contraseña de root configurada en el servidor.
Cómo empezar
Antes de empezar, es conveniente que actualices los paquetes de tu sistema a la versión actualizada. Puedes actualizarlos todos ejecutando el siguiente comando:
apt-get update -y
Una vez actualizados todos los paquetes, puedes pasar al siguiente paso.
Instalar Apache, PHP y Sqlite
En primer lugar, tendrás que instalar el servidor web Apache, PHP, SQLite y otras dependencias necesarias en tu servidor. Puedes instalarlos todos ejecutando el siguiente comando:
apt-get install apache2 sqlite3 php libapache2-mod-php php-cli php-common php-json php-readline php-sqlite3 libaio1 libapr1 libhtml-template-perl libaprutil1-dbd-sqlite3 libaprutil1-ldap libaprutil1 libdbi-perl libterm-readkey-perl curl libwrap0 unzip wget -y
Una vez instalados todos los paquetes, inicia el servicio Apache y habilítalo para que se inicie al reiniciar el sistema:
systemctl start apache2
systemctl enable apache2
Una vez que hayas terminado, puedes pasar al siguiente paso.
Descargar Taskboard
En primer lugar, descarga la última versión de Taskboard con el siguiente comando:
curl -s https://api.github.com/repos/kiswa/TaskBoard/releases/latest |grep browser_download_url | cut -d '"' -f 4 | wget -i -
Una vez completada la descarga, extrae el archivo descargado al directorio raíz de la web de Apache con el siguiente comando:
unzip TaskBoard_v*.zip -d /var/www/html/taskboard
A continuación, establece la propiedad y el permiso adecuados en el directorio de Taskboard:
chown -R www-data:www-data /var/www/html/taskboard
chmod -R 775 /var/www/html/taskboard
Una vez que hayas terminado, puedes pasar al siguiente paso.
Configurar Apache para Taskboard
A continuación, tendrás que crear un archivo de configuración del host virtual de Apache para Taskboard. Puedes crearlo ejecutando el siguiente comando:
nano /etc/apache2/sites-available/taskboard.conf
Añade las siguientes líneas:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/taskboard" ServerName taskboard.example.com <Directory "/var/www/html/taskboard"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog "/var/log/apache2/taskboard-error_log" CustomLog "/var/log/apache2/taskboard-access_log" combined </VirtualHost>
Guarda y cierra el archivo cuando hayas terminado y luego habilita el host virtual de Apache con el siguiente comando:
a2ensite taskboard.conf
A continuación, habilita el módulo de reescritura de Apache y reinicia el servicio web de Apache con el siguiente comando:
a2enmod rewrite
systemctl restart apache2
Ahora puedes comprobar el estado del servicio Apache con el siguiente comando:
systemctl status apache2
Obtendrás la siguiente salida:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-11-06 14:46:54 UTC; 5s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 23704 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 23709 (apache2) Tasks: 6 (limit: 4679) Memory: 15.3M CPU: 110ms CGroup: /system.slice/apache2.service ??23709 /usr/sbin/apache2 -k start ??23710 /usr/sbin/apache2 -k start ??23711 /usr/sbin/apache2 -k start ??23712 /usr/sbin/apache2 -k start ??23713 /usr/sbin/apache2 -k start ??23714 /usr/sbin/apache2 -k start Nov 06 14:46:54 debian11 systemd[1]: Starting The Apache HTTP Server...
Una vez que hayas terminado, puedes pasar al siguiente paso.
Acceder a Taskboard
En este punto, Taskboard está instalado y configurado. Ahora, abre tu navegador web y accede al Taskboard utilizando la URL http://taskboard.example.com. Serás redirigido a la página de inicio de sesión de Taskboard:
Proporciona el nombre de usuario y la contraseña por defecto admin/admin y haz clic en el botón Iniciar sesión. Deberías ver el panel de control del Taskboard en la siguiente página:
Ahora, haz clic en el botón Configuración para cambiar la contraseña de administrador por defecto del Tablero de Tareas. Deberías ver la siguiente página:
Proporciona tu nueva contraseña de administrador y haz clic en el botón Cambiar contraseña para aplicar los cambios.
Asegura el Taskboard con Let’s Encrypt SSL
Si quieres asegurar tu Taskboard con Let’s Encrypt SSL, tendrás que instalar el paquete cliente Certbot y gestionar el Let’s Encrypt SSL para tu Taskboard.
Puedes instalarlo ejecutando el siguiente comando:
apt-get install python3-certbot-apache -y
Una vez instalado el paquete Certbot, ejecuta el siguiente comando para descargar e instalar el SSL de Let’s Encrypt para tu sitio web de Taskboard.
certbot --apache -d taskboard.example.com
Se te pedirá que proporciones tu correo electrónico y que aceptes las condiciones del servicio, como se muestra a continuación:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None 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 Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Performing the following challenges: http-01 challenge for taskboard.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/taskboard-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/taskboard-le-ssl.conf Enabling available site: /etc/apache2/sites-available/taskboard-le-ssl.conf
A continuación, selecciona si quieres redirigir el tráfico HTTP a 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
Escribe 2 y pulsa Intro para instalar el SSL de Let’s Encrypt para tu sitio web:
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/taskboard.conf to ssl vhost in /etc/apache2/sites-available/taskboard-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://taskboard.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=taskboard.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/taskboard.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/taskboard.example.com/privkey.pem Your cert will expire on 2022-02-7. 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" - 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
Ahora, puedes acceder a tu sitio web de forma segura utilizando la URL https://taskboard.example.com.
Conclusión
Enhorabuena! has instalado con éxito Taskboard con Apache y Let’s Encrypt SSL. Ahora puedes crear tu tablero, añadir usuarios, asignar tareas y gestionar todo desde el tablero central. No dudes en preguntarme si tienes alguna duda.