安装软件包httpd(软件包)httpd-devel(开发工具)httpd-manual(服务手册)
[root@localhostyum.repos.d]# yum install httpd httpd-devel httpd-manual –y
启动服务
[root@localhost~]# service httpd restart 停止 httpd: [失败] 启动 httpd: [确定]
默认端口 TCP 80
查看服务进程,是否成功启动
[root@localhost~]# netstat -ln | grep :80 tcp 0 0 :::80 :::* LISTEN
查看所有httpd进程,一个父进程,其余均为此进程的子进程。pstree –p 可以查看
[root@localhost~]# ps -ef | grep http root 4959 1 0 10:10 ? 00:00:00 /usr/sbin/httpd apache 4960 4959 0 10:10 ? 00:00:00 /usr/sbin/httpd apache 4961 4959 0 10:10 ? 00:00:00 /usr/sbin/httpd apache 4962 4959 0 10:10 ? 00:00:00 /usr/sbin/httpd apache 4963 4959 0 10:10 ? 00:00:00 /usr/sbin/httpd apache 4964 4959 0 10:10 ? 00:00:00 /usr/sbin/httpd apache 4965 4959 0 10:10 ? 00:00:00 /usr/sbin/httpd apache 4967 4959 0 10:10 ? 00:00:00 /usr/sbin/httpd apache 4968 4959 0 10:10 ? 00:00:00 /usr/sbin/httpd
enlinks,命令行浏览器命令。--dump以文本方式显示,--source以源码方式显示,-default-keys使用用户名密码登陆。
[root@localhost~]# elinks --dump /var/www/error/noindex.html [root@localhost~]# elinks --dump http://www.example.com [root@localhost~]# elinks -default-keys http://www.example.com/movie
编辑主配置文件。
[root@localhost ~]#vim /etc/httpd/conf/httpd.conf 265 #ServerName //本站点的FQDN名称 281 DocumentRoot"/var/www/html" //网页文档的根目录 391 DirectoryIndex index.html index.html.var //默认首页文件 472 ErrorLog logs/error_log //错误日志文件位置 501 #CustomLog logs/access_log common //访问文件位置 134 Listen 80 //监听端口 63 PidFile run/httpd.pid //进程文件位置 57 ServerRoot "/etc/httpd" //服务目录 251 ServerAdmin root@localhost //管理员邮箱 231 User apache //服务所属用户 232 Group apache //服务所属组 68 Timeout 120 //网络连接超时 74 KeepAlive Off //是否保持连接 81 MaxKeepAliveRequests 100 //每次连接最多处理的请求数 87 KeepAliveTimeout 15 //保持连接的超时时限 210 Include conf.d/*.conf //可以包含其他子配置文件
网页文档的根目录
[root@localhost~]# cd /var/www/html/ [root@localhosthtml]# ls Authdir 编辑主页内容 [root@localhosthtml]# vim index.html
客户机地址限制
root@localhost~]# vim /etc/httpd/conf/httpd.conf Order deny,allow 先拒绝后允许,默认允许所有 Allow from all Allow,deny先允许后拒绝,默认拒绝所有。 先读前边限制,继续读后一限制,若冲突,以后一限制为准。若要限制某一IP则为 order allow,deny deny IP地址
对目录进行用户限制
[root@localhost~]# mkdir /var/www/html/authdir/ [root@localhost~]# vim /var/www/html/authdir/index.html <h1>TEST</h1>
添加一访问用户并设密码,-c 路径表示新建一用户文件。
[root@localhost~]# htpasswd -c /etc/httpd/auth.ulist admin Newpassword: Re-typenew password: Addingpassword for user admin
编辑主配置文件,添加目录访问控制
[root@localhost~]# vim /etc/httpd/conf/httpd.conf <Directory"/var/www/html/authdir/"> Authname "Need Auth" 认证领域名称 Authtype basic 认证类型 Authuserfile /etc/httpd/auth.ulist 用户数据文件的路径 Require valid-user指定用户或组的授权 </Directory> [root@localhost~]# service httpd restart 停止 httpd: [确定] 启动 httpd: [确定]
访问路径别名设置
[root@localhostly]# mkdir -p /var/www/html/l/y/z/c/t [root@localhostly]# vim /var/www/html/l/y/z/c/t/index.html [root@localhostly]# vim /etc/httpd/conf/httpd.conf Alias/123 "/var/www/html/l/y/z/c/t" [root@localhostly]# service httpd restart 停止 httpd: [确定] 启动 httpd:httpd: apr_sockaddr_info_get() failed for ser2.example.com httpd: Could notreliably determine the server's fully qualified domain name, using 127.0.0.1for ServerName 服务启动成功单出现提示表示不能解析ser2.example.com
AWstats日志分析
[root@localhost~]# cd /root/Desktop/ [root@localhostDesktop]# ls awstats-7.1.tar.gz [root@localhostDesktop]# tar zxf awstats-7.1.tar.gz -C /usr/local [root@localhostDesktop]# cd /usr/local/ [root@localhostlocal]# ls awstats-7.1 bin etc games include lib lib64 libexec sbin share src [root@localhostlocal]# mv awstats-7.1 awstats [root@localhostlocal]# ls awstats bin etc games include lib lib64 libexec sbin share src [root@localhostlocal]# cd awstats/ [root@localhostawstats]# ls docs README.TXT tools wwwroot [root@localhostawstats]# cd tools/ [root@localhosttools]# ls awstats_buildstaticpages.pl awstats_exportlib.pl geoip_generator.pl logresolvemerge.pl nginx webmin awstats_configure.pl awstats_updateall.pl httpd_conf maillogconvert.pl urlaliasbuilder.pl xslt
安装软件包(源码包安装),执行pl文件
[root@localhosttools]# ./awstats_configure.pl Enter full configfile path of your Web server. Example:/etc/httpd/httpd.conf Example:/usr/local/apache2/conf/httpd.conf Example:c:\Program files\apache group\apache\conf\httpd.conf Config file path('none' to skip web server setup): >/etc/httpd/conf/httpd.conf Do you want me tobuild a new AWStats config/profile file(required if first install) [y/N] ?y What is the nameof your web site or profile analysis ? Example:www.mysite.com Example: demo Your web site,virtual server or profile name: > www.example.com In which directorydo you plan to store your config file(s) ? Default:/etc/awstats Directory path tostore config file(s) (Enter for default): > PressENTER to continue... PressENTER to finish...
编辑awstats配置文件
[root@localhosttools]# vim /etc/awstats/awstats.www.example.com.conf LogFile="/var/log/httpd/access_log" DirData="/var/lib/awstats" [root@localhosttools]# mkdir /var/lib/awstats
运行awstats。提取日志。
[root@localhosttools]# ./awstats_updateall.pl now Running'"/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -update-config=www.example.com -configdir="/etc/awstats"' to update config www.example.com Create/Updatedatabase for config "/etc/awstats/awstats.www.example.com.conf" byAWStats version 7.0 (build 1.975) From data in logfile "/var/log/httpd/access_log"... Phase 1 : Firstbypass old records, searching new record... Searching newrecords from beginning of log file... Phase 2 : Nowprocess new records (Flush history on disk after 20000 hosts)... Jumped lines infile: 0 Parsed lines infile: 75 Found 0 dropped records, Found 0 comments, Found 0 blank records, Found 0 corrupted records, Found 0 old records, Found 75 new qualified records
重启服务
[root@localhosthtml]# service httpd restart 停止 httpd: [确定] 启动 httpd: [确定]
添加计划任务
[root@localhosthtml]# crontab -e */5 * * * */usr/local/awstats/tools/awstats_updateall.pl now [root@localhosthtml]# service crond restart 停止 crond: [确定] 启动 crond: [确定] [root@localhosthtml]# chkconfig crond on
由于访问路径过于复杂,设置一个较简单路径自动跳转到此页面。
[root@localhost ~]#vim /var/www/html/aw.html <html><head> <metahttp-equiv=refresh content="0; url=http://192.168.10.1/awstats/awstats.pl?config=www.example.com"> </head> <body></body></html> ~ [root@localhost~]# service httpd restart
基于域名的虚拟主机(使用最多)
[root@localhost~]# mkdir -p /data/www/html/www [root@localhost~]# mkdir -p /data/www/html/bbs [root@localhost~]# cd /data/www/html/www/ [root@localhostwww]# vim index.html [root@localhostwww]# vim ../bbs/index.html [root@localhosthttpd]# vim conf.d/vi.conf NameVirtualHost*:80 <VirtualHost*:80> DocumentRoot /data/www/html/www 网页文档存放位置 ServerName www.example.com域名 ErrorLoglogs/dummy-www.example.com-error_log 错误日志文件位置 CustomLoglogs/dummy-www.example.com-access_log common 访问日志 </VirtualHost> <VirtualHost*:80> DocumentRoot /data/www/html/bbs ServerName bbs.example.com ErrorLoglogs/dummy-bbs.example.com-error_log CustomLoglogs/dummy-bbs.example.com-access_log common </VirtualHost> [root@localhosthttpd]# service httpd restart
基于端口的虚拟主机(一般于测试时使用,开发环境)
[root@localhosthttpd]# vim conf.d/vi.conf #NameVirtualHost*:80 基于端口的不需要 Listen 81 监听81端口,在httpd主配置文件中已listen80,只需添加增加的端口,也可以在httpd.conf中添加 <VirtualHost192.168.10.1:80> DocumentRoot /data/www/html/www ServerName www.example.com不需要域名添加也可以 ErrorLoglogs/dummy-www.example.com-error_log CustomLoglogs/dummy-www.example.com-access_log common </VirtualHost> <VirtualHost192.168.10.1:81> DocumentRoot /data/www/html/bbs ServerName bbs.example.com ErrorLoglogs/dummy-bbs.example.com-error_log CustomLoglogs/dummy-bbs.example.com-access_log common </VirtualHost> [root@localhosthttpd]# service httpd restart
基于IP的虚拟主机
[root@localhostwww]# vim /etc/httpd/conf.d/vi.conf #NameVirtualHost*:80 <VirtualHost192.168.10.1> DocumentRoot /data/www/html/www ServerName www.example.com ErrorLoglogs/dummy-www.example.com-error_log CustomLog logs/dummy-www.example.com-access_logcommon </VirtualHost> <VirtualHost192.168.10.2> DocumentRoot /data/www/html/bbs ServerName bbs.example.com ErrorLoglogs/dummy-bbs.example.com-error_log CustomLoglogs/dummy-bbs.example.com-access_log common </VirtualHost> [root@localhostwww]# yum -y install php [root@localhostwww]# vim index.php <?php phpinfo(); ?> [root@localhostwww]# service httpd restart
源码包安装apachectl服务,目录路径为源码包的安装路径。注意主配置文件中的权限设置。源码包安装完成后,可根据下面操作将源码包服务添加到开机自启服务中。
[root@localhosthttpd]# cp /usr/local/httpd/bin/apachectl /etc/init.d/ [root@localhosthttpd]# cd /etc/init.d/ [root@localhostinit.d]# mv apachectl httpd [root@localhostinit.d]# vim httpd #chkconfig: 2345 56 30 #description:web server [root@localhost init.d]#chkconfig --add httpd [root@localhostinit.d]# service httpd stop [root@localhostinit.d]# service httpd start