PHPをインストールし、Webプログラムを動かそう!
ここでは、PHP5.4の導入手順を掲載しています。
※CentOS 7のサポートは2024年6月をもって終了していますが、旧コンテンツとしてこちらのページは残しておきます。
PHPとは…?
"PHP:Hypertext Preprocessor"の略称で、オープンソースにより開発されているスクリプト言語です。
PHPを利用することで、HTMLを動的に生成したり、サーバ側で動作するWebアプリケーションを開発することが可能です。
非常に動作が軽快で、データベースとの連携が比較的容易に行えるのが特徴と言えるでしょう。
スクリプトの構文はC言語に似ています。
PHP5.4.16のインストール
同時に、日本語とMariaSQLにも対応させます。
2023年03月11日現在、最新版は8.2.3です。CentOSは安定志向のため、インストールされるPHPは枯れたバージョンの5.4.16です。
…とは言え、もう5.4.16は古すぎなので、このバージョンでは動かないWebアプリも増えています。
もっと新しいものをインストールしたい場合はPHP7.4をご覧ください。
[root@co7 ~]# yum -y install php php-mbstring php-mysqlnd
インストール:
php.x86_64 0:5.4.16-48.el7 php-mbstring.x86_64 0:5.4.16-48.el7
php-mysqlnd.x86_64 0:5.4.16-48.el7
依存性関連をインストールしました:
libzip.x86_64 0:0.10.1-8.el7 php-cli.x86_64 0:5.4.16-48.el7
php-common.x86_64 0:5.4.16-48.el7 php-pdo.x86_64 0:5.4.16-48.el7
完了しました!
PHPの設定
続いて、設定を行います。
[root@co7 ~]# vi /etc/php.ini
expose_php = On
↓
expose_php = Off
;error_log = php_errors.log
↓
error_log = /var/log/httpd/php-error.log
[Data]
;date.timezone =
↓
date.timezone = Asia/Tokyo
[mbstring]
;mbstring.language = Japanese
;mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
;mbstring.http_output = SJIS
;mbstring.encoding_translation = Off
;mbstring.detect_order = auto
;mbstring.substitute_character = none;
↓
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
Apacheの起動
ここまで設定が終わったら、Apacheを起動します。
[root@co7 ~]# systemctl enable --now httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@co7 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since 日 2024-07-07 22:39:40 JST; 31min ago Docs: man:httpd(8) man:apachectl(8) Main PID: 6513 (httpd)
動作の確認
きちんとApacheが動いているかを確認しましょう。
まず、はじめから入っている不要なファイルを削除します。
[root@co7 ~]# rm -f /etc/httpd/conf.d/welcome.conf
[root@co7 ~]# rm -f /var/www/error/noindex.html
HTMLのテストファイルを作成します。
[root@co7 ~]# vi /var/www/html/index.html
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>HTMLテスト</title> </head> <body> <a href="test.cgi">CGI</a> <a href="test.shtml">SSI</a> <a href="test.php">PHP</a> </body> </html>
CGIのテストファイルを作成します。
[root@co7 ~]# vi /var/www/html/test.cgi
#!/usr/bin/perl
print "Content-type: text/html\n\n"; print "<html>\n"; print "<head>\n"; print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n"; print "<title>CGIテスト</title>\n"; print "</head>\n"; print "<body>\n"; print "CGIテスト\n"; print "</body>\n"; print "</html>\n";
[root@co7 ~]# chmod +x /var/www/html/test.cgi
SSIのテストファイルを作成します。
[root@co7 ~]# vi /var/www/html/test.shtml
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">> <title>SSIテスト</title> <body> SSIテスト <!--#config timefmt="%Y/%m/%d %H:%M:%S" --> <!--#echo var="DATE_LOCAL" --> </body> </html>
PHPのテストファイルを作成します。
[root@co7 ~]# vi /var/www/html/test.php
<?php phpinfo(); ?>
ここまでできたら、ブラウザのアドレスバーにサーバのIPアドレスを入れて接続してみましょう。
全てのページがきちんと表示されればOKです。されない場合はどこか設定が間違っているので、見直しましょう。
動作が確認できたら、テストページは削除しておきましょう。
[root@co7 ~]# rm -f /var/www/html/index.html /var/www/html/test.cgi /var/www/html/test.shtml /var/www/html/test.php
これで、Webサーバの構築はおしまいです。
[広告]
トップページ
CentOS 7
○準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ブログシステム
○オンラインストレージ
○その他