Wie man eine File-Sharing-Website mit Jirafeau auf Debian 10 einrichtet
Jirafeau ist eine einfache Webanwendung zum Hosten und Austauschen von Dateien, die in PHP erstellt wurde. Es benötigt keine Datenbank und bietet eine saubere, leicht zu bedienende Benutzeroberfläche mit Unterstützung für Passwortschutz, planmäßiges Ablaufen, einmalige Downloads (Selbstzerstörung) und Browser-Vorschau sowie weitere nützliche Funktionen.
Dieser Artikel fÃ?hrt Sie durch die Installation und Konfiguration von Jirafeau unter Debian 10 von Grund auf, mit Nginx und PHP-FPM.
Anforderungen
- Ein Debian-10-System, auf dem Sie Root-Zugang haben.
- Ein Domänenname, der auf Ihren Server zeigt.
- Die Umgebungsvariable $EDITOR muss gesetzt werden.
Wenn Sie als Nicht-Wurzel-Sudo-Benutzer angemeldet sind, verwenden Sie eine privilegierte Shell, um die in diesem Handbuch gezeigten Befehle auszuführen. Sie können eine Root-Shell mit starten:
sudo -s
Jirafeau-Installation
Aktualisierung des Systems und Installation von Abhängigkeiten
Beginnen Sie mit der Aktualisierung Ihres Systems:
apt update apt upgrade -y reboot
Sobald das System wieder läuft, installieren Sie die erforderlichen Softwarepakete mit dem folgenden Befehl:
apt install -y nginx php php-fpm certbot git
Stellen Sie dann sicher, dass Nginx und PHP-FPM sowohl aktiviert sind als auch laufen:
systemctl enable --now nginx.service php7.3-fpm.service
SSL-Zertifikat erhalten
Bevor Sie den Webserver konfigurieren, müssen Sie ein SSL-Zertifikat für Ihre Domain erhalten. Verwenden Sie dazu das certbot-Werkzeug wie abgebildet:
certbot certonly --webroot -m your_email@example.com -d your_domain --agree-tos
Nachdem Sie diesen Befehl ausgeführt haben, werden Sie zunächst gefragt, ob Sie E-Mails von der EFF erhalten möchten. Wenn Sie dann aufgefordert werden, die Webroot für Ihre Domain einzugeben, geben Sie /var/www/html ein:
Obtaining a new certificate Performing the following challenges: http-01 challenge for example.com Input the webroot for example.com: (Enter 'c' to cancel): /var/www/html
Der Besitz der Domain wird überprüft und Ihr Zertifikat und die zugehörigen Dateien werden in /etc/letsencrypt/live/your_domain/ gespeichert. Wir können jetzt Nginx konfigurieren.
Nginx-Konfiguration
Deaktivieren Sie die Standardkonfigurationsdatei, da sie nicht benötigt wird:
rm /etc/nginx/sites-enabled/default
Erstellen Sie dann eine neue Konfigurationsdatei:
$EDITOR /etc/nginx/sites-available/your_domain.conf
Und geben Sie Folgendes ein:
server { listen 80; listen [::]:80; server_name your_domain; return 301 https://your_domain$request_uri; } server { listen 443 ssl; listen [::]:443 ssl; server_name your_domain; root /var/www/html/jirafeau; index index.php; ssl on; ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
HINWEIS: Mit der bereitgestellten Konfiguration werden alle HTTP-Anfragen an HTTPS umgeleitet.
Als nächstes aktivieren Sie die neue Konfigurationsdatei, indem Sie einen Symlink im Verzeichnis /etc/nginx/sites-enabled/ erstellen:
ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/
Prüfen Sie mit auf etwaige Konfigurationsfehler:
nginx -t
Dann laden Sie sie durch den Befehl:
systemctl reload nginx.service
Installation von Jirafeau
Laden Sie Jirafeau aus seinem Gitlab-Repository herunter:
mkdir /var/www/html/jirafeau git clone https://gitlab.com/mojo42/Jirafeau.git /var/www/html/jirafeau
Erstellen Sie ein Datenverzeichnis für Jirafeau. Dieses Verzeichnis sollte nicht über Ihren Webserver zugänglich sein (d.h. es sollte sich außerhalb des Web-Stammverzeichnisses befinden, das bei unserer Konfiguration /var/www/html ist). Wir werden /var/data/jirafeau verwenden.
mkdir -p /var/data/jirafeau
Geben Sie dem Nginx-Benutzer das Eigentum an den von Jirafeau verwendeten Konfigurations- und Datenverzeichnissen. Optimal ist es, wenn Sie die Dateiberechtigungen nach Abschluss der Einrichtung verschärfen.
chown -R www-data:www-data /var/www/html/jirafeau/lib /var/data/jirafeau
Öffnen Sie dann Ihren Webbrowser und navigieren Sie zu https://your_domain/install.php. Sie werden zunächst aufgefordert, ein Passwort für die Administrationsoberfläche zu wählen. Geben Sie ein sicheres Passwort ein und fahren Sie mit dem nächsten Schritt fort. Als Basisadresse geben Sie https://your_domain/ und als Datenverzeichnis /var/data/jirafeau/ ein. Fahren Sie mit dem nächsten Schritt fort, bei dem das Installationsprogramm eine grundlegende Konfigurationsdatei für Jirafeau erstellt.
Konfigurieren von Jirafeau
Das integrierte Installationsskript konfiguriert nur das Wesentliche. Für eine gründlichere Konfiguration öffnen Sie die entsprechende Datei:
$EDITOR /var/www/html/jirafeau/lib/config.local.php
Ersetzen Sie den Standardnamen der Organisation und legen Sie den Schlüssel für die Kontaktperson und den Titel fest. Die Werte der Organisation und der Kontaktperson werden in Ihren Nutzungsbedingungen (https://your_domain/tos.php) angezeigt.
'organisation' => 'Your Organisation/Company', 'contactperson' => 'Your Name <email@example.com>', 'title' => 'Title of your choice',
Standardmäßig ist der Zugriff auf die Upload-Funktion uneingeschränkt möglich. Sie können ein oder mehrere Passwörter festlegen, um diesen Zugriff einzuschränken. Verwenden Sie die gezeigte Syntax:
'upload_password' => array ( 'password1', 'password2', ),
Beim Hochladen einer Datei stehen im Upload-Formular verschiedene Zeitlimits zur Verfügung. Jirafeau erlaubt standardmäßig eine Frist von bis zu einem Monat, nach deren Ablauf hochgeladene Dateien gelöscht werden. Um die verfügbaren Zeiträume zu ändern, modifizieren Sie das Verfügbarkeitsarray. Um z.B. alle Ablauffristen zuzulassen, verwenden Sie Folgendes:
array ( 'minute' => true, 'hour' => true, 'day' => true, 'week' => true, 'month' => true, 'quarter' => true, 'year' => true, 'none' => true, ),
Sobald Sie mit Ihrer Konfiguration zufrieden sind, sind keine weiteren Maßnahmen erforderlich, um die Änderungen anzuwenden.
Ihre Datei-Hosting-Website ist jetzt einsatzbereit. Die Verwaltungsschnittstelle kann unter https://your_domain/admin.php aufgerufen werden.