1.下载apache (http://httpd.apache.org/ )
2.解压
tar xzvf httpd-2.2 .6 .tar.gz
3.prefix安装目录
./configure --prefix=/usr/local/apache
4.编译安装
make
make install
5. 编辑配置文件,也可保持默认
vi /home/mahaibo/apache/conf/httpd.conf
httpd.conf配置部分说明:
Listen 80 //apache默认端口,可以修改
DocumentRoot "/home/mahaibo/apache/htdocs" //用户默认访问的apache目录
//日志输出的2种格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/access_log common //访问日志:access_log的输出采用common格式
6.修改文件的所有者和所有组
cd /usr/local/apache
chown -R root:root htdocs
7. 修改apache下所有文件权限
chmod -R 755 *
8.启动apache
cd /usr/local /apache/bin
./apache start
在bin目录下有多个文件都是可以开启和关闭apache服务的 大家没事可以研究下 方便起见可以
cp apache /etc/init.d/apache
service apache start
service apche stop
开启和停止服务
ps :
安 装apache2 , ./configure ;make;make install。安装完毕后却不能找到mod_proxy和mod_rewrite模块,主要原因是APACHE2.2默认的安装选项是最小化的安装,一 些扩展模块在默认的状态下都没有被安装,如果需要要在./configure后用参数指定,比方要用到mod_proxy 和 mod_rewrite两个模块进行实验,所以命令行是:./configure --enable-mods-shared='proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http proxy_rewrite'。这个配置不仅指定了这些模块,同时也默认安装其他最小项。这样配置完后make和make install后,mod_proxy和mod_rewrite两个模块都能找到了
日志配置:
1.使用 cronolog 为每一天建立一个新的日志
安装cronolog,具体见http://lvinie.iteye.com/blog/1214037
主配置文件中的使用方法,安装目录下的conf/httpd.conf文件中找到
CustomLog logs/access_log combined
修改为:
CustomLog "|/usr/local/sbin/cronolog /etc/httpd/logs/access_log.%Y-%m-%d" combined
虚拟主机配置文件中的使用方法
ServerAdmin webmaster@localhost
DocumentRoot "E:/htdocs"
ServerName localhost
ErrorLog "|bin/cronolog logs/localhost/error_%Y%m%d.log"
CustomLog "|bin/cronolog logs/localhost/access_%Y%m%d.log" combined
更新:
1. 配置多域名
2.不同域名访问不同目录
修改httpd.conf文件
<VirtualHost *:80>
DocumentRoot /mnt/htdocs/img/ghs-tv/apk
ServerName apk.ghs-tv.test.cn
ErrorLog logs/apk.ghs-tv.test.cn-error_log
CustomLog logs/apk.ghs-tv.test.cn-access_log common
#CustomLog "|/usr/sbin/rotatelogs -l /etc/httpd/logs/img.test.cn-access-%Y-%m-%d.log 200M" common
#CustomLog "|/usr/sbin/rotatelogs -l /etc/httpd/logs/img.test.cn-access-%Y-%m-%d.log 86400" common
<Directory /mnt/htdocs/img/ghs-tv/apk>
Options FollowSymLinks
Options Indexes FollowSymLinkS Includes ExecCGI
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /mnt/htdocs
ServerName img.test.cn
ErrorLog logs/img.test.cn-error_log
CustomLog logs/img.test.cn-access_log common
#CustomLog "|/usr/sbin/rotatelogs -l /etc/httpd/logs/img.test.cn-access-%Y-%m-%d.log 200M" common
#CustomLog "|/usr/sbin/rotatelogs -l /etc/httpd/logs/img.test.cn-access-%Y-%m-%d.log 86400" common
<Directory /mnt/htdocs>
Options FollowSymLinks
Options Indexes FollowSymLinkS Includes ExecCGI
AllowOverride All
</Directory>
</VirtualHost>
同时配置文件中下面一行注释打开
NameVirtualHost *:80