Rubyなどをインストール。Rubyはrbenvで入れた方がいろいろできるが、今回は手軽なyumで。# yum install ruby-devel gcc-c++gemでItamaeなどをインストール。# gem install itamae io-console --no-documentパスワードも生成するならこれも必要# gem install unix-crypt --no-document参考 floatingdays: Itamaeセットアップメモ Itamae自分メモ[1] userとかsshとかportの初期設定
2016年12月25日日曜日
Itamaeセットアップ on CentOS7
PDFの一部のページを別の PDFとして保存する方法
PDFファイルの一部のページだけ保存する。 - Yahoo!知恵袋
Google Chromeの印刷機能で出力をプリンターでなくPDFにできることを利用する。 なるほど。
2016年12月20日火曜日
クラウドN (cloudn)でのサーバ構築
クラウドといえばAWSしか使ったことがないので、主にAWSと比較しながら備忘録的にメモ。
FLATタイプでCentOS 7の場合。
AWSと同じようなところ
- セキュリティグループの受信規則は、記述されていないものはDENYなので(デフォルトは設定なし=全て拒否)、許可するものを設定する。
- セキュリティグループの送信規則は逆にデフォルトALLOWなので、禁止したい場合のみ設定する。
- サーバ(Compute)を起動すると、サーバに対してグローバルIPが与えられる。
- サーバにはデフォルトでPython 2.7が入っていた。
AWSと違うところ
(良いところ)
- データ転送量についての課金が無い。
- サービスが少ないので管理コンソールがシンプル。
- 接続元IPアドレスによる管理コンソールのアクセス制限が簡単。
- サーバ起動時に指定したhost名がサーバ内にも適用される。
- 一番小さいインスタンスでもデフォルトでswapがある。
(悪いところ)
- サーバ停止中でも課金される。(稼働中よりは安いが。)
- サーバ削除のプロテクト設定が無いのがちょっと怖い。
- 管理コンソール等のタイムゾーンがUTC。
- 管理コンソールで意味不明な部分がある。(OpenStackの仕様をしらべればいいのか...?)
- サーバ起動後にセキュリティグループを変更できない。
- サーバはデフォルトでrootのSSHログインが可能。鍵ファイルではなくパスワード認証。
※パスワードはサーバ登録時に生成され、管理コンソール上で1度だけ表示される。管理コンソールからリセットもできる。リセットするとsshdの設定(SSHのrootログイン禁止、パスワード認証禁止、鍵ファイルによる認証の許可など)も初期化される。 - サーバのテンプレート(AWSでいうところのAMI)を作る前に、手動でサーバを停止しないといけない。
(その他)
- サーバのSELinuxはデフォルトで有効。
- SMTPはpostfixが入っている。
本番用テンプレートを作る時にまずやることのメモ
CentOS 7のコマンドがCentOS 6から色々変わってるので慣れないと...。
- タイムゾーンの設定(/root/tzconfigurator.shという対話形式の設定ツールが用意されているが、itamaeと相性が悪い?)
- yum update
- Linuxユーザーの追加(SSH用公開鍵のセットも)
- rootのSSHログイン禁止
- SSHのパスワード認証の禁止と、鍵認証の許可
- メール送信先の変更(/etc/aliasesの編集)
以下は必要に応じて
- 言語の設定(参考 [CentOS]CentOS7でのロケール(locale)の確認及び変更 | Zero Configuration 英語のままの方が何かと無難?調べ物するときとか)
参考
- SSHを通すまで | Exfield
- 「cloudn (クラウド・エヌ)」を使ってみました - HDE BLOG
- 6.1. セキュリティグループを設定する — Cloudn Compute FLATタイプ 操作マニュアル v2.20.5
- パブリッククラウドサービスCloudn 見積シミュレーター|NTT Com
2016年12月3日土曜日
CentOS 7に NginXをインストール
ダウンロード・インストール
CentOS7.1でnginxを用いたウェブサーバの構築 - Qiita
Webのルートのディレクトリは下記になる
(SELinuxが有効な場合は変更しない方が面倒が無い?)
/usr/share/nginx/html/
設定
/etc/nginx/nginx.conf
worker_processesはautoで良さそう。
参考 nginx の worker_processes を auto にしたときの挙動 - やまぶろぐ
サービス開始
systemctl start nginx.service
起動時にサービス開始するようにする
systemctl enable nginx.service
HTTPS(TLS)対応
既存の/etc/nginx/conf.d/default.confのserver{}内に下記を追加したらできた。
(公開サーバの場合はセキュリティ設定をもっと絞り上げたほうが良い。)
listen 443 ssl;参考 はてなブックマーク - Bマイナー志向 - 2016年1月30日
ssl_certificate /path/to/server.crt;
ssl_certificate_key /path/to/server.key;
リバースプロキシ
同じく/etc/nginx/conf.d/default.confのserver{}内に下記を追加。
location /foo/ {
proxy_pass https://example.jp/test/;
}
参考
nginx.confが読めるようになる - 魔法使いの卵
Nginx設定のまとめ - Qiita