httpd をインストールしてWebサーバーを構築します。 外部からも接続できるようにするのであれば、ルーターの設定で80番ポート宛てと443ポート宛ても通しておいてください。
1.httpd インストール
1 |
# yum -y install httpd |
1 2 3 4 5 6 |
ウエルカムページを削除 # rm -f /etc/httpd/conf.d/welcome.conf //デフォルトエラーページの削除 # rm -f /var/www/error/noindex.html //Perlのシンボリックリンク作成 # ln -s /usr/bin/perl /usr/local/bin/perl |
ウェルカムページ削除
デフォルトエラーページ削除
Perlのシンボリックリンク作成
2.httpd の設定です。任意のディレクトリでCGIが使えるように設定します。 サーバーの名前等は自分の環境に置き換えて設定してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# vi /etc/httpd/conf/httpd.conf 41 # Don't give away too much information about all the subcomponents 42 # we are running. Comment out this line if you don't mind remote sites 43 # finding out what major optional modules you are running 44 ServerTokens Prod //レスポンスヘッダ内に含める情報を変更します。 73 # KeepAlive: Whether or not to allow persistent connections (more than 74 # one request per connection). Set to "Off" to deactivate. 75 # 76 KeepAlive On //KeepAlive ONに変更 258 # ServerAdmin: Your address, where problems with the server should be 259 # e-mailed. This address appears on some server-generated pages, such 260 # as error documents. e.g. admin@your-domain.com 261 # 262 ServerAdmin webmaster@network-learning.net //管理者アドレス指定 272 # If your host doesn't have a registered DNS name, enter its IP address here. 273 # You will have to access it by its address anyway, and this will make 274 # redirections work in a sensible way. 275 # 276 ServerName www.network-learning.net:80 //コメント解除しサーバー名指定 327 # The Options directive is both complicated and important. Please see 328 # http://httpd.apache.org/docs/2.2/mod/core.html#options 329 # for more information. 330 # 331 Options FollowSymLinks ExecCGI //変更 ( CGIを有効にし、Indexes は削除 ) 334 # AllowOverride controls what directives may be placed in .htaccess files. 335 # It can be "All", "None", or any combination of the keywords: 336 # Options FileInfo AuthConfig Limit 337 # 338 AllowOverride All //変更 398 # The index.html.var file (a type-map) is used to deliver content- 399 # negotiated documents. The MultiViews Option can be used for the 400 # same purpose, but it is much slower. 401 # 402 DirectoryIndex index.html index.cgi index.php //ディレクトリ名のみでアクセスできるファイル名を追加 529 # Optionally add a line containing the server version and virtual host 530 # name to server-generated pages (internal error documents, FTP directory 531 # listings, mod_status and mod_info output etc., but not CGI generated 532 # documents or custom error documents). 533 # Set to "EMail" to also include a mailto: link to the ServerAdmin. 534 # Set to one of: On | Off | EMail 535 # 536 ServerSignature Off //変更 753 # Specify a default charset for all content served; this enables 754 # interpretation of all content as UTF-8 by default. To use the 755 # default browser choice (ISO-8859-1), or to allow the META tags 756 # in HTML content to override this choice, comment out this 757 # directive: 758 # 759 #AddDefaultCharset UTF-8 //コメント化 789 # AddHandler allows you to map certain file extensions to "handlers": 790 # actions unrelated to filetype. These can be either built into the server 791 # or added with the Action directive (see below) 792 # 793 # To use CGI scripts outside of ScriptAliased directories: 794 # (You will also need to add "ExecCGI" to the "Options" directive.) 795 # 796 AddHandler cgi-script .cgi .pl //行頭の#を削除しCGIとして扱うファイルの拡張子を追加 |
修正箇所
44行目 レスポンスヘッダ内に含める情報を変更します。 [Prod]
76行目 KeepAlive ON
KeepAliveをONにすると1回のTCPセッションで複数のHTTPリクエスト/レスポンスの処理ができます。
1 2 3 |
# /etc/rc.d/init.d/httpd start Starting httpd: [ OK ] # chkconfig httpd on |
3.HTMLテストページを作成して動作確認をします。作成したテストページにWebブラウザでアクセスして、以下のようなページが表示されればOKです。
1 2 3 4 5 6 7 8 |
# vi /var/www/html/index.html <html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> Test Page </div> </body> </html> |
4.CGIテストページを作成して動作確認をします。作成したテストページにWebブラウザでアクセスして、以下のようなページが表示されればOKです。
1 2 3 4 5 6 7 8 9 |
# vi /var/www/html/index.cgi #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<html>\n<body>\n"; print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n"; print "CGI Test Page"; print "\n</div>\n"; print "</body>\n</html>\n"; |
1 |
# chmod 705 /var/www/html/index.cgi |