PHP7.0リリース記念 さくらのクラウドで一撃WEBサーバー構築！


みなさまQiitaでは初めまして。 @nullpopopo と申します。わけあってぼっちサーバーエンジニアという仕事をしております。ところで、PHP7.0が正式リリースされましたね！みんな大好きCentOSでも、remiリポジトリからyumでPHP7.0がインストールできるようにもなりました(RC版は以前からありました)。ということで、[ICHIGEKI](https://github.com/nullpopopo/ichigeki/blob/master/ICHIGEKI) を使って一撃インストールしてみたいと思います。仕様としてはこんな感じです。

- 対応OSはCentOS6、CentOS7
- WEBサーバーはhttpdかnginxを選択可能
- WEBサーバーはデフォルトでhttp https両方LISTENします(オレオレ証明書)
- PHPのバージョンは5.3(CentOS6のみ)、5.4、5.5、5.6、7.0から選択可能
- MySQLはサーバー、クライアントを選択可能
- MySQLのバージョンは5.6、5.7から選択可能
- eth0(localhost以外のインターフェイスで最初に認識されるもの)のIPアドレス、サブネットマスク等を変数に格納して変更可能

使い方は至って簡単、/rootユーザーでログインして適当なディレクトリにICHIGEKIを置いて実行するだけです。ユーザー名などは以下のように適宜編集してくださいね。
```
ADDUSERNAME[0]=oresama
ADDUSERPASS[0]=oresama-password
ADDGROUPNAME[0]=oresamagroup
ADDUSERUID[0]=500 #UIDは500か1000、それ以降を推奨
ADDUSERGID[0]=500 #GIDは500か1000、それ以降を推奨
ADDUSERSHELL[0]=/bin/bash
ADDUSERSUDO[0]=yes # yes/no枕でyesだったらsudo可能
ADDUSERSQLADMIN[0]=yes # yes/no略...だったらホームディレクトリに .my.cnf と .mytopが置かれる
ADDUSERPUBKEY[0]="ssh-rsa AAAA..." # 公開鍵はよしなに登録してね♡
```

これ、作るサーバーが1台だけだったらよいのですが、大量にサーバー建てるときは面倒なので、さくらのクラウドで実行するならスタートアップスクリプトからキックしたいものです。

が、結構な行数になったのでスタートアップスクリプトに登録できず、それならgithubから引っ張ってきてよしなに変数突っ込んでしまえということで、こんなのをスタートアップスクリプトに登録します。
```
curl -Ls https://raw.githubusercontent.com/nullpopopo/ichigeki/master/ICHIGEKI | \
sed -e "/^ADDUSERNAME\[0\]/s/_USER0_/nullpopopo/"                              | \
sed -e "/^ADDUSERPASS\[0\]/s/_USER0_PW_/nUlLp0P0p0P@sSw0Rd/"                   | \
sed -e "/^ADDGROUPNAME\[0\]/s/_USER0_GROUP_/nullpopopo/"                       | \
sed -e "/^ADDUSERUID\[0\]/s/_USER0_UID_/500/"                                  | \
sed -e "/^ADDUSERGID\[0\]/s/_USER0_GID_/500/"                                  | \
sed -e "/^ADDUSERSHELL\[0\]/s/_USER0_SHELL_/\/bin\/bash/"                      | \
sed -e "/^ADDUSERSUDO\[0\]/s/_USER0_SUDOFLAG_/yes/"                            | \
sed -e "/^ADDUSERSQLADMIN\[0\]/s/_USER0_SQLFLAG_/yes/"                         | \
sed -e "/^ADDUSERPUBKEY\[0\]/s/ssh-rsa AAAA.../ssh-rsa AAAA略/"                   | \
sed -e "/^ADDUSERNAME\[1\]/d"                                                  | \
sed -e "/^ADDUSERPASS\[1\]/d"                                                  | \
sed -e "/^ADDGROUPNAME\[1\]/d"                                                 | \
sed -e "/^ADDUSERUID\[1\]/d"                                                   | \
sed -e "/^ADDUSERGID\[1\]/d"                                                   | \
sed -e "/^ADDUSERSHELL\[1\]/d"                                                 | \
sed -e "/^ADDUSERSUDO\[1\]/d"                                                  | \
sed -e "/^ADDUSERSQLADMIN\[1\]/d"                                              | \
sed -e "/^ADDUSERPUBKEY\[1\]/d"                                                | \
sed -e "/^DBUSER/s/_DBUSERNAME_/dbadmin/"                                      | \
sed -e "/^DBUSERPW/s/_DBUSERPW_/Db@Dm1N/"                                      | \
sed -e "/^IPADDR/d"                                                            | \
sed -e "/^GWADDR/d"                                                            | \
sed -e "/^SUBNET/d"                                                            | \
sed -e "/^NETMASK/d"                                                           | \
sed -e "/^NWADDR/d"                                                            | \
sed -e "/^NSADDR\[0\]/d"                                                       | \
sed -e "/^NSADDR\[1\]/d"                                                       | \
sed -e "/^NSADDR\[2\]/d"                                                       | \
sed -e "/^MUNINIPADDR/s/_MUNINIPADDR_/127.0.0.1/"                              | \
sed -e "/^MUNINSUBNET/s/_MUNINSUBNET_/32/"                                     | \
sed -e "/^MUNINDBUSERPW/s/_MUNINDBUSERPW_/mUn1NdBp@sSw0Rd/"                    | \
sed -e "/^MYSQLROOTPW/s/_MYSQLROOTPW_/MyS9Lr0OtP@SsW0rD/"                      | tee /root/ICHIGEKI ; sh /root/ICHIGEKI
```

あとはスタートアップスクリプトを指定してサーバーを建てるだけ。ね、簡単でしょう？
![PHP70.png](https://qiita-image-store.s3.amazonaws.com/0/103105/3c00c1f3-0524-13bf-5066-f339161ca198.png)