ウェブサイト検索

Debian 12にLychee写真管理システムをインストールする方法


Debian 12にLychee写真管理システムをインストールする方法

このページで

  1. 前提条件
  2. 依存関係をインストール中
  3. PHPの設定
  4. MariaDBサーバーの設定
  5. ライチ写真管理をダウンロード中
  6. Apacheのバーチャルホストを作成する
  7. HTTPSでライチを保護する
  8. Lycheeフォトマネジメントのインストール
  9. 結論

ライチは、PHPとMySQLに基づいたオープンソースの写真管理ソフトウェアです。これは自己ホスト型の写真管理ツールであり、あなたのサーバー上で写真を安全にアップロード、ブラウズ、共有することができます。

このチュートリアルでは、Debian 12サーバーにLycheeフォトマネジメントをインストールする方法を学びます。Lycheeを実行するためにLAMPスタックを使用し、CertbotとLetsencryptを通じてHTTPSでLycheeを保護します。

前提条件

始める前に、次のものを用意してください:

  • Debian 12 サーバー
  • 管理者権限を持つ非ルートユーザー

依存関係をインストール中

このセクションでは、DebianサーバーにLAMPスタック(Linux、Apache、MariaDB、PHP)をインストールします。現時点で、LycheeはPHP 8.2以上をサポートしており、これはDebianリポジトリでデフォルトで利用可能です。

まず、以下のコマンドを実行してUbuntuのパッケージインデックスを更新します。

sudo apt update

次のコマンドを使って、LAMPスタックパッケージをDebianシステムにインストールします。インストールを確認するには、‘Y’と入力してください。

sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath php-imagick php-tokenizer libapache2-mod-php

インストールが完了したら、以下のコマンドを実行してApacheサービスのステータスを確認します。Apacheウェブサーバーが実行中かつ有効であることが確認できます。

sudo systemctl is-enabled apache2
sudo systemctl status apache2

次のコマンドを使用してMariaDBサーバーを確認してください。MariaDBサーバーは、システム上で自動的に実行され、有効になっている必要があります。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

最後に、以下のコマンドでPHPのバージョンを確認してください - PHP 8.3がインストールされていることがわかります。

php -v
php -m

PHPの設定

依存関係がインストールされた後、'php.ini'ファイルを編集してPHPを設定し、変更を適用するためにApacheウェブサーバーを再起動します。

/etc/php/8.3/apache2/php.iniというファイルをnanoエディタで開きます。

sudo nano /etc/php/8.3/apache2/php.ini

デフォルト設定を以下のように変更してください - 'memory_limit'および'date.timezone'オプションを適切に調整することを確認してください。

date.timezone = Europe/Amsterdam
memory_limit = 256M
upload_max_filesize = 64MB
post_max_size = 64MB

完了したら、ファイルを保存してエディタを終了してください。

次に、下記の 'systemctl' コマンドを実行して、Apacheウェブサーバーを再起動し、変更を適用してください。

sudo systemctl restart apache2

MariaDBサーバーの設定

PHPが設定されると、'mariadb-secure-installation'コマンドを使用してMariaDBサーバーを保護します。その後、'mariadb'クライアントを通じてLycheeに使用される新しいデータベースとユーザーを作成します。

以下の<em>mariadb-secure-installation</em>コマンドを実行して、MariaDBサーバーを設定してください。

sudo mariadb-secure-installation

これから次のMariaDB設定について質問されます:

  • デフォルトのMariaDBサーバーインストールでルートパスワードがない場合は、パスワードを尋ねられたときにENTERを押してください。
  • MariaDBのrootユーザーに対するローカル認証はデフォルトで保護されています。認証方式を'unix_socket'に変更するよう求められたら、'n'と入力してください。
  • 新しいMariaDBのrootパスワードを作成するには「Y」を入力してください。次に、MariaDBのrootユーザーの強力なパスワードを入力し、繰り返してください。
  • MariaDBのルートユーザーのリモート認証を無効にするよう求められた場合は、同意するには「Y」を入力してください。
  • デフォルトのMariaDBサーバーインストールにはデータベース'test'が付属しており、匿名ユーザーがアクセスできるようになっています。
  • 両方の設定に対してデフォルトのデータベース「test」を削除し、匿名特権を削除するには「Y」を入力してください。
  • 最後に、テーブルの権限をリロードすることを確認するには「Y」を入力してください。

MariaDBが設定され、安全が確保された後、Lycheeのインストールで使用する新しいデータベースとユーザーを作成します。

以下の'mariadb'コマンドを使用してMariaDBサーバーにログインします。プロンプトが表示されたら、MariaDBのルートパスワードを入力してください。

sudo mariadb -u root -p

次に、ユーザー「lycheeuser@localhost」とパスワード「LycheePassword」を使用して、新しいデータベース「lychee」を作成するためのクエリを実行してください。必要に応じてデータベースの詳細を変更できます。

CREATE DATABASE lychee;
GRANT ALL PRIVILEGES ON lychee. * TO lycheeuser@'localhost' IDENTIFIED BY 'LycheePassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

次に、以下のクエリを実行して、ユーザー「lycheeuser@localhost」がデータベース「lychee」にアクセスできることを確認します。

SHOW GRANTS FOR lycheeuser@localhost;

すべてがうまくいけば、次の出力が表示されます:

最後に、「quit」と入力してMariaDBサーバーを終了します。

ライチ写真管理をダウンロード中

PHPとMariaDBの両方を設定したので、Lycheeのソースコードをダウンロードし、インストールディレクトリと「.env」ファイルを設定します。

しかし最初に、次のコマンドを使用してDebianシステムに'unzip'パッケージをインストールしてください。

