このページはWebサーバ(Apache)のインストールから設定方法をご紹介しています。

vinelinuxで自宅サーバー公開ロゴ
サイトマップ

>>Linuxで自宅サーバー公開(TOP) >>WWWサーバーの設定


WWWサーバー(Apache)の設定


WWWサーバー(apache)の設定手順




【関連項目】
ユーザ毎にホームページを公開


※見たい項目をクリックすると説明にジャンプします。


 
apacheのインストール  


 aptコマンドでインストールを実行
[root@]# apt-get install apache
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
* apache は既に最新バージョンがインストールされています
0 個のアップグレードパッケージ, 0 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 1 個の保留パ
ッケージがあります。
[root@]#
  すでに最新版がインストールされている場合は、上のようなメッセージがでます。
  インストールは不要ですので、早速”httpd.confの編集”に進んでください。
  インストールが必要な場合は、インストールを実行後、次に進んでください。

  ▲apache設定手順へ戻る


 httpd.confの編集  


 まずは、Apacheのディレクトリ構成を確認します。
 VineLinuxでは、/etc/httpd配下に格納されています。ディレクトリの中身を確認してみましょう。

  ・lsコマンドで/etc/httpd配下を確認
[root@]# cd /etc/httpd   [enter]
[root@]# ls -ltr   [enter]
合計 4
lrwxrwxrwx 1 root root 20 Aug 26 06:15
modules -> ../../usr/lib/apache
lrwxrwxrwx 1 root root 19 Aug 26 06:15
logs -> ../../var/log/httpd
drwxr-xr-x 7 root root 4096 Jan 16 22:54
conf
  ここで、confディレクトリは設定ファイルを格納するディレクトリです。
  以下で説明します設定ファイル「httpd.conf」もこのディレクトリ配下に格納されています。
  また、logsおよびmodulesはシンボリック・リンクとなり、相対パスで指定されています。
  "logs"はhttpdのログ格納先、"modules"はapacheのモジュール格納先を示しています。
 
 httpd.confを環境に合わせて編集

  viエディタでhttpd.confファイルを開きます。
[root@]# vi /etc/httpd/conf/httpd.conf   [enter]
  
  httpd.confファイルを項目別に確認してみましょう。


■http.confファイルの設定項目

 ・サーバーが動作する方式を設定
  ServerType standalone   <-スタンドアローン方式を選択

  [参考]
  ・サーバーの動作する方法と特徴
アクセス制御 スタンドアローン方式 スーパーサーバー方式
起動 システム起動時から常駐 クライアントの要求で起動
応答性 常駐するので良い 要求があってから起動するので遅い
どんなサービス向き? WWWサーバーなど常にアクセスが予想されるサーバー FTPやTELNETのように頻繁にはアクセスがないようなサービス

 ・サーバーが必要とするディレクトリを指定
  ServerRoot /etc/httpd   <-conf/,logs/があるディレクトリ(変更なし)

 ・ログファイルを保存する場所を指定
  LockFile /var/lock/httpd.lock
  PidFile /var/run/httpd.pid
  ScoreBoardFile /var/run/httpd.scoreboard
   <-変更なし

 ・サーバーがタイムアウトエラーを送るまでの時間
  Timeout 300   <-変更なし

 ・ファイル転送を効率化するための技術です。
  KeepAlive On   <-変更なし

 ・一回の接続時の要求数制限
  MaxKeepAliveRequests 100   <-変更なし
  ※0に設定すると無制限になるようです。
   httpdのパフォーマンスを優先する場合は試してください。
  
 ・KeepAlive ONの場合、次のリクエストを待つ秒数を設定
  KeepAliveTimeout 15
 
 ・待機中のプロセス数の上限と下限を設定

  MinSpareServers 5   <-変更なし
  MaxSpareServers 20   <-変更なし
  ※プロセスの数を増やすとサーバーへの負荷が増えます。
 
 ・起動時に作り出す子プロセスの数を設定
  StartServers 8   <-特に変更する必要なし
 
 ・同時に接続できる要求の数です。

  MaxClients 150  <-変更なし(とりあえず)
 
 ・子プロセスが扱う要求数を制限
  MaxRequestsPerChild 100   <-変更なし
  ※大きくするとサーバーへの負荷が増えます。
 
 ・アクセスエラー時にエラーメッセージに表示される
  メールアドレスを設定
  (通常、サーバー管理者のアドレスを設定)
  ServerAdmin aaa@bb.cc.dd  <-アドレスを修正
 
 ・サーバーのドメイン名を設定
  ServerName aaa.bbb.cc  <-登録したドメインに修正
 
 ・HTMLファイルの格納先ディレクトリ
  DocumentRoot /home/httpd/html   <-環境にあわせて変更
 
 ・フォルダの中身を見えないように設定
  Options Indexes FollowSymLinks
  ↓
  Options FollowSymLinks    <-"Indexes"を削除する
 
  この設定がないと、ディレクトリに格納されたをファイル一覧を表示します。
  ↓以下のようなファイル一覧が表示されます。
  

  "Indexes"削除すると以下のようなエラーメッセージが表示されます。
   

  見られたくないファイルもあると思いますので、Indexesは有効にしないほうが
  よさそうですね。(意図してみせる場合はその限りではありません)




 ・ドキュメントルートの設定について

  デフォルトではroot権限でしかドキュメントルートにアクセスできません。
  そのため、ドキュメントルートのアクセス権を変更する必要があります。
  【注意事項】
  root権限のままで公開することはセキュリティ上避けたほうが良いでしょう。
  また、所有者がrootのままではftpによる接続を拒否されるはずです。
  ※Vineのデフォルト設定では接続拒否リスト(/etc/ftpusers)に登録されています。

  以下は、DocumentRootを「/home/httpd/html」(デフォルト)とした場合を例に説明しています。
  ご自身の環境に合わせて読み替えてください。

  ・chownコマンドにより所有者を変更
