Apache/homeエリア解放

Last-modified: 2014-02-19 (水) 23:59:01
最終更新:2014-02-19 (水) 23:59:01
アクセス数(合計):?
利用者; ? アクセス数(本日):? アクセス数(昨日):?

Webサーバ Apache homeエリア開放

WEBサーバの定番ツールであるApache(アパッチ)にて、各ユーザが自homeエリア(/home/hogehoge)に
独自にHPコンテンツが構築できるよう設定を行う。


目的

ユーザ側で「/home」配下で独自にWEBを作成し、以下アドレス指定でアクセス可能とする。

http://192.168.0.10/~hogehoge/

構築条件

構築機器

作成環境

OS    CentOS 6.5 64bit版

サーバ作成条件

サーバIP192.168.0.10/24
ホスト名hogehogeServer
user   hogehoge
userpasswdhogehogepass
mysqldb名 mysql
mysqluser名mysqluser
mysqluserpasswdmysqlpass
作業ディレクトリ/home/hogehoge

手順記入ルール

  • コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
  • コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。

前準備

  1. CentOSインストール 実施
  2. yumリポジトリ設定 実施
  3. LAMPサーバ構築 実施

設定

(1)Webサーバ(apache)設定

【telnet】

  • rootでログイン
$ su
パスワード:
  • httpd.conf編集
# vi /etc/httpd/conf/httpd.conf
  • ユーザディレクトリアクセス禁止をコメントアウト
    UserDir disabled
       ↓
    #UserDir disabled
  • ユーザディレクトリ「public_html」アクセス許可
    #UserDir public_html
       ↓
    UserDir public_html
  • http再起動
# /etc/rc.d/init.d/httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]
  • 終了
# exit
exit
$

(2) ユーザディレクトリ設定

  • リスト確認
$ ls -l ..
drwx------. 21 hogehoge hogehoge  4096  2月 16 19:30 2014 hogehoge
  • 権限を変更 ユーザディレクトリをwebからアクセス可に設定
$ chmod 755 ../hogehoge/
  • 権限が変更されたか確認
    $ ls -l ..
drwxr-xr-x. 21 hogehoge hogehoge  4096  2月 16 19:30 2014 hogehoge
  • webデータ用フォルダ作成 (public_html)
$ mkdir public_html
  • フォルダが出来たか確認
$ ls -l
drwxrwxr-x  2 hogehoge hogehoge  4096  2月 19 23:53 2014 public_html

(3)動作試験データ作成

  • web動作試験データ作成
$ vi public_html/index.html
<html>
<head>
<title>テストページ</title>
</head>
<body>
初めてのホームページです。
</body>
</html>
  • php動作試験データ作成
$ vi public_html/info.php
<?php
phpinfo();
?>
  • 動作試験
$ php public_html/info.php
phpinfo()
PHP Version => 5.3.3
 :

(多量に出力されればOK)

  • mysql動作試験データ作成
$ vi public_html/mysql.php
<?php
mysql_connect("localhost","root","mysqlpass") or die("Error MySQL First Test");
echo "Success MySQL First Test";
?>
  • 動作試験
$ php public_html/mysql.php
Success MySQL First Test

(この文字が出力されればOK)

$ ls -l public_html/
-rw-rw-r-- 1 hogehoge hogehoge 119  2月 19 23:55 2014 index.html
-rw-rw-r-- 1 hogehoge hogehoge  20  2月 19 23:55 2014 info.php
-rw-rw-r-- 1 hogehoge hogehoge 122  2月 19 23:56 2014 mysql.php

(4)動作試験

他のPCから以下URLアクセス

http://192.168.0.10/~hogehoge/

初めてのホームページです。

http://192.168.0.10/~hogehoge/info.php

(PHP設定情報出力)

http://192.168.0.10/~hogehoge/mysql.php

Success MySQL First Test

★上記のとおり出力されればOK

遭遇したトラブル

http://192.168.0.10/~hogehoge/ アクセス時「You don't have permission~」エラー

問題:
http://192.168.0.10/~hogehoge/ アクセス時、「You don't have permission~」エラーが出る場合がある。

Forbidden
You don't have permission to access /~hogehoge/ on this server.

原因:
ユーザディレクトリのパーミッション変更忘れ


''http://192.168.0.10/~hogehoge/mysql.phpアクセスで何も表示されない''

問題:
http://192.168.0.10/~hogehoge/mysql.phpにアクセスしても画面が真っ白になって何も表示されない場合がある
原因:
以下モジュールのインストール忘れ

「mod_auth_mysql-~」「php-mysql-~」

サーバ画面の「アプリケーション」→「ソフトウェアの追加/削除」→「一覧」でモジュールをインストールすること
モジュール/パーミッション、どちらもCentOSインストール時デフォルトでは設定されないため意識して設定しないと漏れやすい。
実際、HP表示エラー原因を探すためにめちゃめちゃ悩んだ


Apache再起動時に「Could not reliably ~」のエラー

問題:
Apache再起動時に「Could not reliably ~」のエラーが出る場合がある

Could not reliably determine the server's fully qualified domain name,
using 127.0.0.1 for ServerName

原因:
Apacheの定義ファイルhttp.confへのホスト名登録忘れ。
独自にサーバ名を設定した場合この問題が出やすい

# view /etc/hosts
127.0.0.1               hogehogeServer localhost.localdomain localhost

で登録サーバを確認 「localhost.localdomain localhost」以外
※上記例の場合は 「 hogehogeServer

# vi /etc/httpd/conf/httpd.conf
#ServerName www.example.com:80
ServerName hogehogeServer:80 ←追加

のようにServerNameに追加しておく

謝辞

テキスト作成に当たり、以下サイトを参考にさせて頂きました。ありがとうございます。

http://centossrv.com/apache.shtml
http://blog.dacelo.info/apache/entry-713.html
http://lfll.blog73.fc2.com/blog-date-200706.html