CentOS 7 に PHP 7.0, nginx, MariaDB を Ansible でインストールする

前回の投稿でこの休み中にやることを決めました。

今日で冬休みも終わるので、成果をここで公開します。

  • 4年ぐらい前に借りたさくら VPS をずっと使っていた
    • CentOS 5, PHP 5.5, Apache, WordPress 3.9 というもはやレガシーな環境になってしまっていた
  • VPS を借り直すだけで同じ料金で VPS のスペック自体が 2 倍になる

というわけで、新規で VPS を構築しつつ Ansible で初期セットアップの自動化と、各種ミドルウェアのセットアップも自動化しました。

  • CentOS 7
  • PHP 7.0
  • nginx 1.8
  • MariaDB 5.5

初期セットアップについては、この記事が大いに参考になりました。とても助かりました。

Ansible でさくらのVPS の環境構築を自動化 ~ハマりポイントとともに~

初期セットアップでやっていることは、作業用ユーザ作成、SSH ポート変更、root でのパスワードログイン禁止、firewall の設定あたり。細かいことは上の記事を読んだほうが絶対に良いので、そちらにお任せ。

特筆すべきは、CentOS 7 になって iptables というより firewalld を使ったほうがよさげだったので、playbook でもその点は playbook にも反映しておきました。
firewalld は iptables のラッパー的な存在のようです。

さくら VPS のコントロールパネルからカスタム OS で CentOS 7 を選んで、minimal インストールを選択、root パスワードだけインストール中の画面で設定しておきます。

ミドルウェアインストールの playbook については、PHP 7 をやっぱり入れたかったのであえていうならそこくらい。
remi-php70 が既に公開されており、日々更新されているので、こちらを使いました。

New “remi-php70” repository

あと、Wordpress で ftp の代わりに ssh2 を使いたくなったんですが、現状、ソースからインストールしないと使えないらしいので、ssh2 は諦めました。

Solution : How to install ssh2 php7 extension.

(playbook 中で、sed を使いまくってるけど lineinfile に置き換えたい…けどまぁそこは今度)

WordPress 4.4 を使っていますが、今のところ問題なく PHP 7 で動作しています。
ベンチマークをとりたかったんですが、VPS 自体のスペックもかなり上がってしまったので、純粋に PHP の性能測定はできないかなと思い今回はやっていません、が体感早くなった気がするのでおすすめです。

ちなみに、どちらも playbook を github で公開しました。
細かいところはまだ全然出来てないですが、「完璧を目指すよりまず終わらせろ」とザッカーバーグ先生が言っていたのでこれで良しとします。

serima/centos7-initalize-ansible
serima/centos7-php70-nginx-mariadb-ansible

1日2〜3時間ほど作業時間を捻出してくれた妻に感謝!

高専卒→大学編入中退→起業→転職を経て、ソーシャルゲームを作ったあと、とあるアプリのサーバサイドエンジニアをやっています。 技術の未来予測とかデザインのリノベーションとか、おぎやはぎとかネギトロ丼が好きです。 猫飼いたい。 twitterは@serimaです。お気軽にfollow/unfollowどぞ(゚∀゚)

下の「いいね」ボタンを押すと、やる気パラメータが+1!


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です