title: mac下自带的apache配置cgi
date: 2017-06-12
tags: mac apache CGI
学习python时为了学习cgi部分,需要配置一个cgi的执行环境, 为此花了好几天时间, 过了很多坑,google, stackOverFlow, 以及apache的文档好久,目前cgi其实已经很少有人用, 所以文档都比较老了。会出一些问题, 大家看我下面的就行。 终于下面说一些需要配置的一些步骤
我的macOS Sierra版本是10.12.3。python2.7。
-
终端进入
cd /etc/apache2
ls一下可以看到一些文件,主要的配置文件的httpd.conf, 做配置前先备份一下
sudo cp httpd.conf http.conf.bak
需要输入电脑的密码
-
利用编辑器打开httpd.conf或者使用vim。我就使用vim给大家说吧
sudo vim httpd.conf
打开文件
第一步找到LoadModule cgi_module libexec/apache2/mod_cgi.so这一行, 取消前面的注释, 也就是去掉 #,vim的一些使用技巧大家可以google readline学习。
-
第二步找到下面这两行,
DocumentRoot "/Library/WebServer/Documents" <Directory "/Library/WebServer/Documents">
把路径改成 "/Users/username/Sites", 其中username是你的mac的用户名,在Users下面有一个你用户名的文件, 里面是你当前用户的一些内容, 进入这个文件夹,新建一个文件夹叫做Sites, 这个文件的图标是safari的指南针样子。
-
在上一步的那个Directory标签里面找到
Options FollowSymLinks Multiviews
在最后面加上 +ExecCGI, 下面这个样子
Options FollowSymLinks Multiviews +ExecCGI
-
查找
AddHandler cgi-script .cgi
取消注释, 并且可以在后面添加后缀名, 这是允许cgi执行的文件类型。比如下面, 允许perl和python
AddHandler cgi-script .cgi .pl .py
-
在下面几行找到
AddType text/html .shtml AddOutputFilter INCLUDES .shtml
也是去掉注释
完成之后如果是vim就按esc然后输入**:wq **保存并且退出
-
现在可以重启apache
sudo aoachectl restart
浏览器输入 localhost/index.py查看效果
几点注意,文件和文件夹需要执行权限, 修改权限
chmod 755 Sites chmod 755 Sites/index.py
apache的日志可以进入/var/log/apache2/查看
希望大家都可以成功。
有问题留言。