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:

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:

Tablero de mandos

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:

Configuración de la TaskBoard

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.

También te podría gustar...