1.下载httpd-2.2.15.tar.gz
[root@test-AS4 ~]#
[root@test-AS4 ~]# cd /usr/local/src/apache/
[root@test-AS4 apache]# tar zxvf httpd-2.2.15.tar.gz
[root@test-AS4 apache]# ll
total 6464
drwxr-xr-x
-rw-r--r--
[root@test-AS4 httpd-2.2.15]# cd httpd-2.2.15
[root@test-AS4 httpd-2.2.15]# ./configure --prefix=/usr/local/apache-2.2.15
[root@test-AS4 httpd-2.2.15]# make
[root@test-AS4 httpd-2.2.15]# make install
#
#
#
# --with-mpm=<MPM>
2.
Apache安装后可通过其安装路径的bin目录下的apachectl脚本控制服务的启动和停止。本例中apache安装在/usr/local/apache-2.2.15,服务控制脚本为:
/usr/local/apache-2.2.15/bin/apachectl
/usr/local/apache-2.2.15/bin/apachectl start
/usr/local/apache-2.2.15/bin/apachectl stop
可以简单地把Apache启动命令加到/etc/rc.local文件,让Apache随系统启动而自动启动:
echo "/usr/local/apache-2.2.15/bin/apachectl start"
下面介绍如何把Apache加入到系统服务,用service命令来控制Apache的启动和停止。
## 这里请注意一下!如果Linux服务器上默认安装了httpd的话(用rpm -qa|grep httpd查看),
## 会有 /etc/init.d/httpd 这个脚本文件的,所以你也可以用以下方法直接生成这个文件来覆盖它
## 那么下次就可以用 service httpd start 来启动了
## 如果需要区分开来的话就使用下面的方式
grep -v "#" /usr/local/apache-2.2.15/bin/apachectl
vi /etc/init.d/apache
#!/bin/sh
chmod
chkconfig --add apache
chkconfig --list apache
启动Apache服务:
service apache start
chkconfig apache off
chkconfig --level 35 apache on
3. Apache的配置
源码包方式安装目录结构
源码包方式安装时通常是在configure命令的--prefix选项指定的目录中建立如下的目录结构,特殊指定的目录除外:
4. 配置文件 http.conf
ServerRoot "/usr/local/apache-2.2.15"
Listen 80
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbd_module modules/mod_authn_dbd.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule dbd_module modules/mod_dbd.so
LoadModule dumpio_module modules/mod_dumpio.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule include_module modules/mod_include.so
LoadModule filter_module modules/mod_filter.so
LoadModule substitute_module modules/mod_substitute.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule ident_module modules/mod_ident.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule asis_module modules/mod_asis.so
LoadModule info_module modules/mod_info.so
LoadModule cgid_module modules/mod_cgid.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule imagemap_module modules/mod_imagemap.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
<IfModule !mpm_netware_module>
User daemon
Group daemon
</IfModule>
ServerAdmin you@example.com
ServerName 192.168.221.128
DocumentRoot "/usr/local/apache-2.2.15/htdocs"
<Directory />
</Directory>
<Directory "/usr/local/apache-2.2.15/htdocs">
</Directory>
<IfModule dir_module>
</IfModule>
<FilesMatch "^\.ht">
</FilesMatch>
ErrorLog "logs/error_log"
LogLevel warn
<IfModule log_config_module>
</IfModule>
<IfModule alias_module>
</IfModule>
<IfModule cgid_module>
</IfModule>
<Directory "/usr/local/apache-2.2.15/cgi-bin">
</Directory>
DefaultType text/plain
<IfModule mime_module>
</IfModule>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
<IfModule mpm_worker_module>
</IfModule>
Timeout 15
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 3
UseCanonicalName Off
AccessFileName .htaccess
ServerTokens Prod
ServerSignature Off
HostnameLookups Off
NameVirtualHost *:80
<VirtualHost *:80>
</VirtualHost>
<VirtualHost *:80>
</VirtualHost>
-----------------------------------------------------------------------------------------
4. 认证和授权配置
## 在httpd.conf配置文件中添加如下代码
<Directory "/usr/local/apache-2.2.15/htdocs/protect">
</Directory>
** 由于文本中 DocumentRoot "/usr/local/apache-2.2.15/htdocs" 已经指定了你的文档根目录
** 所以在这个目录下建立相关目录作为指定的保护文档位置
** 也可以使用Alias别名 指定一个其他目录
[root@test-AS4 ~]# cd /usr/local/apache-2.2.15/htdocs
[root@test-AS4 htdocs]# mkdir protect
[root@test-AS4 protect]# htpasswd -c apache.passwd angel
[root@test-AS4 protect]# ll
total 8
-rw-r--r--
[root@test-AS4 protect]# cat apache.passwd
angel:Grka1xfi6y5RM
[root@test-AS4 protect]#
## 打开浏览器URL: http://192.168.221.128/protect/