PHP
Apache
centos7

Apache・PHPのインストールと設定

今回はApacheとPHPをインストールして設定します。

前回同様の環境です。
〜さくらのVPS 1Gプラン〜
メモリ:1G
CPU:仮想2Core
ストレージ:HDD 100GB
OS:CentOS 7(カスタムOS)

仮として、アカウント名はrootもしくはabc123、ドメインはabc.comとします。

はじめに

前回のCentOS7のセットアップ(さくらのVPS)を参考にTerminalでログインする。
はじめにrootに切り替える必要がある。
次のコマンドを実行し、パスワードを入力し、returnキーを押す。

[abc123@abc ~]$ su

[abc123@abc ~]$ su
パスワード:
[root@abc abc]# 

rootでないと操作次第によってはパスワードを求められる。

1.Apacheをインストールする

次のコマンドを実行し、Apacheをインストールする。ちなみにhttpdはApacheのことである。

[root@abc ~]# yum -y install httpd
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。

〜〜省略〜〜

インストール:
  httpd.x86_64 0:2.4.6-80.el7.centos.1                                          

依存性関連をインストールしました:
  apr.x86_64 0:1.4.8-3.el7_4.1                  apr-util.x86_64 0:1.5.2-6.el7   
  httpd-tools.x86_64 0:2.4.6-80.el7.centos.1    mailcap.noarch 0:2.1.41-2.el7   

完了しました!
[root@abc ~]# 

次のコマンドを実行し、Apacheを起動する。

[root@abc ~]# systemctl start httpd

次のコマンドを実行し、OS起動時、自動でApacheも起動するようにする。

[root@abc ~]# systemctl enable httpd

2.ファイアウォールを設定する

次のコマンドを実行し、httpのポート80、httpsのポート443を開放する。

[root@abc ~]# firewall-cmd --add-service=http --zone=public --permanent
[root@abc ~]# firewall-cmd --add-service=https --zone=public --permanent

firewalldを再起動する。

[root@abc ~]# systemctl restart firewalld

ブラウザで、http://"ご自身のIPアドレス"にアクセスし、"Testing 123"のサイトが開くことを確認する。

3.EPELリポジトリを使えるようにする

remiを使えるようにするため、先にEPELリポジトリをインストールする。
標準OSは最初からEPELリポジトリが有効化されているが、今回はカスタムOSのため、インストールが必要。
以下のコマンドを実行する。

[root@abc ~]# yum -y install epel-release
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
base                                                     | 3.6 kB     00:00     
extras                                                   | 3.4 kB     00:00     
updates                                                  | 3.4 kB     00:00     
updates/7/x86_64/primary_db                                | 3.6 MB   00:00     
依存性の解決をしています

〜〜省略〜〜

  インストール中          : epel-release-7-11.noarch                        1/1 
  検証中                  : epel-release-7-11.noarch                        1/1 

インストール:
  epel-release.noarch 0:7-11                                                    

完了しました!
[root@abc ~]# 

4.remiを使えるようにする

以下のコマンドを実行し、remiの設定パッケージをインストールする。

[root@abc ~]# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
http://rpms.famillecollet.com/enterprise/remi-release-7.rpm を取得中
警告: /var/tmp/rpm-tmp.xxxxx: ヘッダー V4 DSA/SHA1 Signature、鍵 ID 00000000: NOKEY
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:remi-release-7.5-2.el7.remi      ################################# [100%]
[root@abc ~]# 

5.PHPをインストールする

以下のコマンドを実行し、PHP本体と拡張パッケージをインストールする。

[root@abc ~]# yum -y install --enablerepo=remi,remi-php71 php php-devel php-pdo php-gd php-mbstring php-mysqlnd
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                     | 4.7 kB     00:00     
 * base: ftp.iij.ad.jp
 * epel: ftp.jaist.ac.jp
 * extras: ftp.iij.ad.jp
 * remi: ftp.riken.jp
 * remi-php71: ftp.riken.jp
 * remi-safe: ftp.riken.jp
 * updates: ftp.iij.ad.jp
epel                       

〜〜省略〜〜

依存性関連をインストールしました:
  autoconf.noarch 0:2.69-11.el7          automake.noarch 0:1.13.4-3.el7        
  gd-last.x86_64 0:2.2.5-2.el7.remi      m4.x86_64 0:1.4.16-10.el7             
  perl-Test-Harness.noarch 0:3.28-3.el7  perl-Thread-Queue.noarch 0:3.02-2.el7 
  php-cli.x86_64 0:7.1.19-1.el7.remi     php-common.x86_64 0:7.1.19-1.el7.remi 
  php-json.x86_64 0:7.1.19-1.el7.remi   

完了しました!
[root@abc ~]# 

6.ファイルアップロードの上限を変更する

次のコマンドを実行し、phpの設定ファイルを開く。

[root@abc ~]# vim /etc/php.ini

デフォルトでの671行目と824行目はそれぞれ次のようになっている。

/etc/php.ini
post_max_size = 8M
/etc/php.ini
upload_max_filesize = 2M

それぞれ10Gに変更する。

/etc/php.ini
post_max_size = 10G
/etc/php.ini
upload_max_filesize = 10G

保存したら次のコマンドを実行し、Apacheを再起動する。

[root@abc ~]# systemctl restart httpd

7.PHPのタイムゾーンを変更する

次のコマンドを実行し、phpの設定ファイルを開く。

[root@abc ~]# vim /etc/php.ini

デフォルトでの902行目はそれぞれ次のようになっている。

/etc/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =

; http://php.net/date.default-latitude

先頭の";"を削除し、"Asia/Tokyo"を追加する。

/etc/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Tokyo

; http://php.net/date.default-latitude

保存したら次のコマンドを実行し、Apacheを再起動する。

[root@abc ~]# systemctl restart httpd

つづく