みなさまQiitaでは初めまして。 @nullpopopo と申します。わけあってぼっちサーバーエンジニアという仕事をしております。ところで、PHP7.0が正式リリースされましたね!みんな大好きCentOSでも、remiリポジトリからyumでPHP7.0がインストールできるようにもなりました(RC版は以前からありました)。ということで、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