sudo apt install unzip -y

「/var/www」ディレクトリに移動し、以下の「wget」コマンドを使用してLycheeのソースコードリリースをダウンロードします。最新バージョンのリンクはLycheeのリリースページから取得してください。

cd /var/www/
wget https://github.com/LycheeOrg/Lychee/releases/download/v5.5.1/Lychee.zip

ダウンロードが完了したら、以下の「unzip」コマンドを使ってLycheeのソースコードを解凍します。ソースコードは「/var/www/Lychee」ディレクトリに解凍されます。

unzip Lychee.zip

次に、次のコマンドを実行して、'/var/www/Lychee'ディレクトリの所有権をユーザー'www-data'に変更し、ユーザー'www-data'が書き込み可能なディレクトリをいくつか作成します。

sudo chown -R www-data:www-data /var/www/Lychee
sudo chmod u+rw /var/www/Lychee/{storage,bootstrap/cache/,public/dist,public/uploads,public/sym}

次に、Lycheeの'.env'ファイルをコピーするために、以下のコマンドを実行し、'nano'エディタを使ってそれを修正してください。

sudo -u www-data cp /var/www/Lychee/.env-example /var/www/Lychee/.env
sudo -u www-data nano /var/www/Lychee/.env

デフォルトの APP_URL をあなたのドメイン名に変更し、データベースの設定を 'mysql' と以下のようなあなたのデータベースの詳細に変更してください:

domain name
APP_URL=https://photo.howtoforge.local
database to MariaDB/MySQL
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=lychee
DB_USERNAME=lycheeuser
DB_PASSWORD=LycheePassword

ファイルを保存してエディタを終了してください。

Apacheのバーチャルホストを作成する

このセクションでは、Lycheeフォト管理用に新しいApache仮想ホストファイルを作成します。

まず、以下のコマンドを実行して「rewrite」モジュールを有効にします。

sudo a2enmod rewrite

今、'/etc/apache2/apache.conf' のApache設定を 'nano' を使用して編集します。

sudo nano /etc/apache2/apache.conf

次の設定をファイルに追加してください。これにより、リライトルールのための「.htaccess」を設定できます。

<Directory /var/www/Lychee>
 Options Indexes FollowSymLinks
 AllowOverride All
 Require all granted
</Directory>

ファイルを保存してエディタを終了してください。

今、新しいApache仮想ホスト設定「/etc/apache2/sites-available/lychee.conf」を以下の「nano」エディターコマンドで作成してください。

sudo nano /etc/apache2/sites-available/lychee.conf

次の設定を貼り付け、'ServerName' オプションをターゲットドメイン名に変更してください。そして、'APP_URL' が '.env' ファイル内と同じであることを確認してください。

<VirtualHost *:80>
  
  ServerAdmin [email 
  ServerName photo.howtoforge.local
  
  DocumentRoot /var/www/Lychee/
  ErrorLog /var/log/apache2/photo-howtoforge-local-error_log
  CustomLog /var/log/apache2/photo-howtoforge-local-access_log common
</VirtualHost>

完了したら、ファイルを保存して終了します。

次に、仮想ホストファイル「lychee.conf」を有効化し、Apacheの構文を確認するために以下のコマンドを実行してください。正しいApacheの構文があれば、「Syntax is OK」という出力が表示されます。

sudo a2ensite lychee.conf
sudo apachectl configtest

最後に、次のコマンドを実行してApacheを再起動し、変更を適用します。

sudo systemctl restart apache2

HTTPSでライチを保護する

もしあなたがLycheeをパブリックドメイン名で運営しているなら、HTTPSで保護されていることを確認してください。このセクションでは、Certbotをインストールし、LetsencryptからのSSL/TLS証明書でLycheeを保護します。

以下のコマンドを実行して、CertbotとApacheプラグインをインストールします。

sudo apt install certbot python3-certbot-apache -y

インストールが完了したら、次の「certbot」コマンドを実行して、Lycheeインストール用の新しいSSL/TLS証明書を生成します。このコマンドのドメイン名とメールアドレスを必ず変更してください。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email  -d photo.howtoforge.local

プロセスが完了すると、LycheeのインストールはHTTPSで保護され、SSL/TLS証明書は'/etc/letsencrypt/live/domain.com'ディレクトリで利用可能になります。

Lycheeフォトマネジメントのインストール

お好みのウェブブラウザを使用して、https://photo.howtoforge.local/ のようなライチのインストールドメイン名にアクセスすると、ライチのインストーラーウィザードが表示されます。

インストールを続行するには「次へ」をクリックしてください。

すべてのPHP拡張がインストールされていることを確認し、Apacheの「rewrite」モジュールがシステムで有効になっていることを確認してください。

PHPがそれらのディレクトリのいくつか内で読み取り、書き込み、実行できることを確認してください。

画面内の「.env」ファイルを確認し、ドメイン名とMariaDBの詳細が正しいことを確認してください。

これからインストーラーがLycheeのアプリケーションキーを生成します。

管理者ユーザー、メールアドレス、およびパスワードを入力してください。これでLycheeのインストールが完了するはずです。

ライチのホームページで、ログインのプロンプトをクリックし、その後管理ユーザー名とパスワードを入力してください。

Lycheeサーバーにいくつかの画像をアップロードした後、下にLycheeユーザーダッシュボードが表示されます。

結論

おめでとうございます!あなたは、LAMPスタック(Linux、Apache、MariaDB、PHP)を使用してDebian 12サーバーにLycheeフォト管理のインストールを完了しました。また、CertbotとLetsencryptを通じてLycheeをHTTPSで保護しました。

関連記事: