AWSでphpのAPサーバ

AWSでphpのAPサーバ

当時はphp5あたりを利用。今はphp7.4。

yumできることを確認

# yum update
aws

タイムゾーンを設定(できるだけ最初にやるべき)

[root@ip-172-31-21-195 log]# date
Sat Nov 12 21:04:51 UTC 2016
[root@ip-172-31-21-195 log]# strings /etc/localtime
TZif2
TZif2
UTC0
[root@ip-172-31-21-195 log]# cp -p /etc/localtime /etc/localtime.org
[root@ip-172-31-21-195 log]# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
[root@ip-172-31-21-195 log]# vi /etc/sysconfig/clock

ZONE="Asia/Tokyo"
UTC=false

:wq

php/sambaをインストール、conflictするときは相手方をremoveする

# yum -y install php56* Imagemagick
# yum install php56-mysql*
# yum -y install samba

衝突しているモジュールをいったんremove

[root@ip-10-0-1-30 script]# yum remove -y php-common
読み込んだプラグイン:priorities, update-motd, upgrade-helper
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php55-common.x86_64 0:5.5.38-2.119.amzn1 を 削除
--> 依存性の処理をしています: php(api) = 20121113-64 のパッケージ: php55-pecl-jsonc-1.3.6-1.13.amzn1.x86_64
--> 依存性の処理をしています: php(zend-abi) = 20121212-64 のパッケージ: php55-pecl-jsonc-1.3.6-1.13.amzn1.x86_64
--> 依存性の処理をしています: php-bz2 のパッケージ: 1:php-pear-1.10.1-1.19.amzn1.noarch
--> 依存性の処理をしています: php-ftp のパッケージ: 1:php-pear-1.10.1-1.19.amzn1.noarch
--> 依存性の処理をしています: php-pcre のパッケージ: 1:php-pear-1.10.1-1.19.amzn1.noarch
--> 依存性の処理をしています: php-tokenizer のパッケージ: 1:php-pear-1.10.1-1.19.amzn1.noarch
--> 依存性の処理をしています: php-zlib のパッケージ: 1:php-pear-1.10.1-1.19.amzn1.noarch
--> 依存性の処理をしています: php55-common(x86-64) = 5.5.38-2.119.amzn1 のパッケージ: php55-5.5.38-2.119.amzn1.x86_64
--> 依存性の処理をしています: php55-common(x86-64) = 5.5.38-2.119.amzn1 のパッケージ: php55-cli-5.5.38-2.119.amzn1.x86_64
--> 依存性の処理をしています: php55-common(x86-64) = 5.5.38-2.119.amzn1 のパッケージ: php55-process-5.5.38-2.119.amzn1.x86_64
--> 依存性の処理をしています: php55-common(x86-64) = 5.5.38-2.119.amzn1 のパッケージ: php55-xml-5.5.38-2.119.amzn1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ php-pear.noarch 1:1.10.1-1.19.amzn1 を 削除
---> パッケージ php55.x86_64 0:5.5.38-2.119.amzn1 を 削除
---> パッケージ php55-cli.x86_64 0:5.5.38-2.119.amzn1 を 削除
---> パッケージ php55-pecl-jsonc.x86_64 0:1.3.6-1.13.amzn1 を 削除
---> パッケージ php55-process.x86_64 0:5.5.38-2.119.amzn1 を 削除
---> パッケージ php55-xml.x86_64 0:5.5.38-2.119.amzn1 を 削除
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                  アーキテクチャー
                                         バージョン                     リポジトリー           容量
====================================================================================================
削除中:
 php55-common             x86_64         5.5.38-2.119.amzn1             @amzn-updates         7.5 M
依存性関連での削除をします:
 php-pear                 noarch         1:1.10.1-1.19.amzn1            @amzn-main            2.1 M
 php55                    x86_64         5.5.38-2.119.amzn1             @amzn-updates         8.3 M
 php55-cli                x86_64         5.5.38-2.119.amzn1             @amzn-updates          11 M
 php55-pecl-jsonc         x86_64         1.3.6-1.13.amzn1               @amzn-main             96 k
 php55-process            x86_64         5.5.38-2.119.amzn1             @amzn-updates         154 k
 php55-xml                x86_64         5.5.38-2.119.amzn1             @amzn-updates         821 k

トランザクションの要約
====================================================================================================
削除  1 パッケージ (+6 個の依存関係のパッケージ)

インストール容量: 30 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  削除中                  : php55-5.5.38-2.119.amzn1.x86_64                                     1/7
  削除中                  : php55-xml-5.5.38-2.119.amzn1.x86_64                                 2/7
  削除中                  : php55-process-5.5.38-2.119.amzn1.x86_64                             3/7
  削除中                  : php55-cli-5.5.38-2.119.amzn1.x86_64                                 4/7
  削除中                  : php55-common-5.5.38-2.119.amzn1.x86_64                              5/7
警告: /etc/php-5.5.ini は /etc/php-5.5.ini.rpmsave として保存されました。
  削除中                  : php55-pecl-jsonc-1.3.6-1.13.amzn1.x86_64                            6/7
  削除中                  : 1:php-pear-1.10.1-1.19.amzn1.noarch                                 7/7
警告: /etc/pear.conf は /etc/pear.conf.rpmsave として保存されました。
  検証中                  : php55-cli-5.5.38-2.119.amzn1.x86_64                                 1/7
  検証中                  : 1:php-pear-1.10.1-1.19.amzn1.noarch                                 2/7
  検証中                  : php55-xml-5.5.38-2.119.amzn1.x86_64                                 3/7
  検証中                  : php55-process-5.5.38-2.119.amzn1.x86_64                             4/7
  検証中                  : php55-pecl-jsonc-1.3.6-1.13.amzn1.x86_64                            5/7
  検証中                  : php55-common-5.5.38-2.119.amzn1.x86_64                              6/7
  検証中                  : php55-5.5.38-2.119.amzn1.x86_64                                     7/7

削除しました:
  php55-common.x86_64 0:5.5.38-2.119.amzn1

依存性の削除をしました:
  php-pear.noarch 1:1.10.1-1.19.amzn1              php55.x86_64 0:5.5.38-2.119.amzn1
  php55-cli.x86_64 0:5.5.38-2.119.amzn1            php55-pecl-jsonc.x86_64 0:1.3.6-1.13.amzn1
  php55-process.x86_64 0:5.5.38-2.119.amzn1        php55-xml.x86_64 0:5.5.38-2.119.amzn1

完了しました!
[root@ip-10-0-1-30 script]#

再度php-mysqlをインストール

[root@ip-10-0-1-30 script]# yum install php-mysql
読み込んだプラグイン:priorities, update-motd, upgrade-helper
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php-mysql.x86_64 0:5.3.29-1.8.amzn1 を インストール
--> 依存性の処理をしています: php-pdo(x86-64) = 5.3.29-1.8.amzn1 のパッケージ: php-mysql-5.3.29-1.8.amzn1.x86_64
--> 依存性の処理をしています: libmysqlclient.so.18(libmysqlclient_16)(64bit) のパッケージ: php-mysql-5.3.29-1.8.amzn1.x86_64
--> 依存性の処理をしています: libmysqlclient.so.18(libmysqlclient_18)(64bit) のパッケージ: php-mysql-5.3.29-1.8.amzn1.x86_64
--> 依存性の処理をしています: libmysqlclient.so.18()(64bit) のパッケージ: php-mysql-5.3.29-1.8.amzn1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ mysql55-libs.x86_64 0:5.5.52-1.13.amzn1 を インストール
---> パッケージ php-pdo.x86_64 0:5.3.29-1.8.amzn1 を インストール
--> 依存性の処理をしています: php-common(x86-64) = 5.3.29-1.8.amzn1 のパッケージ: php-pdo-5.3.29-1.8.amzn1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ php-common.x86_64 0:5.3.29-1.8.amzn1 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                アーキテクチャー バージョン                    リポジトリー            容量
====================================================================================================
インストール中:
 php-mysql              x86_64           5.3.29-1.8.amzn1              amzn-main              178 k
依存性関連でのインストールをします:
 mysql55-libs           x86_64           5.5.52-1.13.amzn1             amzn-updates           815 k
 php-common             x86_64           5.3.29-1.8.amzn1              amzn-main              1.0 M
 php-pdo                x86_64           5.3.29-1.8.amzn1              amzn-main              170 k

トランザクションの要約
====================================================================================================
インストール  1 パッケージ (+3 個の依存関係のパッケージ)

総ダウンロード容量: 2.2 M
インストール容量: 9.9 M
Is this ok [y/d/N]: y
Downloading packages:
(1/4): mysql55-libs-5.5.52-1.13.amzn1.x86_64.rpm                             | 815 kB     00:00
(2/4): php-common-5.3.29-1.8.amzn1.x86_64.rpm                                | 1.0 MB     00:00
(3/4): php-mysql-5.3.29-1.8.amzn1.x86_64.rpm                                 | 178 kB     00:00
(4/4): php-pdo-5.3.29-1.8.amzn1.x86_64.rpm                                   | 170 kB     00:00
----------------------------------------------------------------------------------------------------
合計                                                                1.4 MB/s | 2.2 MB  00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : mysql55-libs-5.5.52-1.13.amzn1.x86_64                               1/4
  インストール中          : php-common-5.3.29-1.8.amzn1.x86_64                                  2/4
  インストール中          : php-pdo-5.3.29-1.8.amzn1.x86_64                                     3/4
  インストール中          : php-mysql-5.3.29-1.8.amzn1.x86_64                                   4/4
  検証中                  : php-common-5.3.29-1.8.amzn1.x86_64                                  1/4
  検証中                  : php-mysql-5.3.29-1.8.amzn1.x86_64                                   2/4
  検証中                  : php-pdo-5.3.29-1.8.amzn1.x86_64                                     3/4
  検証中                  : mysql55-libs-5.5.52-1.13.amzn1.x86_64                               4/4

インストール:
  php-mysql.x86_64 0:5.3.29-1.8.amzn1

依存性関連をインストールしました:
  mysql55-libs.x86_64 0:5.5.52-1.13.amzn1            php-common.x86_64 0:5.3.29-1.8.amzn1
  php-pdo.x86_64 0:5.3.29-1.8.amzn1

完了しました!
[root@ip-10-0-1-30 script]#

php入れたところ

aws

作業ディレクトリをローカルLinux設定を元にして作成

aws

APサーバはシステムのタイムゾーン以外にphpのtimezone指定する。ついでにphp.iniを設定変更しておく(php入れた後で行う)

[root@ip-10-0-1-30 ~]# diff /etc/php.ini /etc/php.ini.ORG
673c673
< post_max_size = 200M
---
> post_max_size = 8M
805c805
< upload_max_filesize = 150M
---
> upload_max_filesize = 2M
871d870
< extension=imagick.so
884c883
< date.timezone = Asia/Tokyo
---
> ;date.timezone =
[root@ip-10-0-1-30 ~]#

sambaの特有設定

[root@ip-10-0-1-30 ~]# diff /etc/samba/smb.conf /etc/samba/smb.conf.ORG
89,100c89,90
<       workgroup = GVISGROUP
<       server string = gavannSmb %v
<         unix charset = UTF-8
<         dos charset = CP932
<         display charset = CP932
<         dos filemode = yes
<
<         unix password sync = yes
<         pam password change = yes
<
<         dfree cache time = 60
<         deadtime = 30
---
>       workgroup = MYGROUP
>       server string = Samba Server Version %v
105c95
<       hosts allow = 172.16.
---
> ;     hosts allow = 127. 192.168.12. 192.168.13.
264c254
<       load printers = no
---
>       load printers = yes
292,295c282,285
< ;[homes]
< ;     comment = Home Directories
< ;     browseable = no
< ;     writable = yes
---
> [homes]
>       comment = Home Directories
>       browseable = no
>       writable = yes
299,305c289,295
< ;[printers]
< ;     comment = All Printers
< ;     path = /var/spool/samba
< ;     browseable = no
< ;     guest ok = no
< ;     writable = no
< ;     printable = yes
---
> [printers]
>       comment = All Printers
>       path = /var/spool/samba
>       browseable = no
>       guest ok = no
>       writable = no
>       printable = yes
331,340d320
< [nari]
<         comment = naAPLinux SMB
<         path = /gvis
<         public = yes
<         browseable = yes
<         writable = yes
<         create mode = 777
<         directory mode = 777
<         force user = nari
<         force group = nari
[root@ip-10-0-1-30 ~]#

apacheの設定

[root@ip-10-0-1-30 script]# diff /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.ORG
95c95
< ServerName naAPLinuxAWS
---
> #ServerName www.example.com:80
104c104
<     Require all granted
---
>     Require all denied
119c119
< DocumentRoot "/gvis/apl/html"
---
> DocumentRoot "/var/www/html"
[root@ip-10-0-1-30 script]#

コメント