Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

4,603 views

Published on

Published in: Technology
  • Be the first to comment

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. ご静聴 ありがとうございました。

×