提供: すだちWiki
移動先: 案内検索

Webサーバー構築(Apache)(SL6)

Webサーバーインストール

Apache インストール

[root@host3 ~]# yum -y install httpd ← httpdインストール

PHP インストール

[root@host3 ~]# yum -y install php php-mbstring php-pear
 ← php、php-mbstring、php-pearインストール

Ruby インストール

[root@host3 ~]# yum -y install ruby

[root@host3 ~]# vi /etc/httpd/conf/httpd.conf
#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
AddHandler cgi-script .cgi .pl .rb ← Rubyスクリプトとして扱う拡張子を追記

[root@host3 ~]# /etc/rc.d/init.d/httpd restart ← 設定反映
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]

後に必要となるパッケージをインストール

[root@host3 ~]# yum -y install expect

[root@host3 ~]# yum -y install gd

[root@host3 ~]# yum install -y ImageMagick

Webサーバー設定

Webサーバー設定

[root@host3 ~]# vi /etc/httpd/conf/httpd.conf
<Directory "/var/www/html">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
    Options Indexes FollowSymLinks
  ↓
    Options Includes ExecCGI FollowSymLinks ← CGI,SSIの許可
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride None
  ↓
    AllowOverride All ← .htaccessの許可

#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
↓
LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined ← 長すぎるURI(414エラー)はログに記録しない

#
# 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 192.168.1 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 FollowSymLinks
    ↓
    Options MultiViews ← iconsディレクトリのファイル一覧を表示しないようにする
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

[root@host3 ~]# rm -f /etc/httpd/conf.d/welcome.conf ← テストページ削除

[root@host3 ~]# rm -f /var/www/error/noindex.html ← テストページ削除

Perlコマンドへ/usr/local/bin/perlでもアクセスできるようにする。

[root@centos ~]# ln -s /usr/bin/perl /usr/local/bin/perl ← /usr/local/bin/perlから/usr/bin/perlへリンクをはる

[root@centos ~]# whereis perl ← Perlのパスを確認
perl: /usr/bin/perl /usr/local/bin/perl /usr/share/man/man1/perl.1.gz
 ← Perlのパスに/usr/local/bin/perlが表示されることを確認

ドキュメントルート所有者変更

ドキュメントルート所有者をWebコンテンツ編集ユーザーに変更する。

[root@host3 ~]# chown sudachi. /var/www/html/ ← ドキュメントルート所有者を変更(sudachiは例)

[root@host3 ~]# ll /var/www/ ← ドキュメントルート所有者変更確認
合計 16
drwxr-xr-x. 2 root    root    4096 11月 24 01:37 2010 cgi-bin
drwxr-xr-x. 3 root    root    4096  6月 19 16:04 2011 error
drwxr-xr-x. 2 sudachi sudachi 4096 11月 24 01:37 2010 html
drwxr-xr-x. 3 root    root    4096  6月 19 15:38 2011 icons

Webサーバー起動

Webサーバー起動

[root@host3 ~]# /etc/rc.d/init.d/httpd start ← httpd起動
httpd を起動中:                                            [  OK  ]

[root@host3 ~]# chkconfig httpd on ← httpd自動起動設定