- 更新日: 2014年8月23日
- Vagrant & Chef
CentOS サーバー設定用 Chef Cookbook/Recipe の目次
CentOS サーバー設定の作業を Chef Solo で構成できるように、1ヶ月ほどかけて暇を見ては、自作で少しずつ Chef Cookbook 作成を進めました。おおかた Chef 化の作業が終わったので、まとめておきます。以下ページの作業内容に相当する Chef Cookbook となります。
CentOS 6.4 インストール~設定手順の目次 | EasyRamble
なお Chef 化しない項目は見出しに含めてません。とりあえず、必須そうな作業を優先して Cookbook を作成しました。CentOS 6.4, 6.5 で動作確認。まだ Chef 化した記事をアップしていないのが多いですが、少しずつアップしていく予定です。
Chef 化にあたって以下などの変更点があります。
・Sendmail → Postfix
・サービス監視のシェルスクリプト → Monit
・Apache + Passenger → Nginx + Unicorn
ネットワーク・初期設定
- ホストとネットワークの設定
- ping で通信テストと NetworkManager の削除
- ユーザー・グループの作成と root 権限を制限する設定
【Chef】→ Chef Recipe で CentOS のネットワーク・ホストを設定
【Chef】→ NetworkManager 他不要なパッケージを削除する Chef Recipe
【Chef】→ Chef Recipe でユーザー・グループを作成
SSH 接続・iptables などセキュリティ設定
- SSH で公開鍵認証による接続の設定、 Mac で ssh-keygen し公開鍵をサーバーに保存
- SSH 接続での root によるログイン禁止と公開鍵認証を強制
- SSH 接続のポート番号を変更
- iptables (ファイアーウォール)の設定
【Chef】→ ChefでSSH接続用の公開鍵をサーバーに設置
【Chef】→ SSH 接続の設定・セキュリティ周りを Serverspec でテストして Chef Recipe 作成
【Chef】→ Chef で iptables の設定
サービス関連・yum リポジトリの追加設定など
- 不要なパッケージのアンインストール・不要なサービスの停止
- yum リポジトリの追加・優先順位を設定
【Chef】→ Chefでサービス(デーモン)の稼働と停止をchkconfigで設定
【Chef】→ Chefでyumリポジトリを追加する設定
セキュリティ設定の続き・セキュリティ対策ツールの導入
- telnet のインストールと設定
- sendmail をインストールして root 宛のメールを Gmail に転送設定
- kernel.panic を設定し、エラー時にサーバーを自動リブート
- IPv6を無効化
- サービス監視スクリプトを作成して cron に登録
- 不正アクセスのホスト拒否ツール denyhosts のインストールと設定
- アンチウイルスソフト Clam AntiVirus のインストールと設定
【Chef】→ Chefでtelnetをインストール
【Chef】→ Chef で Postfix のインストールと設定
【Chef】→ Chefで/etc/sysctl.confのkernel.panicを設定
【Chef】→ ChefでIPv6を無効化
【Chef】→ MonitでSSH,Nginx,MySQLのサービス死活監視を行うChef Cookbook
【Chef】→ Chefでdenyhostsのインストールと設定
【Chef】→ アップ予定
ログ管理の設定・ログ監視ツールの導入
- ログ・ローテーションの設定
- ログ監視ツール logwatch のインストールと設定
【Chef】→ アップ予定
【Chef】→ アップ予定
各種サーバー用パッケージのインストール
- NTP サーバーのインストールと設定
- Web サーバー(Apache, httpd)のインストールと設定
- DB サーバー(MySQL)のインストールと設定
- rbenv と ruby-build で Ruby をインストールして管理
【Chef】→ アップ予定
【Chef】→ アップ予定(Nginx)
【Chef】→ Chef で MySQL のインストールと設定
【Chef】→ Chefでrbenvとruby-buildをインストール
バックアップとリストア
- MySQL データベースのバックアップ設定とリストア確認
- ディレクトリ・ファイルのバックアップとリストアの設定
【Chef】→ アップ予定
【Chef】→ アップ予定
便利なツールなど
- シェルを bash から zsh に変更
- Vim を導入して .vimrc を設定
【Chef】→ アップ予定
【Chef】→ アップ予定
その他作成した Chef Cookbook/Reicpe で記事がアップ済みのもの。
・SELinux を有効にする Serverspec テスト + Chef Recipe 作成
・Chef CookbookをServerspecテスト駆動で作成(Elasticsearchインストール)
・Unicorn プロセスを自動起動させる init.d スクリプト用の Chef Recipe
・Monit で Unicorn プロセスを監視する設定用の Chef Recipe
- Vagrant & Chef の関連記事
- Vagrantで使うVirtualBoxのVM(仮想マシン)を外付けHDDに移動
- Chefで/etc/sysctl.confのkernel.panicを設定
- Chefでtelnetをインストール
- Chefでyumリポジトリを追加する設定
- Chef で iptables の設定
- ChefでSSH接続用の公開鍵をサーバーに設置
- nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
- Chef Recipe でユーザー・グループを作成
- Chef Recipe で CentOS のネットワーク・ホストを設定
- NetworkManager 他不要なパッケージを削除する Chef Recipe
Leave Your Message!