SUSE linux 15 (SLES15) で HTTPサーバー と php7を動かす


SUSE15 (SLES15) で apache2 と php7 を動かすには単に YaST でパッケージをインストールするだけではうまくいかない事があります。SLES11 までは比較的惑わないのですが、SLES12 以降は、 php7 になったため、これを Apache の中で有効化するには、ひと技必要でした。特に SLES15 では、Server Role によりパッケージが分割されています。

SLES12 はこちらをご参考に(php5です)
SUSE Linux (SLES12) で apache2 HTTPサーバー と PHP スクリプトのインストール

openSUSE Leap はこちらを参考に
openSUSE Leap 15, YaSTで作る Web LAMP サーバー

- HTTP and LAMP のインストール -

YaST > Software Management > Pattern から ”Web and LAMP Server" を選び、全部インストールします。

SUSE linux 15 (SLES15) で HTTPサーバー と php7を動かす_a0056607_15010201.jpg


ただし、このままでは YaST メニューに HTTP サーバーは見当たりません。

SUSE linux 15 (SLES15) で HTTPサーバー と php7を動かす_a0056607_15023508.jpg


そこで YaST > Software Management から "YaST-HTTP-Server" のメニューアイコンをインストールします。

SUSE linux 15 (SLES15) で HTTPサーバー と php7を動かす_a0056607_15040641.jpg



メニューをリフレッシュするため YaST をリスタートします。
YaST >> HTTP Server のアイコンが出てくるのでクリックインストールします。

SUSE linux 15 (SLES15) で HTTPサーバー と php7を動かす_a0056607_15044627.jpg



モジュールのインストール、有効化、および設定

SUSE linux 15 (SLES15) で HTTPサーバー と php7を動かす_a0056607_15063671.jpg

SLES15 の PHP は PHP7 なのですが、なぜか PHP5 です。バグですかね。SLES12 もこのあたりは同様でした。未完成さを感じます。

SUSE linux 15 (SLES15) で HTTPサーバー と php7を動かす_a0056607_15080556.jpg



Apache2 のスタートアップをイネーブルにします。

SUSE linux 15 (SLES15) で HTTPサーバー と php7を動かす_a0056607_15085392.jpg


apach2-mod_php5 をインストールしますが、実態は何もインストールされません。

SUSE linux 15 (SLES15) で HTTPサーバー と php7を動かす_a0056607_15091761.jpg


一応これで Apache2 HTTP サーバーだけはインストールされます。


- PHP7 の有効化 -

ここからは試行錯誤の繰り返しです。SLES15 の Apache では YaST で実態のない PHP5 をインストールしようとしているのですが、実体は PHP7 です。そこで、Apache の php7 用のモジュールを有効にしなければなりません。実際には php7 はインストールされており、これを Apache2 の中でイネーブルにしなければなりません。


Web LAMP のインストール、php7 の有効化までの流れは次の動画をご参考ください。





有効化と無効化#

手動でモジュールを有効化または無効化する場合は、a2enmod mod_fooまたはa2dismodmod_fooコマンドをそれぞれ使用します。a2enmod -lは、すべての現在アクティブなモジュールのリストを出力します。

Setting up PHP

Installing PHP7
Make sure you have root access — see above. Install php7 using:
root # zypper in php7 php7-mysql apache2-mod_php7
Don't forget to enable mod-php by executing:
root # a2enmod php7
Your are done, php7 is now installed.

Restarting the webserver
Now that you have installed php, you have to restart the apache2 webserver:


という事で a2enmod php7 で php7 を有効化します。

sles15a:~ # a2enmod php7

a2enmod コマンドで YaST > HTTP Server > Server Modules Tab > "PHP7:Enabled" になっていればOKです。この状態から apache を再起動します。

SUSE linux 15 (SLES15) で HTTPサーバー と php7を動かす_a0056607_15185179.jpg

sles15a:~ # rcapache2 restart

を行うか YaST HTTP Server の "Listen Ports....." tab の HTTP service を Disable/Enable を切り替える操作も、apache の再起動操作です。
SUSE linux 15 (SLES15) で HTTPサーバー と php7を動かす_a0056607_15191766.jpg

index.php を開いてみます。

sles15a # cat /srv/www/htdocs/index.php

<?php
phpinfo();
?>

sles15a #

SUSE linux 15 (SLES15) で HTTPサーバー と php7を動かす_a0056607_15174632.jpg

PHP スクリプトが無事動いているようです。

SUSE Linux 15 YaSTの基本



SUSE Linux Enterprise 15, SLES15, HTTP, Apache, php7,


by islandcenter | 2018-08-05 15:20 | SUSE | Comments(0)