Jirafeauは、PHPで構築されたWebアプリケーションをホストおよび共有する単純なファイルです。データベースを必要とせず、パスワード保護、スケジュールされた有効期限、1回限りのダウンロード(自己破壊)、ブラウザ内プレビューなどの便利な機能をサポートする、クリーンで使いやすいユーザーインターフェイスを提供します。
この記事では、NginxとPHP-FPMを使用して、Debian10にJirafeauを最初からインストールして構成する方法について説明します。
- rootアクセス権を持つDebian10システム。
- サーバーを指すドメイン名。
- $EDITOR環境変数を設定する必要があります。
root以外のsudoユーザーとしてログインしている場合は、特権シェルを使用して、このガイドに示されているコマンドを実行してください。次のコマンドでルートシェルを起動できます:
sudo -s
Jirafeauのインストール
システムを更新することから始めます:
apt update apt upgrade -y reboot
システムが再び起動したら、次のコマンドを使用して必要なソフトウェアパッケージをインストールします。
apt install -y nginx php php-fpm certbot git
次に、NginxとPHP-FPMの両方が有効になっていて、実行されていることを確認します。
systemctl enable --now nginx.service php7.3-fpm.service
Webサーバーを構成する前に、ドメインのSSL証明書を取得する必要があります。これを行うには、次のようにcertbotツールを使用します。
certbot certonly --webroot -m [email protected] -d your_domain --agree-tos
このコマンドを実行すると、最初にEFFから電子メールを受信するかどうかを尋ねられます。次に、ドメインのWebルートを入力するように求められたら、/ 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
ドメインの所有権が確認され、証明書と関連ファイルが/ etc /letsencrypt / live /your_domain/に保存されます。これでNginxを構成できます。
Nginx構成
デフォルトの構成ファイルは不要なので無効にします:
rm /etc/nginx/sites-enabled/default
次に、新しい構成ファイルを作成します。
$EDITOR /etc/nginx/sites-available/your_domain.conf
そして、次のように入力します:
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;
}
}
注:提供された構成では、すべてのHTTPリクエストがHTTPSにリダイレクトされます。
次に、/ etc / nginx / sites-enabled /ディレクトリにシンボリックリンクを作成して、新しい構成ファイルを有効にします。
ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/
次の設定エラーを確認します:
nginx -t
次に、次のコマンドを発行してロードします:
systemctl reload nginx.service
Jirafeauのインストール
GitlabリポジトリからJirafeauをダウンロードします:
mkdir /var/www/html/jirafeau git clone https://gitlab.com/mojo42/Jirafeau.git /var/www/html/jirafeau
Jirafeauのデータディレクトリを作成します。このディレクトリには、Webサーバーからアクセスできないようにする必要があります(つまり、Webルートディレクトリ(構成では/ var / www / html)の外部にある必要があります)。 / var / data/jirafeauを使用します。
mkdir -p /var/data/jirafeau
Nginxユーザーに、Jirafeauが使用する構成およびデータディレクトリの所有権を付与します。最適には、セットアップが完了したらファイルのアクセス許可を厳しくする必要があります。
chown -R www-data:www-data /var/www/html/jirafeau/lib /var/data/jirafeau
次に、Webブラウザーを開き、https://your_domain/install.phpに移動します。最初に、管理インターフェースのパスワードを選択するように求められます。安全なパスワードを入力して、次の手順に進みます。ベースアドレスにはhttps:// your_domain /と入力し、データディレクトリには/ var / data /jirafeau/と入力します。次のステップに進みます。その間に、インストーラーはJirafeauの基本構成ファイルを作成します。
Jirafeauの構成
組み込みのインストーラースクリプトは、Essentialのみを構成します。より完全な構成については、対応するファイルを開いてください:
$EDITOR /var/www/html/jirafeau/lib/config.local.php
デフォルトの組織名を置き換え、連絡先とタイトルキーを設定します。組織と担当者の値は、利用規約(https://your_domain/tos.php)に表示されます。
'organisation' => 'Your Organisation/Company', 'contactperson' => 'Your Name <[email protected]>', 'title' => 'Title of your choice',
デフォルトでは、アップロード機能へのアクセスは制限されていません。このアクセスを制限するために1つ以上のパスワードを設定できます。示されている構文を使用します:
'upload_password' =>
array (
'password1',
'password2',
),
ファイルをアップロードする場合、アップロードフォームでさまざまな時間制限を利用できます。 Jirafeauでは、デフォルトで最大1か月の期限が設定されており、その後、アップロードされたファイルは削除されます。使用可能な期間を変更するには、availability配列を変更します。たとえば、すべての有効期限を許可するには、次を使用します。
array (
'minute' => true,
'hour' => true,
'day' => true,
'week' => true,
'month' => true,
'quarter' => true,
'year' => true,
'none' => true,
),
構成に問題がなければ、変更を適用するためのアクションは必要ありません。
これで、ファイルホスティングWebサイトを使用する準備が整いました。管理インターフェースには、https://your_domain/admin.php
からアクセスできます。