Webサーバー サイトの運用
Raspberry Pi + nginx + php + wordpress
phpだけのバージョンアップ
Raspberry Pi + nginx + php + wordpress
phpだけのバージョンアップ
WordPressの「サイトヘルスステータス」に、「サイトが古いバージョンの PHP を実行しています」と表示され、PHPを新しいバージョンに更新するよう勧められる。
以下、この指摘に従って「phpだけをバージョンアップ」した記録。
スポンサー リンク
目 次
1. WordPressの稼働環境
2. 関連サービスの停止と現行PHPの削除
3. 最新のPHPをインストール
4. PHPに関する設定の編集
5. 関連サービスの再起動と稼働確認
6. imagick のインストール
2. 関連サービスの停止と現行PHPの削除
3. 最新のPHPをインストール
4. PHPに関する設定の編集
5. 関連サービスの再起動と稼働確認
6. imagick のインストール
1. WordPressの稼働環境
現行Webサーバーのバージョン。
Raspbian : Buster with desktop Release date:2019-09-26
Nginx : Stable version 1.16.1
PHP : 7.3.15 – 2020.02.24
MariaDB : 10.3.17
WordPress : 5.4.2
Nginx : Stable version 1.16.1
PHP : 7.3.15 – 2020.02.24
MariaDB : 10.3.17
WordPress : 5.4.2
PHPの、現行バージョンを確認する。
php -v
php -version
php -version
確認結果。
yaopi@Luxeritas:~ $ php --version
PHP 7.3.15-4+0~20200224.55+debian10~1.gbpbea824 (cli) (built: Feb 24 2020 18:37:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.15, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.15-4+0~20200224.55+debian10~1.gbpbea824, Copyright (c) 1999-2018, by Zend Technologies
PHPの、導入可能なバージョンを調べる。。
sudo apt-cache policy php
sudo apt policy php
sudo apt policy php
確認結果。
yaopi@Luxeritas:~ $ sudo apt policy php
php:
インストールされているバージョン: (なし)
候補: 2:7.4+76+0~20200511.26+debian10~1.gbpc9beb6
バージョンテーブル:
2:7.4+76+0~20200511.26+debian10~1.gbpc9beb6 500
500 https://packages.sury.org/php buster/main armhf Packages 2:7.3+69 500
500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
2. 関連サービスの停止と現行PHPの削除
関連サービスの停止。
sudo systemctl stop mariadb.service
sudo systemctl stop php7.3-fpm.service
sudo systemctl stop nginx.service
sudo systemctl stop php7.3-fpm.service
sudo systemctl stop nginx.service
現在のPHPを削除。
sudo apt-get remove php*
3. 最新のPHPをインストール
最新のPHPをインストール。
sudo apt-get update
sudo apt-get install php php-mbstring php-gd php-mysql php-pspell php-xml php-xmlrpc php-fpm php-curl php-imagick php-zip
sudo apt-get install php php-mbstring php-gd php-mysql php-pspell php-xml php-xmlrpc php-fpm php-curl php-imagick php-zip
WordPressの「サイトヘルス」対策として、php-imagick と php-zip も、インストールする。
インストールされた、新しいPHPのバージョン。
yaopi@Luxeritas:~ $ php -v
PHP 7.4.7 (cli) (built: Jun 12 2020 07:47:45) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.7, Copyright (c), by Zend Technologies
PHP 7.4.7 (cli) (built: Jun 12 2020 07:47:45) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.7, Copyright (c), by Zend Technologies
4. PHPに関する設定の編集
変更が必要な設定ファイル。
①./etc/nginx/conf.d/default.conf
②.php-fpm.conf
③.pool.d/www.conf
④.etc/php/7.4/fpm/php.ini
②.php-fpm.conf
③.pool.d/www.conf
④.etc/php/7.4/fpm/php.ini
①./etc/nginx/conf.d/default.conf の編集。
sudo nano /etc/nginx/conf.d/default.conf
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;↓
↓
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;↓
↓
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
②.php-fpm.conf の編集。
sudo nano /etc/php/7.4/fpm/php-fpm.conf
# コメントを外して有効化
101行目:;daemonize = yes
↓
daemonize = yes
101行目:;daemonize = yes
↓
daemonize = yes
③.pool.d/www.conf の編集。
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
# user と group をnginxに変更
23行目:user = www-data → user = nginx
24行目:group = www-data → group = nginx
23行目:user = www-data → user = nginx
24行目:group = www-data → group = nginx
# パスを修正
36行目:listen = /run/php/php7.4-fpm.sock
→ listen = /var/run/php/php7.4-fpm.sock
36行目:listen = /run/php/php7.4-fpm.sock
→ listen = /var/run/php/php7.4-fpm.sock
# listen.owner と listen.group をnginxに変更
48行目:listen.owner = www-data → listen.owner = nginx
49行目:listen.group = www-data → listen.group = nginx
48行目:listen.owner = www-data → listen.owner = nginx
49行目:listen.group = www-data → listen.group = nginx
# listen.modeのコメントを外して、一部変更
50行目:;listen.mode = 0660 → listen.mode = 0666
50行目:;listen.mode = 0660 → listen.mode = 0666
341行目:;request_terminate_timeout = 0
→ request_terminate_timeout = 600
→ request_terminate_timeout = 600
④.etc/php/7.4/fpm/php.ini の編集。
sudo nano /etc/php/7.4/fpm/php.ini
0388行目:max_execution_time = 600
0409行目:memory_limit = 512M
0694行目:post_max_size = 512M
0713行目:default_charset = “UTF-8”
0798行目:cgi.fix_pathinfo = 0
0837行目:file_uploads = On
0846行目:upload_max_filesize = 512M
0857行目:allow_url_fopen = On
0962行目:date.timezone = Asia/Tokyo
1622行目:mbstring.language = Japanese
0409行目:memory_limit = 512M
0694行目:post_max_size = 512M
0713行目:default_charset = “UTF-8”
0837行目:file_uploads = On
0846行目:upload_max_filesize = 512M
0857行目:allow_url_fopen = On
0962行目:date.timezone = Asia/Tokyo
1622行目:mbstring.language = Japanese
5. 関連サービスの再起動と稼働確認
関連サービスの再起動。
mariadbのサービスを再起動。
sudo systemctl start mariadb.service
php-fpmのサービスを再起動。
sudo systemctl restart php7.4-fpm.service
所有者がnginxになっているか確認。
sudo chown -R nginx:nginx /var/run/php/php7.4-fpm.sock
Nginxの設定ファイルに問題が無いかチェック。
sudo nginx -t
Nginxの設定再読み。
sudo nginx -s reload
Nginxの再起動。
sudo systemctl restart nginx
しかし、「オプションのモジュール imagick がインストールされていないか、無効化されています。」が表示されるようになった。
【php-imagick】をインストールしたが、
php -m (Show compiled in modules)
コマンドで調べると、【imagick】は存在しない。
どうすればよいか・・・。
6. imagick のインストール
先に、【ImageMagick】をインストールする。
次のコマンドを実行。
cd /tmp
rm -rf ImageMagick
git clone https://github.com/ImageMagick/ImageMagick
cd ImageMagick
./configure --without-perl
make
sudo make install
rm -rf ImageMagick
git clone https://github.com/ImageMagick/ImageMagick
cd ImageMagick
./configure --without-perl
make
sudo make install
インストール結果を確認するために、チェック用プログラムを実行。
make check
============================================================================
Testsuite summary for ImageMagick 7.0.10
============================================================================
# TOTAL: 86
# PASS: 85
# SKIP: 0
# XFAIL: 0
# FAIL: 1
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to https://github.com/ImageMagick/ImageMagick/issues
============================================================================
make[3]: *** [Makefile:12025: test-suite.log] エラー 1
make[3]: ディレクトリ '/tmp/ImageMagick' から出ます
make[2]: *** [Makefile:12133: check-TESTS] エラー 2
make[2]: ディレクトリ '/tmp/ImageMagick' から出ます
make[1]: *** [Makefile:12346: check-am] エラー 2
make[1]: ディレクトリ '/tmp/ImageMagick' から出ます
make: *** [Makefile:12348: check] エラー 2
Testsuite summary for ImageMagick 7.0.10
============================================================================
# TOTAL: 86
# PASS: 85
# SKIP: 0
# XFAIL: 0
# FAIL: 1
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to https://github.com/ImageMagick/ImageMagick/issues
============================================================================
make[3]: *** [Makefile:12025: test-suite.log] エラー 1
make[3]: ディレクトリ '/tmp/ImageMagick' から出ます
make[2]: *** [Makefile:12133: check-TESTS] エラー 2
make[2]: ディレクトリ '/tmp/ImageMagick' から出ます
make[1]: *** [Makefile:12346: check-am] エラー 2
make[1]: ディレクトリ '/tmp/ImageMagick' から出ます
make: *** [Makefile:12348: check] エラー 2
バージョン確認。
magick --version
magick: error while loading shared libraries: libMagickCore-7.Q16HDRI.so.7: cannot open shared object file: No such file or directory
libMagickCore-7.Q16HDRI.so.7
libMagickCore-7.Q16HDRI.so.7
次のコマンドを入力。
sudo ldconfig /usr/local/lib
・・・これで、解決!。
続いて、【php-imagick】のインストール。
sudo apt-get install php-imagick
以上。
(2020.07.06)
(2020.07.06)
スポンサー リンク