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