Apache httpd : Use CGI Scripts2024/01/30 |
Use CGI (Common Gateway Interface) Scripts. |
|
[1] | By default, CGI is allowed under the [/usr/local/www/apache24/cgi-bin] directory. It's possible to use CGI Scripts to put under the directory. All files under it are processed as CGI. |
root@www:~ #
vi /usr/local/etc/apache24/httpd.conf <IfModule !mpm_prefork_module> # line 166 : uncomment below if httpd is running in except [prefork] mode LoadModule cgid_module libexec/apache24/mod_cgid.so </IfModule> <IfModule mpm_prefork_module> # line 169 : uncomment below if httpd is running in [prefork] mode #LoadModule cgi_module libexec/apache24/mod_cgi.so </IfModule> # line 367 : CGI is allowed under the directory ScriptAlias /cgi-bin/ "/usr/local/www/apache24/cgi-bin/"
root@www:~ #
service apache24 reload
# verify working to create test script # any languages are OK for CGI scripts (example below is Perl)
root@www:~ # cat > /usr/local/www/apache24/cgi-bin/index.cgi <<'EOF'
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "CGI Script Test Page\n";
EOF
root@www:~ # chmod 755 /usr/local/www/apache24/cgi-bin/index.cgi root@www:~ # curl localhost/cgi-bin/index.cgi CGI Script Test Page |
[2] | If you like to allow CGI in other directories, configure like follows. For example, allow in [/usr/local/www/apache24/data/cgi-enabled]. |
root@www:~ #
vi /usr/local/etc/apache24/Includes/cgi-enabled.conf # create new # specify extension that are processed as CGI on [AddHandler cgi-script] line <Directory "/usr/local/www/apache24/data/cgi-enabled"> Options +ExecCGI AddHandler cgi-script .cgi .pl .py .rb </Directory> mkdir /usr/local/www/apache24/data/cgi-enabled root@www:~ # service apache24 reload |
[3] | Create a CGI test page and access to it from any client computer with web browser. |
root@www:~ #
vi /usr/local/www/apache24/data/cgi-enabled/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 Script Test Page\n"; print "</div>\n"; print "</body>\n</html>\n"; chmod 755 /usr/local/www/apache24/data/cgi-enabled/index.cgi |
Sponsored Link |