Ubuntu 20.04でサーバー構築 11:写真サーバー

1.PHPの追加設定

最高画質でRAWからJPEGに現像したファイルもアップロードできるように、PHPの設定を以下のように変更しました。

yuu@web2:/$ sudo nano /etc/php/7.4/apache2/php.ini
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
;memory_limit = 128M
memory_limit = 256M; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
;upload_max_filesize = 2M
upload_max_filesize = 30M

PHPに日本語などマルチバイト文字を使うための拡張モジュールインストールします。

yuu@web2:~$ sudo apt-get -y install php7.4-mbstring \
php7.4-xml \
libonig5

/etc/php/7.4/apache2/php.ini を開いてphp_mbstring.dll を有効にします。

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;extension=mbstring     ←コメントを外す。

mbstring の設定を行います。 php.ini  の[mbstring] セクションについて、以下の設定を変更しました。

[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
mbstring.substitute_character = none
mbstring.func_overload = 0

Apache を再起動して設定を反映します。

yuu@web2:~$ sudo systemctl restart apache2

Windows PC のブラウザから http://(サーバーIPアドレス)/info.php にアクセスして mbstring の設定を確認します。

2.Piwigo 用データベース作成

MySQLにPiwigo のデータベースを作成します。

yuu@web2:/$ mysql -u root -p
Enter password:mysql> CREATE DATABASE piwigo_db DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Query OK, 1 row affected, 2 warnings (0.28 sec)
mysql> show databases;
+————————-+
| Database                       |
+————————-+
| information_schema  |
| mysql                             |
| network_items             |
| performance_schema |
| piwigo_db                     |
| sys                                  |
| wordpress_db             |
+————————-+
7 rows in set (0.00 sec)

MySQLにPiwigo のユーザーを作成してデータベース piwigo_db への権限を付与します。

mysql> CREATE USER piwigo_user@localhost IDENTIFIED BY ‘(パスワード)’;
mysql> GRANT ALL PRIVILEGES ON piwigo_db.* TO ‘piwigo_user‘@’localhost’;
mysql> select Host, User from mysql.user;
+———–+———————-+
| Host         | User                         |
+———–+———————-+
| %              | wordpress_user     |
| %              | yuu                           |
| localhost | debian-sys-maint  |
| localhost | mysql.infoschema |
| localhost | mysql.session         |
| localhost | mysql.sys                |
| localhost | piwigo_user           |
| localhost | root                          |
| localhost | wordpress_user    |
+———–+———————+
9 rows in set (0.00 sec)mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.12 sec)
mysql> exit
Bye

3.ダウンロードとApache の設定

/contents/www/html に移動してPiwigo をダウンロードします。

yuu@web2:~$ cd /contents/www/html
yuu@web2:/contents/www/html$ curl -o piwigo.zip https://piwigo.org/download/dlcounter.php?code=latest
%  Total     % Received % Xferd Average Speed   Time        Time         Time   Current
Dload   Upload   Total        Spent        Left      Speed
56 16.8M 56   9775k      0        0 54680           0   0:05:23   0:03:03  0:02:20   57063
(完了後、ダウンロードファイルを確認)
yuu@web2:/opt$ ls -la
合計 17296
drwxr-xr-x 2 yuu yuu 4096 2月 20 22:19 .
drwxr-xr-x 21 root root 4096 2月 13 00:12 ..
-rw-rw-r– 1 yuu yuu 17695593 2月 20 22:24 piwigo.zip

解凍してApache からアクセスできるようにセットします。

yuu@web2:/contents/www/html$ unzip piwigo.zip
(以下解凍作業メッセージ)
yuu@web2:/contents/www/html$ ls -la
合計 17300
drwxr-xr-x 3 yuu yuu 4096 2月 20 22:29 .
drwxr-xr-x 21 root root 4096 2月 13 00:12 ..
drwxrwxr-x 16 yuu yuu 4096 2月 6 17:01 piwigo
-rw-rw-r– 1 yuu yuu 17695593 2月 20 22:24 piwigo.zip
yuu@web2:/contents/www/html$ sudo chown -R www-data:www-data /piwigo
[sudo] yuu のパスワード:
yuu@web2:/contents/www/html$ ls -la
合計 17300
drwxr-xr-x 3 yuu yuu 4096 2月 20 22:29 .
drwxr-xr-x 21 root root 4096 2月 13 00:12 ..
drwxrwxr-x 16 www-data www-data 4096 2月 6 17:01 piwigo
-rw-rw-r– 1 yuu yuu 17695593 2月 20 22:24 piwigo.zip
yuu@web2:/contents/www/html$ sudo systemctl restart apache2

4.webベースでインストール

Windows PC からブラウザで http://<サーバーIPアドレス>/piwigo/ にアクセスすると、インストール画面が出ます。
「データベース設定」には作成したPiwigo のデータベース設定を入力します。
ホスト:localhost (デフォルトのまま)
ユーザー:piwigo_user
パスワード:(ユーザーに設定したパスワード)
データベース名:piwigo_db
データベーステーブル接頭辞:piwigo_ (デフォルトのまま)
「管理設定」はPiwigo の管理者を登録します。先に、サーバーに登録しているユーザーであることが必要です。
入力が完了したら「インストールを開始する」ボタンを押します。
しかし、インストール完了画面が出てきません。ブラウザでリロードしてみると、既にインストールされてるよ、とのメッセージ。ブラウザ(FireFox)の(設定の)問題かもしれません。
インストールは出来た様です。

5.設定漏れの対策

再度ブラウザで http://<サーバーIPアドレス>/piwigo/ にアクセスすると、最初にアルバムを作成する画面がでます。
しかしここで問題。”GDライブラリがありません。”と言うメッセージが出ています。
Apache のドキュメントルートにinfophp();関数を含んだphpスクリプトファイルを作成して確認しましたが。GDの項目がありません。確かにインストールされいないようです。
GDをインストールしてApache を再起動します。

yuu@web2:~$ sudo apt-get install php7.4-gd
yuu@web2:~$ sudo service apache2 restart

php スクリプトでGDの設定を確認します。
ブラウザで http://<サーバーIPアドレス>/piwigo/ を再読み込みします。
GDのエラーメッセージは消えましたが、”一回のアップロードの最大容量” の設定が不適切とのメッセージが出ました。
/etc/php/7.4/apache2/php.ini を開いて post_max_size = 8M → 3000M に修正します。
3000M はアルバム単位で複数ファイルを一度にアップロードする事を想定して設定しています。

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
; post_max_size = 8M    ← コメントアウト
post_max_size = 3000M

Apache を再起動してブラウザで http://<サーバーIPアドレス>/piwigo/ を読み込みます。これでエラーメッセージがでなくなりました。

6.Piwigo の設定

外面左のダッシュボードから公開するギャラリーについての具体的な設定を行います。
最初は [設定]-[オプション]のそれぞれのタブで、ギャラリーの名称や写真の並び順、許可、等など、設定項目は多義に渡りますが、とりあえず名称、パーミッション、透かし、表示関係をざっと見て最低限必要な項目を設定します。

カテゴリー: サーバー タグ: , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です