さくらVPSにWEBサーバ機能を持たせる


OverView

  1. さくらVPSにWEBサーバ機能をもたせ、今後いろいろなサイトを構築する
    同時にPHPの動作環境も設定する
  2. httpdのインストールと設定
  3. phpのインストールと設定
  4. WEBサーバにユーザ毎のディレクトリを作成する

httpdとphpのインストール

# yum -y install httpd php php-mbstring

 

httpd.confの設定

# vi /etc/httpd/conf/httpd.conf
ServerTokens OS
↓
ServerTokens Prod ← エラーページ等でOS名を表示しないようにする

#ServerName www.example.com:80
↓
ServerName tryerror.net

<Directory "/var/www/html">
...
    Options Indexes FollowSymLinks
  ↓
    Options Includes ExecCGI FollowSymLinks ← CGI,SSIの許可

    AllowOverride None
  ↓
    AllowOverride All ← .htaccessの許可

#
# For a single logfile with access, agent, and referer information
# (Combined Logfile Format), use the following directive:
#
SetEnvIf Request_URI "default\.ida" no_log ← 追加(wormからのアクセスをログに記録しない)
SetEnvIf Request_URI "cmd\.exe" no_log ← 〃
SetEnvIf Request_URI "root\.exe" no_log ← 〃
SetEnvIf Request_URI "Admin\.dll" no_log ← 〃
SetEnvIf Request_URI "NULL\.IDA" no_log ← 〃
SetEnvIf Remote_Addr 202.11.2 no_log ← 追加(内部からのアクセスをログに記録しない)
SetEnvIf Remote_Addr 127.0.0.1 no_log ← 追加(自ホストからのアクセスをログに記録しない)
CustomLog logs/access_log combined env=!no_log ← 上記以外のアクセスをログに記録する

ServerSignature On
↓
ServerSignature Off ← エラーページでサーバー情報を表示しないようにする

AddDefaultCharset UTF-8
↓
#AddDefaultCharset UTF-8 ← コメントアウト(文字化け対応)

#AddHandler cgi-script .cgi
↓
AddHandler cgi-script .cgi .pl ← CGIスクリプトに.plを追加

<Directory "/var/www/icons">
    Options Indexes MultiViews
    ↓
    Options MultiViews ← iconsディレクトリのファイル一覧を表示しないようにする
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

UserDir disable
↓
#UserDir disable ← #を追加(コメントアウト)

#UserDir public_html
↓
UserDir public_html ← 行頭の#を削除(コメント解除)
AliasMatch ^/tryerror(.*) /home/tryerror/public_html/$1 ←tryerrorユーザはhttp://ホスト名/tryerror/ もしくはhttp://ホスト名/~tryerror/でアクセスできるように。
AliasMatch ^/userdir/([^/]+)/(.*) /home/$1/public_html/$2 ←その他ユーザはhttp://ホスト名/userdir/ユーザ名/ もしくはhttp://ホスト名/~ユーザ名/でアクセスできるように。

    <Directory /home/*/public_html>
        AllowOverride All
        Options IncludesNoExec ExecCGI FollowSymLinks
        <Limit GET POST OPTIONS>
            Order allow,deny
            Allow from all
        </Limit>
        <LimitExcept GET POST OPTIONS>
            Order deny,allow
            Deny from all
        </LimitExcept>
    </Directory>

 

 phpの初期設定

# vim /etc/php.ini

error_reporting = E_ALL
display_errors = On
log_error = On

[Date]
date.timezone = Asia/Tokyo

 

ユーザディレクトリの作成

上述のhttpd.confの編集にてLinuxユーザ毎に/home/ユーザ名/public_htmlというディレクトリを用意し、

その配下に置いたwebファイルを公開するように設定済み。

新規ユーザ追加時、自動でpublic_htmlフォルダができるようにする。

# mkdir /etc/skel/public_html

すでに作成済みのユーザについては手動でディレクトリを作成。

その際、所有者とパーミッションに気を付ける。(特にapacheユーザに実行権がないとpermission errorとなる)

mkdir /home/tryerror/public_html
chown tryerror:tryerror /home/tryerror/public_html
chmod 711 /home/tryerror

 

 

 

 


2 thoughts on “さくらVPSにWEBサーバ機能を持たせる

  1. Pingback: さくらVPSにdropboxみたいなプライベートクラウドストレージを実装する(owncloud) | Try&Error テクニカルブログ

  2. Pingback: さくらVPSにJAVA実行環境を構築する | Try&Error テクニカルブログ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です