ApacheでCGIを動かす
Contents
Apache でCGIを動作する環境を作る(CentOS 6 , CentOS 7 , CentOS 8)
最近、滅多に使うことがなくなったCGIの設置依頼が久しぶりに来ました。CGI設定て何年ぶりだろう。
お客様ではWordpressで使っていて、メールフォームをCGIで動作しているようです、そのサイトのリニューアルでの引越し作業の依頼です
ApacheでCGIを動作する設定
要件としては「メールフォーム」のディレクトリのみCGIを動作するようにする。
下記のような設定にして「Options ExecCGI」としてCGIを許可すればOKです。
また、下記の設定では「/var/www/html/wordpress/mailform/」以下にメールフォームのCGIを設定します
# Cent OS 6 $ sudi vi /etc/httpd/conf/httpd.conf <Directory "/var/www/html/wordpress/mailform/"> AllowOverride All Options ExecCGI FollowSymLinks Order allow,deny Allow from all AddHandler cgi-script .pl .cgi </Directory> # apache 再起動(reloadでもOK) $ sudo /etc/init.d/httpd restart # CentOS 7 , CentOS 8 $ sudi vi /etc/httpd/conf/httpd.conf <Directory "/var/www/html/wordpress/mailform/"> AllowOverride All Options ExecCGI FollowSymLinks Require all granted AddHandler cgi-script .pl .cgi </Directory> # apache 再起動 $ sudo systemctl restart httpd
CGIを動作確認する
CGIが動作するかテスト用のプラグラムを作ります。まずがwhichコマンドで、perlのフルパスを確認します
$ which perl /usr/bin/perl
このサーバだと、「/usr/bin/perl 」がperlのパスなのでそのパスを指定して、「Hello World!」を表示する簡単なCGIを作製します
$ vi /var/www/html/wordpress/mailform/test.cgi #!/usr/bin/perl print "Content-type:text/html\n\n"; print "<html><body>\n"; print "Hello World!"; print "</body></html>\n";
ブラウザで作製した「test.cgi」にアクセスして表示されればCGIの動作確認はOKです
ディスカッション
コメント一覧
まだ、コメントがありません