0
回答
一份简化的Apache httpd.conf文件,包含CGI、SSI和PHP支持
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

独立的项目目录,和Apache的安装目录分开,便于管理,配置文件做了最大的简化,约定.cgi为CGI后缀,.shtml为SSI后缀,这样开发和调试就方便了。

目录结构大致是这样子的,Apache启动的时候使用-f参数指定配置文件。

初学者,献丑。

ServerRoot "/Users/shajunxing/Gnu/apache"
DocumentRoot "/Users/shajunxing/Proj/Apache/htdocs"

# 此处要改成IP地址,不能用域名,否则报“Could not reliably determine the server's fully qualified domain name...”错误
ServerName 127.0.0.1:8080

# 默认80端口会报“Permission denied...”错误,因为权限不足
Listen 8080

DefaultType text/plain

ErrorLog "logs/error_log"

LogLevel warn

# 此模块必须,否则会报“Syntax error on line XXX...Invalid command 'Order'...”错误
LoadModule authz_host_module modules/mod_authz_host.so

# SSI必须
LoadModule include_module modules/mod_include.so

# SSI必须
LoadModule expires_module modules/mod_expires.so

# 处理MIME类型,否则所有页面都是text/plain的
LoadModule mime_module modules/mod_mime.so

# 如果没有默认文件,则列目录
LoadModule autoindex_module modules/mod_autoindex.so

# CGI、SSI必须
LoadModule cgi_module modules/mod_cgi.so

# 目录默认文件,通常为“index.html”
# LoadModule dir_module modules/mod_dir.so

# CGI运行必须,重定向“/cgi-bin”到某个指定目录
# LoadModule alias_module modules/mod_alias.so

# PHP支持
LoadModule php5_module modules/libphp5.so

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

<Directory "/Users/shajunxing/Proj/Apache/htdocs">
    # “Includes”是SSI需要的
    # “ExecCGI”是CGI执行权限
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<IfModule mime_module>
    TypesConfig conf/mime.types

    # SSI设置
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml

    # CGI设置
    AddHandler cgi-script .cgi
    
    # PHP设置
    AddType application/x-httpd-php .php
</IfModule>

举报
kajhsdjkah
发帖于6年前 0回/1K+阅
顶部