CentOS7の仮想サーバー構築にチャレンジ その8

CentOS7の仮想サーバー構築にチャレンジ その7 の続きです。そろそろサーバー構築シリーズも佳境です。今回はPHPをインストールし、ユーザーのホームディレクトリの配下ディレクトリの一部をWEBで公開するディレクトリにしてみたいと思います(レンタルサーバーなんかで公開される/home/hoge/public_htmlを個人レベルでやります)。

もくじ

  • CentOS7 ISOファイルの入手(その1)
  • VMwareの準備(その1)
  • 仮想マシンの作成(その1)
  • CentOS7のセットアップ(その2)
  • 初回ログイン(その3)
  • ファイアウォール(iptables)(その4)
  • sudoの有効化(その5)
  • リモートからのrootログインの禁止設定(SSH)とセキュリティ強化(その5)
  • Apacheのインストール(その6)
  • WEBサーバーとして運用するための設定(その7)
  • SFTPによるファイルのアップロード(その7)
  • PHPのインストール(その8)
  • ユーザーディレクトリでWEBサイトを公開する(その8)
  • PHPをCGIモードで(ユーザー権限で)動かす(その8)
  • デフォルトパーミッションの変更(その9)
  • php.iniと.user.ini(その9)
  • MySQLの導入(その10)
  • phpMyAdminのインストール(その11)
  • WordPressのインストール(その12)

PHPのインストール

PHPのインストール自体はyumを使えば一発で終わります。CentOS7で特に手を加えていなければPHP5.4がインストールされることになります(2015年12月現在)。remiリポジトリを利用してPHP5.6を入れる方法は後述します。

PHPのインストールが完了後、Apacheを再起動すれば、PHPが有効になります。

PHPの動作確認は、こんな感じのindex.phpを作成して配置し、アクセスしてみればOKだと思います。

index.htmlとindex.phpが同一ディレクトリにある場合は、index.htmlが優先されるので、アクセスするときにきちんとindex.phpまで指定するか、index.htmlを削除しましょう。

remiリポジトリを使ってPHP5.6を入れる

RemiというリポジトリをCentOS7に追加すれば、標準でインストールされるよりも新しいバージョンのPHPを使うことができます。余裕がある人はぜひともチャレンジしてみてください。コマンドは以下(参考サイト→【CentOS7】REMI リポジトリをインストールする – Qiita CentOS6でyumが繋がらなくなった – C_6B4A2Bの日記)

次に、以下のコマンドを打ってファイルを編集します。

編集したら保存し、

を実行してみましょう。次はRemiを入れます。コマンドは以下

ここまででRemiリポジトリが使えるようになります。PHPインストールコマンドは以下(途中でなにか訊かれたらyと打ち込む)

PHPインストール後の操作はRemiを用いない場合と同じです。

ユーザーディレクトリでWEBサイトを公開する

ここからだんだんレン鯖チックになってきます。これまでドキュメントルートは/var/www/html でしたが、ここをなんとか頑張って/home/hoge/public_htmlを公開します。まずは/etc/httpd/conf.d/userdir.confの編集です。

ここまで終えたら保存します。次はディレクトリの作成です。

ユーザーディレクトリにアクセスする場合は、アドレスバーにサーバーのIPアドレス/~ユーザー名を打ち込みます。こんな感じです。


public_htmlディレクトリにindex.phpを置いてアクセスしてみました。だいたいこんな感じになると思います。この時は「Server API」が「Apache 2.0 Handler」となっており、モジュールモードでPHPが実行されています。

PHPをCGIモードで(ユーザー権限で)動かす

実際に運用する上では、モジュールモードで稼働させると色々と面倒なこともあります。そこで、それらの面倒事を取っ払うために、CGIモードに切り替えます。ここが踏ん張りどころです。頑張って次のコマンドを打っていきましょう。なお、ユーザーが複数いる場合は、それぞれのユーザーごとに人数分打っていきます。

次にシェルスクリプトの作成です(それに先立ってphp-cgiをインストールし、本体の在り処を調べています)。

ここからユーザーのディレクトリごとの設定です。今回は(ユーザー権限で実行させるので)VirtualHostも使います。

実際に公開するサーバーで使う場合はこんな感じです。

と書き加え、

みたいな感じで打ち込んでテストして下さい(設定はこの後も続きますが)。 -->

さらに、

この後以下のコマンドを打っていきます。


PHPの設定とかがまだですが、多分これでレン鯖チックなPHP環境のWEBサーバーになると思います。後は普通にpublic_htmlの配下に公開したいコンテンツを送り込んでやれば多分いけます(上画像はCGIモードで稼働していると思われる図)。もっと実用的なサーバーにするための設定はまた次回に。SELinux辺りの解説がひどいことになっていて申し訳ないです。。。

参考サイト

このブログを応援する・寄付する

当ブログでは暗号通貨による寄付を募っております。

Bitcoin:

Monacoin:

Litecoin: