LiteSpeedの管理画面でPHP7をインストールしてみる
LiteSpeedはデフォルトでPHPが入っているのですが、なぜかバージョンが5.4です。そして通常PHPをインストールするとなるとSSHによるコマンドですが、もしかしたらLiteSpeedは不要かもしれません。
ダッシュボードにPHPコンパイルがある
PHPのコンパイルという画面があります。ちょっと見ていきたいと思います
PHPのバージョンが指定できる
これはどういうことか、バージョンの指定ができます。画面には映っていないですが次へボタンがあるので押してみます
ビルドオプションの選択
パラメーターもデフォで入ってます。これは凄い。特に何もしなくてもいいかもしれません
なんか普通に成功しました。やった。次いこう
コマンドが必要な画面にでます
セキュリティ上の理由から、サーバーにログインし、シェルから事前生成されたスクリプトを実行してください。 この画面から進行状況を監視することができます。
正常にビルドできたら、必要に応じてphp.iniを更新してください。 変更を適用するには、緩やかな再起動を実行してください。
Iエラーにより停止した場合は、パッケージを紛失したためにインストールした後、同じコマンドを再実行すると、このページに更新されたログが表示されます。LSPHPの詳細については、次のURLを参照してください LiteSpeed wiki.
rootとしてログインした場合は、次のコマンドを直接実行できます:
/usr/local/lsws/phpbuild/buildphp_manual_run.sh
sudo権限を持つユーザーとしてログインした場合は、sudoでコマンドを実行し、プロンプトの後にrootパスワードを入力することができます。
sudo /usr/local/lsws/phpbuild/buildphp_manual_run.sh
どうやらここはコマンドで対応しないといけないみたいです
[root@ik1-343-31745 ~]# /usr/local/lsws/phpbuild/buildphp_manual_run.sh
管理画面に戻るとエラーになりました。詳細ログを見ると
**LOG_DETAIL** retrieved from /usr/local/lsws/phpbuild/buildphp_1533204918.5.log ============================================== Start building PHP 7.2.8 with LSAPI ============================================== Thu Aug 2 19:24:46 JST 2018 Changing to build directory /usr/local/lsws/phpbuild/php-7.2.8 Configuring PHP build (2-3 minutes) ./configure '--prefix=/usr/local/lsws/lsphp7' '--with-mysqli' '--with-zlib' '--with-gd' '--enable-shmop' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-mbstring' '--with-iconv' '--with-mcrypt' '--with-pdo-mysql' '--enable-ftp' '--enable-zip' '--with-curl' '--enable-soap' '--enable-xml' '--enable-json' '--with-openssl' '--enable-bcmath' '--with-litespeed' configure: WARNING: unrecognized options: --with-mcrypt checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for a sed that does not truncate output... /bin/sed checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking for cc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ISO C89... none needed checking how to run the C preprocessor... cc -E checking for icc... no checking for suncc... no checking for OpenSSL support... yes checking for Kerberos support... no checking whether to use system default cipher list instead of hardcoded value... no checking for RAND_egd... no checking for pkg-config... /bin/pkg-config configure: error: Cannot find OpenSSL's <evp.h> **ERROR** Could not configure PHP build
OpenSSLがないとエラーがでました。
[root@ik1-343-31745 ~]# yum install openssl-devel
でインストールします。その後またエラーがでました。。。
checking for cURL 7.10.5 or greater... configure: error: cURL version 7.10.5 or later is required to compile php with cURL support **ERROR** Could not configure PHP build
cURL関係っぽいです
[root@ik1-343-31745 ~]# yum install curl-devel Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: mirror.dmmlabs.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp Resolving Dependencies --> Running transaction check ---> Package libcurl-devel.x86_64 0:7.29.0-46.el7 will be installed base/7/x86_64/filelists_db | 6.9 MB 00:00:00 --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================================================================================================================================================================================ Package Arch Version Repository Size ============================================================================================================================================================================================================================================================================================================================ Installing: libcurl-devel x86_64 7.29.0-46.el7 base 300 k Transaction Summary ============================================================================================================================================================================================================================================================================================================================ Install 1 Package Total download size: 300 k Installed size: 623 k Is this ok [y/d/N]: y Downloading packages: libcurl-devel-7.29.0-46.el7.x86_64.rpm | 300 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : libcurl-devel-7.29.0-46.el7.x86_64 1/1 Verifying : libcurl-devel-7.29.0-46.el7.x86_64 1/1 Installed: libcurl-devel.x86_64 0:7.29.0-46.el7 Complete! [root@ik1-343-31745 ~]#
再度コマンドを実行してみます
[root@ik1-343-31745 ~]# /usr/local/lsws/phpbuild/buildphp_manual_run.sh
またまたエラーです。。というわけで、【PHP】7.0.0 ソースからコマンド最短インストール方法を参考にでたエラーの数だけ必要なのをいれていきます。
成功しました
普通にインストールが成功しました。
ビルドプロセスが成功すると、PHPバイナリは /usr/local/lsws/fcgi-bin/ の配下に名前が lsphp-7.2.8 で作成され、 そして lsphp7 のシンボリックリンクが新しく作成されるか又はビルドされたバイナリが更新されます。 lsphp-7.2.8 が既に存在する場合は、lsphp-7.2.8.bak に名前が変更されます。
とのことですリンク見てみます
[root@ik1-343-31745 ~]# ls /usr/local/lsws/fcgi-bin/ RackRunner.rb lsperld.fpl lsphp lsphp-7.2.8 lsphp5 lsphp7 [root@ik1-343-31745 ~]#
リンクがありました。ブラウザ上でPHP7のインストールができました。
PHP7の設定
初期状態ではPHP5.6のため、切り替えをします。これもコンソール画面でできます。
サーバー設定 > 外部アプリ
アクションを押します
コマンドを修正
デフォルトのコマンド$SERVER_ROOT/fcgi-bin/lsphpを変更します変更コマンドは$SERVER_ROOT/fcgi-bin/lsphp7となります
PHP7に変更完了
この後再起動するだけで変更完了です。なんと楽な・・・
追記
デフォルトの状態だとphp-gdでjpegがサポートされていないため、jpegサポートする方法を追記します
[root@ik1-343-31745 /]# yum install libjpeg-devel
インストールしたらどこにインストールされたか確認します
[root@ik1-343-31745 /]# find /usr/ -name libjpeg.so /usr/lib64/libjpeg.so [root@ik1-343-31745 /]#
見つかりました
再コンパイル
ビルドオプションに--with-jpeg-dir=/usr/lib64/libjpeg.soを追記して再コンパイルします。これでjpegもサポートされます
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS