每次安装完httpd后,还要改许多参数,很麻烦,于是想到了用脚本自动完成,下面贴出我个人一些指令修改配置.
环境准备:
CentOS6.5 x86_64httpd-2.4.16指令配置
1.PidFile增加# sed -i '/^ServerRoot/a \PidFile "/var/run/httpd.pid"' /etc/httpd/httpd.conf2.Servername修改# sed -i -r 's@^#(ServerName).*@\1 localhost:80@g' /etc/httpd/httpd.conf3.Document修改# sed -r -i 's@^(DocumentRoot).*@\1 "/data/apache"@g' /etc/httpd/httpd.conf4.Directory修改# sed -i 's@/usr/local/apache/htdocs@/data/apache@g' /etc/httpd/httpd.conf5.添加php支持# sed -r -i "/AddType (.*)[[:space:]].gz/a \ AddType application/x-httpd-php .php" /etc/httpd/httpd.conf# sed -i -r "/[^#]AddType(.*).tgz/a \ AddType application/x-httpd-php-source .phps" /etc/httpd/httpd.conf6.修改DirectoryIndex# sed -i "s/DirectoryIndex index.html/DirectoryIndex index.php index.html/g" /etc/httpd/httpd.conf7.启用代理和fcig模块(如果httpd使用的fastcgi则启用此项,否则不需要启用)# sed -i -r "s/^#(LoadModule.*proxy_module)/\1/g" /etc/httpd/httpd.conf# sed -i -r "s/^#(LoadModule.*proxy_fcgi)/\1/g" /etc/httpd/httpd.conf8.如果要启用虚拟主机(fastcgi机制),则启用vhosts,虚拟主机中添加如下两行,# sed -r 's@^#(Include.*vhosts.conf)@\1@g' /etc/httpd/httpd.conf# echo 'ProxyRequests Off' >> /etc/httpd/extra/httpd-vhosts.conf# echo 'ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/apache/$1' >> /etc/httpd/extra/httpd-vhosts.conf如果觉得文件名路径太长,类似那个虚拟主机配置文件名,不想老是重复写,可用!$代替,如果觉得一条条复制麻烦,可创建一个以.sh结尾的文件,再将下面复制好的代码粘贴进去,再赋予执行权限就ok
#!/bin/bash# Author:soy sauce# Date:2015-09-18 16:28# Description:configure httpd directives #1.PidFile增加 sed -i '/^ServerRoot/a \PidFile "/var/run/httpd.pid"' /etc/httpd/httpd.conf#2.Servername修改 sed -i -r 's@^#(ServerName).*@\1 localhost:80@g' /etc/httpd/httpd.conf#3.Document修改 sed -r -i 's@^(DocumentRoot).*@\1 "/data/apache"@g' /etc/httpd/httpd.conf#4.Directory修改 sed -i 's@/usr/local/apache/htdocs@/data/apache@g' /etc/httpd/httpd.conf#5.添加php支持 sed -r -i "/AddType (.*)[[:space:]].gz/a \ AddType application/x-httpd-php .php" /etc/httpd/httpd.conf sed -i -r "/[^#]AddType(.*).tgz/a \ AddType application/x-httpd-php-source .phps" /etc/httpd/httpd.conf#6.修改DirectoryIndex sed -i "s/DirectoryIndex index.html/DirectoryIndex index.php index.html/g " /etc/httpd/httpd.conf#7.启用代理和fcig模块(如果httpd使用的fastcgi则启用此项,否则不需要启用) sed -i -r "s/^#(LoadModule.*proxy_module)/\1/g" /etc/httpd/httpd.conf sed -i -r "s/^#(LoadModule.*proxy_fcgi)/\1/g" /etc/httpd/httpd.conf#8.如果要启用虚拟主机(fastcgi机制),则启用vhosts,虚拟主机中添加如下两行, sed -r 's@^#(Include.*vhosts.conf)@\1@g' /etc/httpd/httpd.conf echo 'ProxyRequests Off' >> /etc/httpd/extra/httpd-vhosts.conf echo 'ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/data/apache/$1' >> /etc/httpd/extra/httpd-vhosts.conf
如有错误,请各位大神不吝赐教,谢谢!