初めてのmakeserverTOP > 自宅サーバ構築 > WEBサーバ構築

webサーバ構築について

 
apacheとは

アパッチ(Apache HTTP Server)は、世界で最も使われているWebサーバソフトウェアの一つです。ホームページを公開する場合に使用します。

 


●インストール

# yum -y install httpd
(「yum」コマンドを使ってインストールします。)
















 


●apache設定

# cd /etc/httpd/conf
(「cd」コマンドを使って「/etc/httpd/conf」へ移動します)

# cp httpd.conf httpd.conf.org
(戻しができるよう「cp」コマンドを使って設定ファイルをコピーします)

# vi httpd.conf
(「vi」エディタを使って設定ファイルを編集します。)

ServerTokens OS

ServerTokens Prod
※この設定はレスポンスヘッダに含まれる情報となるので、必要以上に攻撃者に
対して情報は与えない。
Prod  プロダクト名の表示
Major 「Prod」+ Apacheのメジャーバージョン
Minor 「Major」+ Apacheのマイナーバージョン
Min  「Prod」+ Apacheの詳細バージョン
OS   「Min」+ OS名
Full  「Min」+ OS名 + アプリ情報








ServerAdmin webmaster@testlinux.dip.jp
(エラーページなどで表示するメールアドレスを指定)









ServerName testlinux.dip.jp:80
(サーバ名を指定。「:80」はポート番号を指定)









Options Indexes FollowSymLinks

Options Includes ExecCGI FollowSymLinks
(CGI,SSIの許可の為「ExecCGI」追加)










AllowOverride None

AllowOverride All
(「.htaccess」の許可の為「All」へ変更)













#UserDir disable    ←「#」付ける

UserDir public_html ←「#」を外す
(「/home」ディレクトリの各ユーザごとホームページがもてるように変更)
















------ここから追加------
<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>

------ここまで追加------
(上記全て追記。「/home/*/public_html」に対して
「.htaccess」の許可、CGI,SSIの許可)





















DirectoryIndex index.html index.html.var

DirectoryIndex index.html index.htm index.php index.cgi
(指定するインデックスファイルを追加修正)









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エラーはログに記録しない)









SetEnvIf Request_URI "default\.ida" no_log
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.11 no_log
CustomLog logs/access_log combined env=!no_log

(上記を追記「worm」からのアクセスをログに記録しない。LAN内はログに記録しないなどの設定)












ServerSignature On

ServerSignature Off
(「apache」のバージョンを非表示)









AddDefaultCharset UTF-8

#AddDefaultCharset UTF-8
(「#」を追加)









#AddHandler cgi-script .cgi

AddHandler cgi-script .cgi .pl
(「pl」を追加)







編集が終わったら設定を保存して終了します。

 


●Apache起動

# chkconfig httpd on

# chkconfig --list httpd

# /etc/init.d/httpd start






 


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

# ln -s /usr/bin/perl /usr/local/bin/perl
(「ls」コマンドをオプション「-s」を使ってリンクを貼る)

# whereis perl
( whereis コマンドを使ってファイルパスを確認します。)
(「perl: /usr/bin/perl /usr/local/bin/perl /usr/share/man/man1/perl.1.gz」表示ならOK)





 


●ポート開放チェック

ポートチェック【外部からポート開放確認】にてホスト名にご自身のサーバのホスト名を入力し
ポート80を選択し、ポートチェックをクリックする。

【OKの場合】
(^o^) ホスト=testlinux.dip.jp ポート=80 にアクセスできました。」と表示されます。

【NGの場合】
DDNSの設定を確認。(ちゃんと名前解決されているか確認。)
ルータポートの開放確認
など調べてみてください。

●表示テスト

ポート開放チェックも無事に終わったので、テスト画面を表示して、実際に表示できるかどうかを確認します。

# cd /home/<ご自身のユーザディレクトリ>
(「cd」コマンドを使ってユーザディレクトリに移動します。(今回はユーザ「test」です。))

# ls
(「ls」コマンドを使ってディレクトリ内を表示します。)
先の設定で、「Maildir」「public_html」を自動作成しています。無い場合は、「mkdir」コマンドで作成します。)

# cd public_html
(「cd」コマンドを使って「public_html」ディレクトリ内へ移動)







# vi index.html
(「vi」エディタを使って「index.html」を新規作成します。)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title></title>
<body>
テスト画面
</body>
</html>
(編集が終わったら設定を保存して終了します。)

# chmod 711 /home/<ユーザ名>
(パーミッションを変更しないと権限がない為表示されません。)

「http://<ご自身のドメイン名>/~<ユーザ名>/」 にてアクセスしてみてください

表示されなければクライアントPC(Windows)エクスプローラから「C:\WINDOWS\system32\drivers\etc」にある
「hosts」ファイルをノートパッドで開きご自身のサーバのアドレスとホスト名を記載して保存し再度アクセスしてみてください。









(この場合は「192.168.11.14  testlinux.dip.jp」を追記)

*ここのファイルは重要なので必要以上にいじらないようにしてください。

# rm -f index.html
(確認が出来たら「rm」コマンドをオプション「-f」を使って削除)
 

自宅サーバ構築記事一覧

NTPサーバ構築

NTPとは「network time Protocol」は、UDPポートの123番を使用して、ネットワークに接続されている機器などが持つている時計を正しい時刻(標準時刻)へ...

SSHサーバ構築

SSHとは「Secure SHell」は、TCPポートの23番を使用して、ネットワークを通じてサーバなど他の機器にログインしたりコマンドを実行したりするリモートシェルのこと...

FTPサーバ構築

FTPとは「File Transfer Protocol」は、TCPポートの21番を使用して、ファイル転送するためのプロトコルです。実運用でもFTPはよく使われています...

MAILサーバ構築

「Postfix」「Dovecot」とは「Postfix」とはMTA(Message Transfer Agent)電子メールを転送するソフトウェアの一つです。送信...

webサーバ構築

apacheとはアパッチ(Apache HTTP Server)は、世界で最も使われているWebサーバソフトウェアの一つです。ホームページを公開する場合に使用します。 ...

webサーバ間通信暗号化

mod_sslとはSSL(Secure Sockets Layer)を実装するためのモジュール。SSL を実装することで、情報が暗号化されよりセキュアなwebサイトとなる。...

プロキシサーバ構築

SquidとはHTTPなどの通信を中継したりキャッシュしたりプロキシサーバソフト。キャッシュ機能があるので一度アクセスしたWebページをサーバ上に保存することで、次に同じW...