第一步:新建CGI目录, linux下一般为/var/www/cgi-bin 目录
mkdir /var/www/cgi-bin
第二步:修改Apache2的cgi配置文件
cgi配置文件路径:/etc/apache2/conf-available/serve-cgi-bin.conf
原配置文件内容:
<IfModule mod_alias.c>
<IfModule mod_cgi.c>
Define ENABLE_USR_LIB_CGI_BIN
</IfModule>
<IfModule mod_cgid.c>
Define ENABLE_USR_LIB_CGI_BIN
</IfModule>
<IfDefine ENABLE_USR_LIB_CGI_BIN>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
</Directory>
</IfDefine>
</IfModule>
修改为自己的配置内容:
<IfModule mod_alias.c>
<IfModule mod_cgi.c>
Define ENABLE_USR_LIB_CGI_BIN
</IfModule>
<IfModule mod_cgid.c>
Define ENABLE_USR_LIB_CGI_BIN
</IfModule>
<IfDefine ENABLE_USR_LIB_CGI_BIN>
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin">
AllowOverride None
AddHandler cgi-script .cgi .py
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
</Directory>
</IfDefine>
</IfModule>
配置文件说明:
ScriptAlias /cgi-bin/ /var/www/cgi-bin/ 和 < Directory “/var/www/cgi-bin”> 改为自己的 CGI 目录的路径 AddHandler cgi-script .cgi .py在 AddHandler 中添加.cgi、 .py 后缀,可以在cgi中使用.cgi和.py的脚本文件。
第三步:启动apache2 cgi模块
a2enmod cgi
默认Apache2已经安装该模块了,只不过没有启用而已
第四步:编写Python CGI文件,vim /var/www/cgi-bin/hello.py
#!/usr/bin/env python
print ("Content-type:text/html\n")
print ("hello world")
第五步:设置Python CGI文件文件权限
chmod 755 /var/www/cgi-bin/hello.py
第六步:重启Apache2服务器
service apache2 restart