Webサーバ構築で心がけるべき二つのこと

4,364 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,364
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Webサーバ構築で心がけるべき二つのこと

  1. 1. Webサーバ構築で心がけるべき二つのこと 2011/3/3 高倉利明
  2. 2. はじめに 今日の内容は 二つ!
  3. 3. 今日の内容サーバへのライブラリインストール作法Apache設定ファイル作法※CentOS5系前提で。
  4. 4. 内容は基本的なことです。→みんな出来てるかな?
  5. 5. その1サーバへのライブラリインストール作法
  6. 6. 大前提:可能な限りソースから入れるな!
  7. 7. ソースから入れるデメリット サーバ内の状態がわからくなる− 何が?− ログはどこ?− 設定ファイルはどこ? ライブラリのアップデートが大変→Iチーフマネージャに某案件での苦労話を聞きましょう。 パッケージはOSに最適化されている
  8. 8. ソースから入れるメリット サーバ内の状態が固定 − 何が? → $ yum list − ログはどこ? → /var/log/~ − 設定ファイルはどこ?→ /etc/~ ライブラリのアップデートが簡単→$ yum install や $ rpm -ivhなど パッケージはOSに最適化されている
  9. 9. yumで入れる_デフォルト 多くのライブラリはyumで入る。 (apache,tomcat,mysql.....) Apache等は独自パッチが当たっており、見た目 のバージョンよりも機能が多いhttpd.x86_64 2.2.3-43.el5→実は2.2.3以降の機能も備わっている
  10. 10. yumで入れる_外部リポジトリ標準リポジトリに無いライブラリはrpmforgeやutterramblingsといった外部リポジトリを使用して入れる。ex) utterramblings→PHP5.2系のインストール可能
  11. 11. rpmパッケージを探す ライブラリの公式サイトでrpmを用意している場合 が結構ある。 ※torittonとか。残念ながらrubyは無い。
  12. 12. checkinstallでrpm化 checkinstall(パッケージ作成ツール)で rpm化して入れる!●Rubyなら~# make# checkinstall --fstrans=no# rpm -ivh /usr/src/redhat/RPMS/x86_64/ruby-1.8.7- p302-1.x86_64.rpm
  13. 13. pacoで管理 どうしても駄目なときはpacoで入れる→ソースから入れるライブラリを管理できる●インストール# make# paco -D make install●リスト表示 # paco -aruby-1.8.7-p72 rubygems-1.3.0●アンインストール # paco -r ruby-1.8.7-p72
  14. 14. まとめ以下の優先順位で選択する1. yumデフォルトで入れる2. yum外部リポジトリを利用して入れる3. rpmが用意されていれば使用して入れる4. checkinstallでrpmを作成して入れる5. pacoでインストールを管理する
  15. 15. その2Apache設定ファイル作法
  16. 16. 基本は「設定の差分をconf.dに置く」/etc/httpd |-/conf | |-/httpd.conf ←ほぼ修正しない | |-/conf.d ←ここに設定ごとの差分を置く |-svn.conf |-ssl.conf …※ デフォルトでは「*.conf」のみ読み込まれる
  17. 17. 同じ処理を二カ所に書くな!:問題点 ありがちなパターン→<VirtualHost *:80>にPassengerの設定を書く→SSLページでも同じ設定が必要→ssl.confにコピペして設定→<VirtualHost *:80>の設定変更が必要になる→SSLページでも同じ設定変更が必要→ssl.confにコピペ…以下略ちょっとした変更でも複数箇所の対応が必要!
  18. 18. 同じ処理を二カ所に書くな!:改善 ファイル分けしてIncludeで読み込む/etc/httpd/conf.d |-virtualhost.conf ←HTTP設定 |-ssl.conf ←HTTPS設定 |-passenger.part ←Passenger設定
  19. 19. 同じ処理を二カ所に書くな!:改善●virtualhost.conf<VirtualHost *:80> Include conf.d/passenger.part~</VirtualHost>●ssl.conf<VirtualHost *:443> Include conf.d/passenger.part~</VirtualHost>
  20. 20. 機能ごとにファイル分割ファイルの役割をはっきりさせる!/etc/httpd/conf.d |-virtualhost.conf ←HTTP設定 |-ssl.conf ←HTTPS設定 |-svn.conf ←Subversion設定 |-passenger.part ← Passenger設定 |-redirect.part ← リダイレクト設定 |-access.part ← アクセス制限設定 …
  21. 21. まとめ以下を考慮して設定する!1. httpd.confは極力触れず、/etc/httpd/conf.dに 差分設定ファイルを置く2. 複数のVirtualHostで共通の設定はファイル分け した後Includeする3. ポートや目的ごとにファイルを分けて配置する
  22. 22. もう一度 まとめ
  23. 23. サーバへのライブラリインストール作法以下の優先順位で選択する1. yumデフォルトで入れる2. yum外部リポジトリを利用して入れる3. rpmが用意されていれば使用して入れる4. checkinstallでrpmを作成して入れる5. pacoでインストールを管理する
  24. 24. Apache設定ファイル作法以下を考慮して設定する!1. httpd.confは極力触れず、/etc/httpd/conf.dに 差分設定ファイルを置く2. 複数のVirtualHostで共通の設定はファイル分け した後Includeする3. ポートや目的ごとにファイルを分けて配置する
  25. 25. 質疑応答
  26. 26. ご静聴 ありがとうございました。

×