Jirafeau ist eine einfache Webanwendung zum Hosten und Teilen von Dateien, die in PHP erstellt wurde. Es erfordert keine Datenbank und bietet eine übersichtliche, benutzerfreundliche Benutzeroberfläche mit Unterstützung für Passwortschutz, geplante Ablaufzeit, einmalige Downloads (Selbstzerstörung) und Vorschau im Browser neben anderen nützlichen Funktionen.
Dieser Artikel führt Sie durch die Installation und Konfiguration von Jirafeau auf Debian 10 von Grund auf mit Nginx und PHP-FPM.
Anforderungen
- Ein Debian 10-System, auf dem Sie Root-Zugriff haben.
- Ein Domänenname, der auf Ihren Server verweist.
- Die Umgebungsvariable $EDITOR muss gesetzt werden.
Wenn Sie als sudo-Benutzer ohne Rootberechtigung angemeldet sind, verwenden Sie eine privilegierte Shell, um die in diesem Handbuch gezeigten Befehle auszuführen. Sie können eine Root-Shell starten mit:
sudo -s
Jirafeau-Installation
System aktualisieren und Abhängigkeiten installieren
Beginnen Sie mit der Aktualisierung Ihres Systems:
apt update apt upgrade -y reboot
Sobald das System wieder hochgefahren ist, installieren Sie die erforderlichen Softwarepakete mit dem folgenden Befehl:
apt install -y nginx php php-fpm certbot git
Stellen Sie dann sicher, dass sowohl Nginx als auch PHP-FPM aktiviert sind und ausgeführt werden:
systemctl enable --now nginx.service php7.3-fpm.service
SSL-Zertifikat abrufen
Bevor Sie den Webserver konfigurieren, müssen Sie ein SSL-Zertifikat für Ihre Domain erwerben. Verwenden Sie dazu das certbot-Tool wie gezeigt:
certbot certonly --webroot -m [email protected] -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, das Webroot für Ihre Domain einzugeben, geben Sie /var/www/html:
einObtaining 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 Domänenbesitz wird verifiziert 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 weitergeleitet.
Aktivieren Sie als Nächstes die neue Konfigurationsdatei, indem Sie einen symbolischen Link im Verzeichnis /etc/nginx/sites-enabled/ erstellen:
ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/
Suchen Sie nach Konfigurationsfehlern mit:
nginx -t
Laden Sie es dann, indem Sie den folgenden Befehl ausgeben:
systemctl reload nginx.service
Installieren 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-Root-Verzeichnisses befinden, das bei unserer Konfiguration /var/www/html ist). Wir verwenden /var/data/jirafeau.
mkdir -p /var/data/jirafeau
Geben Sie dem Nginx-Benutzer das Eigentum an den Konfigurations- und Datenverzeichnissen, die von Jirafeau verwendet werden. Optimalerweise sollten Sie die Dateiberechtigungen verschärfen, sobald Ihre Einrichtung abgeschlossen ist.
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. Geben Sie als Basisadresse https://your_domain/ und /var/data/jirafeau/ für das Datenverzeichnis ein. Fahren Sie mit dem nächsten Schritt fort, in dem das Installationsprogramm eine grundlegende Konfigurationsdatei für Jirafeau erstellt.
Jirafeau konfigurieren
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 standardmäßigen Organisationsnamen und legen Sie die Kontaktpersonen- und Titelschlüssel fest. Die Organisations- und Ansprechpartnerwerte werden in Ihren Nutzungsbedingungen (https://ihre_domain/tos.php) angezeigt.
'organisation' => 'Your Organisation/Company', 'contactperson' => 'Your Name <[email protected]>', 'title' => 'Title of your choice',
Standardmäßig ist der Zugriff auf die Upload-Funktion uneingeschränkt. 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 unterschiedliche Fristen zur Verfügung. Jirafeau lässt standardmäßig Fristen von bis zu einem Monat zu, nach denen hochgeladene Dateien gelöscht werden. Um die verfügbaren Zeiträume zu ändern, ändern Sie das Verfügbarkeits-Array. Um beispielsweise alle Ablaufzeiträume zuzulassen, verwenden Sie Folgendes:
array ( 'minute' => true, 'hour' => true, 'day' => true, 'week' => true, 'month' => true, 'quarter' => true, 'year' => true, 'none' => true, ),
Wenn Sie mit Ihrer Konfiguration zufrieden sind, müssen Sie nichts unternehmen, um die Änderungen zu übernehmen.
Ihre Datei-Hosting-Website ist jetzt einsatzbereit. Die Administrationsoberfläche ist unter https://ihre_domain/admin.php
erreichbar