警告
この記事は、前回の記事 を読んだ前提で書いてます。
ご了承ください
はじめに
この記事は[CentOS7]Apacheの古いバージョンの導入とデーモン化の続きです。
Apacheインストール終わったけど、PHP使いたくてもできない!!!!!
ってことで一日使いました。無念。。
てか、デフォルトでできない分、普通の設定だとうまく動きません。なので、発生したインシデントと対応についてつらつら書きます。
経緯
先日上げた記事では、Apacheのインストール・デーモン化を行いました。
ウッキウキな僕はおもむろにPHPを記述。
Apacheを起動!
ブラウザで確認!!!
何も出ない。
\omg/
yum で PHPをインストールしただけだと、もとからあるApacheに設定を吸われるっぽい(そりゃそう。)
ってことで気合でどうにかしないといけません。
やったこと
-
デフォルトのApacheの設定ファイル(httpd.conf)を見に行く
→/usr/local/apache2と比較するため
→よくわからん -
「Apache PHP」と検索して一通り試す
→動かない
うーん困った。。。
とりあえず、PHPinfoを出したい、、、
PHPinfoはコマンドライン上では見える。ブラウザでは見えん。ってかPHP動いてないし、なんかダウンロードされるし。
解決策
困ったのでデフォルトのApacheのmoduleを見に行きました。場所はfindコマンドとかで探して。
どうやらPHPのモジュールがあってそれをうまく読み込めていない状況。
<IfModule !mod_php5.c>
<IfModule prefork.c>
LoadModule php7_module modules/libphp7.so
</IfModule>
</IfModule>
<IfModule !mod_php5.c>
<IfModule !prefork.c>
LoadModule php7_module modules/libphp7-zts.so
</IfModule>
</IfModule>
とりあえずこの辺をコピペ。
なんかびみょー
色々調べる。ふむふむ。
とりあえずできたコピペをこちらに
<Files ".user.ini">
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
Satisfy All
</IfModule>
</Files>
AddType text/html .php
DirectoryIndex index.php
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
AddHandler phpX.X-script .htm .html
<IfModule !mod_php5.c>
<IfModule prefork.c>
LoadModule php7_module modules/libphp7.so
</IfModule>
</IfModule>
<IfModule !mod_php5.c>
<IfModule !prefork.c>
LoadModule php7_module modules/libphp7-zts.so
</IfModule>
</IfModule>
そうそう。このLoadModule
ってとこのmoduleは一応コピーしないとってことで、
cp -p /usr/lib64/httpd/modules/libphp7.so /usr/local/apache2/modules/
cp -p /usr/lib64/httpd/modules/libphp7-zts.so /usr/local/apache2/modules/
これでいけた。僕の場合。
あと、httpd -tS
ってコマンドがhttpd.conf
のエラーチェックなのでいっぱい使う。
なんか動かない場合(参考にならないかも)
前述しているように、デフォルトで入っているApacheがあります。httpd -tS
コマンドを混在しないように消します。
sudo yum remove -y httpd apr apr-util httpd-tools
そうすると、デーモン化したApacheが動かなくなるので、再度make install
してあげてください。
そうすれば、systemctl
から起動できると思います。
PHPファイルがダウンロードされるんだけど!
これはまじで糞だった。
意味わからんし。
まぁさっきのhttpd.conf
で治ったんだけど、一応使っているブラウザのCookieを削除しておきましょう。
多分治るはず。