一撃このwebサイトの先進的な機能は、ブラウザーのJavaScriptを有効にする必要があります。パブリックアーカイブにCentOS7が追加されたので、CentOS7にWordPressを一撃インストールするスタートアップスクリプトを作成しました。ISOイメージからインストールした素っぴんのCentOS7でも動くことも確認しています。ネットワークが繋がらない場合パブリックアーカイブのCentOS7はeth0のインターフェイスが自動起動するようになっていますが、ISOイメージからインストールした場合、connection.autoconnectがnoになっていることによりインターフェイスが自動起動しないことがあります。コンソールからrootユーザーでログインし、以下のコマンドを実行します。reboot再起動後、sshログインができればOKですが、nmcliコマンドで以下のように確認します。yes上記のようにconnection.autoconnectがyesになっていればOKです。これはバッドノウハウですが、OSのインストーラーでネットワークインターフェイスをOFF/ONし、IPアドレスが127.0.0.1から変われば上記対応は不要なはずです。ここから本題ですが、今回作成したスタートアップスクリプトの仕様は主に以下の通りです。以下のディレクトリ数で自動採番(バーチャルホスト削除時のデクリメントには対応していません)MySQLのrootユーザーおよびWordPress用のユーザーのパスワードは自動生成ブログ名、ブログのログイン名、ブログのパスワード、ブログ管理者メールアドレスは変数にて設定。基本的にここしかメンテナンスしなくてよい。制約事項として、インストール対象のサーバーはhostsかDNSで名前解決できている必要があります。それでは、主な箇所について説明します。@sacloud-onceBLOGTITLE=nullpopopoBLOGADMIN=nullpopopoBLOGPW=Bl0Gp@SsW0rDADMINMAIL=root@localhost.localdomain最初に、上記のようにブログタイトル(BLOGTITLE)から管理者メールアドレス(ADMINMAIL)までを変数に格納するようにしました。ブログタイトルは日本語が使えます(ただし、「(」「)」を使うと不具合出るっぽい)。スペースなどが含まれるときはダブルクォートで囲みましょう。管理者メールアドレスですが「root@localhost」のような形式だとPostfixに怒られるので、username@FQDNの形式にしましょう。リポジトリのインストール一部のパッケージでepelからインストールするものがあるのと、PHPは5.6を使いたいのと、gdライブラリを2015/01/03時点で最新のものを利用したい(php5.6のphp-gdがbaseリポジトリのgdではなくremiリポジトリのgd-lastを要求する)ので、remiリポジトリをインストールします。さくらのパブリックアーカイブからインストールしたマシン(以下さくらのクラウド)では最初からこれらのリポジトリが使えるようになっていますが、汎用性をもたせるために、リポジトリのファイル有無をtestコマンドで確認して条件分岐するようにしています。http://remi.kazukioishi.net/enterprise/remi-release-7.rpmfiepelリポジトリはインストールすると自動で有効になっているので、一旦無効化します。remiリポジトリはデフォルトで無効設定なので特に何もしません。以降、これらのリポジトリを使って何かインストールするときは「--enablerepo=〜〜」します。firewalld設定CentOS7からは、iptablesのフロントエンドにfirewalldを利用するようになりました(firewalldを止めてiptablesを引き続き使うのも可)。さくらのクラウドでは、firewalldが停止しているため、これを起動してから設定することにします。外部からの穴あけはhttpを追加します。起動停止の確認ができます。停止していると終了ステータスが3なので、この場合に起動するようにしています。つけて恒久的な設定をします。つけない設定を省略してはダメみたいです。mysql-serverインストールおよび設定MySQLは最新版を利用したいので、mysql-community-releaseをインストールしてからmysql-community-serverパッケージをインストールします。初期設定ですが、対話式のmysql_secure_installationを使うと自動化できないので、スクリプト中で直接コマンドを実行しています。PRIVILEGES;'ここに出てくる変数ROOTPWですが、これはスクリプト前半で自動生成されるものです。rootユーザーのパスワード設定と匿名ユーザーの削除をしてから権限テーブルを再読み込みしています。PHP設定/etc/php.iniの設定は以下のようにしています。/etc/php.ini今回は決め打ちで値を設定していますが、マシンパワーによって変更してみるとよいでしょう。以下のようにしています。/etc/php.d/10-opcache.iniこちらも性能試験をしながら変更してください。両ディレクトリは、グループがapacheになっていたので、nginxに変更しました。■memcachedインストールおよび設定インストール後はMAXCONNとCACHESIZEの変更だけしています。memcached.service上記の例ではMAXCONNは事実上変更なしですが、マシンパワーに合わせて変える余地としてコードにしています。CACHESIZEは、たぶんこのブログ1つを運用するくらいの記事数だったらこのくらいでいいかなーという値にしていますが、こちらも好きずきで変えてみてください。WordPressインストール実はちょっとハマりました。ハマりどころを解決したコードを見てみましょう。--path=${VHDIR}/"わざわざnginxユーザーで実行するようにしています。rootユーザーでwp-cliを実行しようとするとエラーになってしまうのでこうしています。nginxユーザーはシェルを持たないので、シェルを指定して実行しています。'direct');」を入れていますが、これはプラグインのダウンロードなどを行うときにFTP接続を必須としないようにしています。いうわけで、以下コード全文です。rebootいかがでしたでしょうか?これでさくらのクラウドや素っぴんのCentOS7にWordPressを一撃インストールすることができました。次回はブログ運用時に有用なコマンドライン(WP-CLIのtips)をご紹介したいと思います。