Pandora Pocket

IT系と日常系の備忘録。三日坊主。

VPS構築の未完成備忘録 其の三 -サーバの立ち上げ-

f:id:Ovis:20061014153348j:plain

 

前回初期設定を行ったので今回はWebサーバの設定を行う。

 

 

 

 

今回利用するのはApachelighttpdなどほかにもあるけれど、一番情報がそろっているので今回はこれにした。

 

Apacheの設定ファイルは/etc/httpd/conf/httpd.conf。Webminのサーバ→Apache Webサーバ→グローバル設定→設定ファイルの編集から編集をすることができる。

以下は変更場所。

 

 ServerTokens OS

     ↓                          (サーバの情報を隠す)

ServerTokens Prod

 

Timeout 300

     ↓                          (タイムアウト時間を短縮)

Timeout 120 

 

<IfModule prefork.c>

StartServers       8

MinSpareServers    5

MaxSpareServers   20

ServerLimit      256

MaxClients       256

MaxRequestsPerChild  4000

</IfModule>

    ↓                           (Apacheのプロセス数など変更)

<IfModule prefork.c>

StartServers 2

MinSpareServers 3

MaxSpareServers 5

ServerLimit      128

MaxClients       50

MaxRequestsPerChild 25

MaxMemFree       64000

</IfModule>

 

ServerAdmin root@localhost

    ↓

ServerAdmin 管理者のメールアドレス

 

#ServerName www.example.com:80

    ↓

ServerName *:80

 

Options Indexes FollowSymLinks

    ↓                            (CGIの許可)

Options Indexes ExecCGI FollowSymLinks

 

AllowOverride None

    ↓                            (.htaccessによる設定変更の許可)

AllowOverride All

 

DirectoryIndex index.html index.html.var

    ↓

DirectoryIndex index.html index.html.var index.php index.shtml

 

ServerSignature On

    ↓                            (Apacheのバージョン情報を隠す)

ServerSignature Off

 

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

    ↓                             (CGIの実行場所制限を解除)

#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

 

AddLanguage ja .ja                    (←を最上位に移動)

 

LanguagePriority                     (一番最初にjaがくるように変更)

 

AddDefaultCharset UTF-8

    ↓                            (文字コード指定を廃止)

#AddDefaultCharset UTF-8

 

#AddEncoding x-gzip .gz .tgz

    ↓                            (gzip圧縮の対応)

AddEncoding x-gzip .gz .tgz

 

AddType application/x-httpd-php .php      (PHPの対応)

 

#AddHandler cgi-script .cgi

    ↓                            (CGIの対応)

AddHandler cgi-script .cgi .pl

 

#NameVirtualHost *:80

    ↓                           (バーチャルホストの有効化)

NameVirtualHost *:80

 

SetOutputFilter DEFLATE              (圧縮転送の有効化)

 

とりあえずはこんなところか。

私の場合は2ちゃんねるのスレッドのDAT倉庫にgzip圧縮を利用しているので

 

<Files *.html.gz>

  ForceType text/html

</Files>

 

こんな設定をしておいた。

 

次にバーチャルホストの設定。

バーチャルホストを利用することで一つのサーバで複数のドメインの違うサイトを運営できる。

本来httpd.confに書き込むけれど見にくくなるので新しくconfファイルを作ってそこに書くことにした。

こんな感じ。

/etc/httpd/conf.d/virtualhost.conf

 

<virtualHost *:80>

ServerName サイトのドメイン

DocumentRoot /home/ユーザー名/public_html/

ServerAdmin サイト管理者のメールアドレス

ErrorLog /home/ユーザー名/log/errorlog

<directory "/home/ユーザー名/">

 AllowOverride All

 Allow from All

 Options +ExecCGI

</directory>

</virtualHost>

 

これでpublic_htmlディレクトリ内にファイルを置けば公開されるはず。。

 

ついでにgzip圧縮転送の設定も行っておく。

これを利用すれば転送が軽くなるはず。

/etc/httpd/conf.d/deflate.conf

 

<Location />

 

# DEFLATEの有効化

AddOutputFilterByType DEFLATE text/html text/plain text/xml

 

# 送信先ブラウザがNetscape 4.xの場合はtext/htmlのみ圧縮

BrowserMatch ^Mozilla/4 gzip-only-text/html

 

# 送信先ブラウザがNetscape 4.06-4.08の場合は圧縮しない

BrowserMatch ^Mozilla/4.0[678] no-gzip

 

# 送信先ブラウザがMSIEの場合は全て圧縮する

BrowserMatch bMSI[E] !no-gzip !gzip-only-text/html

 

# プロキシサーバーが圧縮未対応ブラウザへ圧縮ファイルを送信しないようにする

Header append Vary User-Agent env=!dont-vary

 

#画像・動画・圧縮ファイルは圧縮しない

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png|ico|z|taz|t?gz|t?bz2?|zip|lzh|sit|rar|pdf|mp3|gz|ogg|wma|rm|wmv|mov|mpe?g)$ no-gzip dont-vary

 

</Location>

 

 これでいいかな。

 

普通はFTPサーバも立ち上げるのだけど、セキュリティ的な理由で没。SSHサーバがあるのでSFTPなどに対応したWinSCPを利用すれば問題なし。

メールサーバーはVPSより信頼の置けるサーバーの方がよいのでGoogle Appsを利用。よって必要なし。

 

参考にしたサイト

 

Apache PHP ImageMagick インストール CentOS5

@IT:mod_deflateによるコンテンツの圧縮転送

apacheのhttp.confでサブドメインを追加する方法 | Web&MUSICブログ QUALL