TaskBoard mit Apache und let’s Encrypt SSL auf Debian 11 installieren

TaskBoard ist eine kostenlose und quelloffene Kanban-Anwendung, mit der du den Überblick über die Dinge behältst, die erledigt werden müssen. Es handelt sich um eine PHP-basierte und selbst gehostete Anwendung, mit der du alle Aufgaben im Blick behalten kannst. Sie bietet eine einfache und benutzerfreundliche Weboberfläche zur Verwaltung aller Aufgaben. Sie wird von Teams oder Organisationen verwendet, um die Arbeit und ihren Weg zur Fertigstellung darzustellen.

Funktionen

  • Kostenlos und Open-Source
  • Unbegrenzte Anzahl von Boards
  • Einfach und leicht zu installieren
  • Leicht anpassbar
  • RESTful API
  • Einfache Benutzerverwaltung

In diesem Tutorial zeige ich dir, wie du Taskboard auf Debian 11 installierst.

Voraussetzungen

  • Ein Server, auf dem Debian 11 läuft.
  • Ein gültiger Domainname, der auf die IP deines Servers zeigt.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

Erste Schritte

Bevor du beginnst, solltest du deine Systempakete auf die aktuelle Version aktualisieren. Du kannst alle Pakete aktualisieren, indem du den folgenden Befehl ausführst:

apt-get update -y

Sobald alle Pakete aktualisiert sind, kannst du mit dem nächsten Schritt fortfahren.

Apache, PHP und Sqlite installieren

Zuerst musst du den Apache Webserver, PHP, SQLite und andere benötigte Abhängigkeiten auf deinem Server installieren. Du kannst sie alle installieren, indem du den folgenden Befehl ausführst:

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

Wenn alle Pakete installiert sind, starte den Apache-Dienst und aktiviere ihn so, dass er beim Neustart des Systems gestartet wird:

systemctl start apache2
systemctl enable apache2

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Taskboard herunterladen

Lade zunächst die neueste Version von Taskboard mit folgendem Befehl herunter:

curl -s https://api.github.com/repos/kiswa/TaskBoard/releases/latest |grep browser_download_url | cut -d '"' -f 4 | wget -i -

Sobald der Download abgeschlossen ist, entpackst du die heruntergeladene Datei mit dem folgenden Befehl in das Apache-Web-Root-Verzeichnis:

unzip TaskBoard_v*.zip -d /var/www/html/taskboard

Als Nächstes legst du die richtigen Eigentums- und Zugriffsrechte für das Taskboard-Verzeichnis fest:

chown -R www-data:www-data /var/www/html/taskboard
chmod -R 775 /var/www/html/taskboard

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Apache für Taskboard konfigurieren

Als Nächstes musst du eine Konfigurationsdatei für den virtuellen Apache-Host für Taskboard erstellen. Du kannst sie erstellen, indem du den folgenden Befehl ausführst:

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

Füge die folgenden Zeilen ein:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    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>

Wenn du fertig bist, speichere und schließe die Datei und aktiviere den virtuellen Apache-Host mit dem folgenden Befehl:

a2ensite taskboard.conf

Als Nächstes aktivierst du das Apache-Rewrite-Modul und startest den Apache-Webdienst mit dem folgenden Befehl neu:

a2enmod rewrite
systemctl restart apache2

Jetzt kannst du den Status des Apache-Dienstes mit folgendem Befehl überprüfen:

systemctl status apache2

Du erhältst die folgende Ausgabe:

? 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...

Wenn du fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Zugriff auf Taskboard

Jetzt ist Taskboard installiert und konfiguriert. Öffne nun deinen Webbrowser und rufe das Taskboard über die URL http://taskboard.example.com auf. Du wirst auf die Anmeldeseite des Taskboards weitergeleitet:

TaskBoard Anmeldung

Gib den Standard-Benutzernamen admin und das Passwort admin/admin ein und klicke auf die Schaltfläche Anmelden. Auf der folgenden Seite solltest du das Taskboard-Dashboard sehen:

Dashboard

Klicke jetzt auf die Schaltfläche Einstellungen, um das Standard-Administrator-Passwort für das Taskboard zu ändern. Du solltest die folgende Seite sehen:

TaskBoard-Einstellungen

Gib dein neues Administrator-Passwort ein und klicke auf die Schaltfläche Passwort ändern, um die Änderungen zu übernehmen.

Taskboard mit Let’s Encrypt SSL sichern

Wenn du dein Taskboard mit Let’s Encrypt SSL sichern möchtest, musst du das Certbot Client-Paket installieren und das Let’s Encrypt SSL für dein Taskboard verwalten.

Du kannst es installieren, indem du den folgenden Befehl ausführst:

apt-get install python3-certbot-apache -y

Sobald das Certbot-Paket installiert ist, führe den folgenden Befehl aus, um Let’s Encrypt SSL für deine Taskboard-Website herunterzuladen und zu installieren.

certbot --apache -d taskboard.example.com

Du wirst aufgefordert, deine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):

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): hitjethva1981@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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

Als Nächstes wählst du aus, ob der HTTP-Verkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):

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

Gib 2 ein und drücke die Eingabetaste, um Let’s Encrypt SSL für deine Website zu installieren:

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

Jetzt kannst du deine Website sicher über die URL https://taskboard.example.com aufrufen.

Fazit

Glückwunsch! Du hast Taskboard mit Apache und Let’s Encrypt SSL erfolgreich installiert. Du kannst jetzt dein Board erstellen, Benutzer hinzufügen, Aufgaben zuweisen und alles über das zentrale Dashboard verwalten. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …