Jirafeau je jednoduchá webová aplikace pro hostování a sdílení souborů postavená v PHP. Nevyžaduje databázi a poskytuje čisté, snadno použitelné uživatelské rozhraní s podporou ochrany heslem, plánovaného vypršení platnosti, jednorázového stahování (sebedestrukce) a náhledu v prohlížeči mezi dalšími užitečnými funkcemi.
Tento článek vás provede instalací a konfigurací Jirafeau na Debianu 10 od začátku, s Nginx a PHP-FPM.
Požadavky
- Systém Debian 10, ke kterému máte přístup root.
- Název domény směřující na váš server.
- Musí být nastavena proměnná prostředí $EDITOR.
Pokud jste přihlášeni jako uživatel sudo bez oprávnění root, použijte k provádění příkazů uvedených v této příručce privilegovaný shell. Kořenový shell můžete spustit pomocí:
sudo -s
Instalace Jirafeau
Aktualizace systému a instalace závislostí
Začněte aktualizací systému:
apt update apt upgrade -y reboot
Jakmile bude systém opět spuštěn, nainstalujte požadované softwarové balíčky pomocí následujícího příkazu:
apt install -y nginx php php-fpm certbot git
Poté se ujistěte, že Nginx a PHP-FPM jsou povoleny a spuštěny:
systemctl enable --now nginx.service php7.3-fpm.service
Získat certifikát SSL
Před konfigurací webového serveru budete muset získat certifikát SSL pro vaši doménu. Chcete-li to provést, použijte nástroj certbot, jak je znázorněno:
certbot certonly --webroot -m [email protected] -d your_domain --agree-tos
Po provedení tohoto příkazu budete nejprve dotázáni, zda chcete dostávat e-maily z EFF. Poté, až budete vyzváni k zadání webového kořenového adresáře vaší domény, zadejte /var/www/html:
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
Vlastnictví domény bude ověřeno a váš certifikát a související soubory budou uloženy v /etc/letsencrypt/live/vaše_doména/. Nyní můžeme nakonfigurovat Nginx.
Konfigurace Nginx
Deaktivujte výchozí konfigurační soubor, protože není potřeba:
rm /etc/nginx/sites-enabled/default
Poté vytvořte nový konfigurační soubor:
$EDITOR /etc/nginx/sites-available/your_domain.conf
A zadejte následující:
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; } }
POZNÁMKA: S poskytnutou konfigurací budou všechny požadavky HTTP přesměrovány na HTTPS.
Dále povolte nový konfigurační soubor vytvořením symbolického odkazu v adresáři /etc/nginx/sites-enabled/:
ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/
Zkontrolujte případné chyby konfigurace pomocí:
nginx -t
Poté jej načtěte zadáním příkazu:
systemctl reload nginx.service
Instalace Jirafeau
Stáhněte si Jirafeau z jeho úložiště Gitlab:
mkdir /var/www/html/jirafeau git clone https://gitlab.com/mojo42/Jirafeau.git /var/www/html/jirafeau
Vytvořte datový adresář pro Jirafeau. Tento adresář by neměl být přístupný přes váš webový server (tj. měl by být umístěn mimo kořenový webový adresář, kterým je s naší konfigurací /var/www/html). Použijeme /var/data/jirafeau.
mkdir -p /var/data/jirafeau
Dejte uživateli Nginx vlastnictví konfiguračních a datových adresářů používaných Jirafeau. Optimálně byste měli zpřísnit oprávnění k souborům po dokončení nastavení.
chown -R www-data:www-data /var/www/html/jirafeau/lib /var/data/jirafeau
Poté otevřete webový prohlížeč a přejděte na https://vaše_doména/install.php. Nejprve budete požádáni o výběr hesla pro administrační rozhraní. Zadejte bezpečné heslo a přejděte k dalšímu kroku. Jako základní adresu zadejte https://vaše_doména/ a /var/data/jirafeau/ pro datový adresář. Pokračujte dalším krokem, během kterého instalační program vytvoří základní konfigurační soubor pro Jirafeau.
Konfigurace Jirafeau
Vestavěný instalační skript konfiguruje pouze to nejnutnější. Pro důkladnější konfiguraci otevřete odpovídající soubor:
$EDITOR /var/www/html/jirafeau/lib/config.local.php
Nahraďte výchozí název organizace a nastavte klíče kontaktní osoby a titulu. Hodnoty organizace a kontaktní osoby budou zobrazeny ve vašich podmínkách služby (https://vaše_doména/tos.php).
'organisation' => 'Your Organisation/Company', 'contactperson' => 'Your Name <[email protected]>', 'title' => 'Title of your choice',
Ve výchozím nastavení je přístup k funkci nahrávání neomezený. Pro omezení tohoto přístupu můžete nastavit jedno nebo více hesel. Použijte zobrazenou syntaxi:
'upload_password' => array ( 'password1', 'password2', ),
Při nahrávání souboru jsou ve formuláři pro nahrávání k dispozici různé časové limity. Jirafeau ve výchozím nastavení umožňuje časové limity až jeden měsíc, po jejichž uplynutí jsou nahrané soubory smazány. Chcete-li změnit dostupná období, upravte pole dostupnosti. Chcete-li například povolit všechna období platnosti, použijte následující:
array ( 'minute' => true, 'hour' => true, 'day' => true, 'week' => true, 'month' => true, 'quarter' => true, 'year' => true, 'none' => true, ),
Jakmile jste se svou konfigurací spokojeni, není třeba provádět změny.
Váš web pro hostování souborů je nyní připraven k použití. Administrační rozhraní je přístupné na https://vaše_doména/admin.php