[root@]# chown -R 所有者名 /home/httpd   [enter]
 ※-Rオプションによりディレクトリを再帰的に下降して全ての所有者を変更します。

  ・chgrpコマンドによりグループを変更
[root@]# chgrp -R グループ名 /home/httpd   [enter]
 ※-Rオプションによりディレクトリを再帰的に下降して全てのグループ名を変更します。
  
  以上の設定でウェブデータのメンテナンス(FTP接続など)を特定所有者(ウェブ管理者)
  で行なうことが可能となります。

  また、ユーザー毎にホームページを公開することもできます。

  httpd.confファイルを編集することで、様々な環境に柔軟に対応することが可能です
  各環境に合わせた設定をマスターしましょう。
  

  ▲apache設定手順へ戻る




 Apacheの起動確認

  ブラウザから"https://サーバのIPアドレス/"へアクセスします

  ↓以下のようなページが表示されればApacheが正常に起動しています。

  


    外部ネットワークからのウェブサーバーへのアクセスを確認する場合は以下で確認できます。
    ホスト名を入力してWebsite testを選択、Go!ボタンにより試験が開始されます。
WebSitePulse.com - free webmaster tools
Hostname:

    以下のような表示になっていれば外部から正常にアクセスできています。
URL tested: https://****.***.***/
Status: Server responded normally to all tests
Server Status: HTTP/1.1 200 OK
Server type: Apache
Last modified: Tue, 06 Sep 2005 07:04:20 GMT
Size: 17235 bytes (16.83 Kb)
Response time: 1.3929 seconds

  正常にアクセスできない場合は、ルータの設定の設定もしくは設定ファイル(httpd.conf)を
  確認してみましょう。


  ▲apache設定手順へ戻る



 ユーザ毎にホームページを公開

  よく「https://xxx.xxxx/~ユーザー名」といったアドレスでホームページが公開されています。
  家族ごとにアカウントを用意してホームページやメールを利用するとさらに便利になるかもしれません。
  自宅サーバですから、家族全員が活用したいですよね。
  そこで、ユーザアカウント毎にホームページを公開する方法をご紹介します。

  ・viエディタでhttpd.confファイルを開きます。
[root@]# vi /etc/httpd/conf/httpd.conf   [enter]

  ・http.donfファイルのpublic_html設定を有効にします。

 <http.confファイルより抜粋>

#
# UserDir: The name of the directory which is appended onto a user's home
# directory if a ~user request is received.
#
# The path to the end user account 'public_html' directory must be
# accessible to the webserver userid. This usually means that ~userid
# must have permissions of 711, ~userid/public_html must have permissions
# of 755, and documents contained therein must be world-readable.
# Otherwise, the client will only receive a "403 Forbidden" message.
#
# See also: https://httpd.apache.org/docs/misc/FAQ.html#forbidden
#
UserDir public_html   ←この部分の先頭コメントを削除



 
  以上の設定で「~/アカウント名/public_html」ディレクトリでホームページを公開することができます。

  ・パーミッションの設定を確認
   ユーザディレクトリのパーミッションはデフォルトで「700:drwx------」となっています。
   この設定のままでは、「https://xxx.xxxx/~ユーザー名」へアクセスすると
   以下のようなエラーメッセージが表示されはずです。
   

   また、「public_html」ディレクトリもパーミッションを変更する必要があります。

   
   ・パーミッションの変更
  • ユーザディレクトリのパーミッション変更:「chmod 711 userdir(ユーザディレクトリ名)」
  • 公開用ディレクトリ(public_html)のパーミッション変更:「chmod 755 public_html」

   以上の変更後に「https://xxx.xxxx/~ユーザー名」へアクセスすると、無事にページが
   表示されるはずです。
   ※作成した「public_html」ディレクトリ内に”index.html”(ファイル)を格納することを忘れずに!



 Copyright(c) 2005, All Rights Reserved.