一、Apache服务
(一)概述
1.服务搭建整体图
(二)httpd的源代码安装与简单使用
1.卸载原有的httpd服务
rpm -e httpd --nodeps (忽略依赖关系,强制卸载软件)
卸载后利用rpm -qi httpd,如果没有,那就卸载成功了。
2.下载
访问Apache官网获取源码包下载地址
wget http://archive.apache.org/dist/httpd/httpd-2.2.15.tar.gz
由于高版本安装的时候还要解决APR的问题,此处为了方便,就不用高版本的httpd,只用低版本的httpd。高版本的安装详情,自己百度吧!此篇文章只解决怎么配置httpd的问题,不解决安装问题,毕竟高版本和低版本配置相差不大。
3.安装
(1)解压到指定目录
mkdir /usr/local/src/http
tar xzf httpd-2.2.15.tar.gz -C /usr/local/src/http
(2)安装编译环境
yum -y install gcc gcc-c++ make
(3)配置安装目录与设置模块
cd /usr/local/src/http/httpd-2.2.15
mkdir /usr/local/httpd
./configure --prefix=/usr/local/httpd --enable-so --enable-rewriter --enable-charset-lite --enable-cgi
(4)编译安装
make && make install
4.优化执行
创建链接文件
ln -s /usr/local/httpd/bin/* /usr/local/bin
5.转换为服务
(1)复制脚本文件到/etc/init.d/下
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
如果后面service httpd start 不行的话,就给该脚本文件添加执行权限。(chmod u+x /usr/local/httpd/bin/apachectl)
(2)修改脚本文件
用以标记一下,好记。
#!/bin/sh
# chkconfig: 35 85 15
# description: Startup script for the Apache HTTP Server
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
6.加入启动项
[root@sutang ~]# chkconfig --add httpd
[root@sutang ~]# chkconfig --level 35 httpd on
[root@sutang ~]# chkconfig --list httpd
httpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
7.测试
开启:service httpd start
关闭防火墙(service iptables stop)与selinux(setenforce 0)
用主机的浏览器访问,结果如下:
8.httpd服务的目录结构
主要目录和文件:
服务目录: /usr/local/httpd/
主配置文件:/usr/local/httpd/conf/httpd.conf
默认网页目录: /usr/local/httpd/htdocs/
服务脚本: /usr/local/httpd/bin/apachectl
执行程序: /usr/local/httpd/bin/httpd
访问日志: /usr/local/httpd/log/access_log
错误日志: /usr/local/httpd/log/error_log
(三)基于端口的虚拟主机服务
--------------***********我的见解*************-------------
1.网页文件的other权限为可读
2.httpd.conf文件中启用虚拟主机服务
3.httpd.conf或虚拟主机配置文件设置网页所在目录的父目录的访问权限。如果网页文件在默认网页目录(/usr/local/httpd/htdocs/)下,可以不用设置。
4.如果为基于端口的虚拟主机服务的话,在httpd.conf多加一条监听端口的设置;不是就跳过此条。
5.修改虚拟主机配置文件
---------------*************------------------------------------------
同一IP的不同端口提供不同的网页。
访问同一个IP的不同端口,显示不同的主页。
1.修改httpd文件
httpd.conf文件解读见https://www.cnblogs.com/cqmy/p/6208656.html
vim /usr/local/httpd/conf/httpd.conf (:set nu 显示行号)
(1)加一条监听端口。
(2)开启虚拟主机服务
2.创建网页文件
cd /usr/local/httpd/htdocs
(1)编写80端口的主页
mkdir su
echo "su" > su/index.html
(2)编写8080端口的主页
mkdir tang
echo "tang" > tang/index.html
3.修改虚拟主机配置文件
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
第一个红框为:httpd服务器的IP(即本机)和端口号
第二个红框为:访问此端口时网页的根目录
第三个红框为:错误日志的位置
第四个红框为:连接日志的位置
---***-----下面的东西仅用作参考----
当网页目录不在默认网页目录(/usr/local/httpd/htdocs/)下时,可以在httpd.conf或虚拟主机配置文件中添加这一段
第一个红框表示网页的目录位置。
---***----------------------------------------------
4.重启服务
killall -9 httpd
service httpd start
5.测试
关闭防火墙(service iptables stop)与selinux(setenforce 0)
用主机的浏览器访问,结果如下:
(四)基于IP(不同网卡)的虚拟主机服务
--------------***********我的见解*************-------------
1.网页文件的other权限为可读
2.httpd.conf文件中启用虚拟主机服务
3.httpd.conf或虚拟主机配置文件设置网页所在目录的父目录的访问权限。如果网页文件在默认网页目录(/usr/local/httpd/htdocs/)下,可以不用设置。
4.如果为基于端口的虚拟主机服务的话,在httpd.conf多加一条监听端口的设置;不是就跳过此条。
5.修改虚拟主机配置文件
---------------*************------------------------------------------
访问不同网卡时,显示不同的网页。
1.给虚拟机添加两张网卡
给每一张网卡都设置一个IP。
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth1
vim ifcfg-eth1
将mac、uid那两栏删除,改掉设备名和IP
重启网络
service network restart
2.修改httpd.conf
httpd.conf文件解读见https://www.cnblogs.com/cqmy/p/6208656.html
vim /usr/local/httpd/conf/httpd.conf (:set nu 显示行号)
开启虚拟主机服务
3.创建网页文件
cd /usr/local/httpd/htdocs
(1)编写192.168.8.116的主页
mkdir su
echo "su" > su/index.html
(2)编写192.168.8.115的主页
mkdir tang
echo "tang" > tang/index.html
4.修改虚拟主机配置文件
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
第一个红框为:httpd服务器的IP(不同网卡的IP)和端口号
第二个红框为:访问此端口时网页的根目录
第三个红框为:错误日志的位置
第四个红框为:连接日志的位置
---***-----下面的东西仅用作参考----
当网页目录不在默认网页目录(/usr/local/httpd/htdocs/)下时,可以在httpd.conf或虚拟主机配置文件中添加这一段
第一个红框表示网页的目录位置。
---***----------------------------------------------
5.重启服务
killall -9 httpd
service httpd start
6.测试
关闭防火墙(service iptables stop)与selinux(setenforce 0)
用主机的浏览器访问,结果如下:
(五)基于不同域名的虚拟主机服务
--------------***********我的见解*************-------------
1.网页文件的other权限为可读
2.httpd.conf文件中启用虚拟主机服务
3.httpd.conf或虚拟主机配置文件设置网页所在目录的父目录的访问权限。如果网页文件在默认网页目录(/usr/local/httpd/htdocs/)下,可以不用设置。
4.修改虚拟主机配置文件
5.在DNS服务器上添加两条解析记录。(不同域名指向同一IP)
---------------*************------------------------------------------
以不同的域名访问该主机时,显示不同的网页。
1.修改httpd文件
httpd.conf文件解读见https://www.cnblogs.com/cqmy/p/6208656.html
vim /usr/local/httpd/conf/httpd.conf (:set nu 显示行号)
开启虚拟主机服务
2.创建网页文件
cd /usr/local/httpd/htdocs
(1)编写su.sutang.com的主页
mkdir su
echo "su" > su/index.html
(2)编写tang.sutang.com的主页
mkdir tang
echo "tang" > tang/index.html
3.修改虚拟主机配置文件
vim /usr/local/httpd/conf/extra/httpd-vhosts.conf
第一个红框用默认的就行。
第二个红框为网页的根目录
第三个红框为访问的域名
第四个红框为访问的域名的别名
第五个红框为错误日志
第六个红框为连接日志
4.安装dns并配置
(1)安装
cd /media/CentOS_6.5_Final/Packages/
rpm -ivh bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
rpm -ivh bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
(2)配置
vim /var/named/chroot/etc/named.conf
(3)创建解析文件
cd /var/named/chroot/var/named
vim sutang.com.zone
(4)启动DNS
service named start
5.重启服务
killall -9 httpd
service httpd start
6.测试
关闭防火墙(service iptables stop)与selinux(setenforce 0)
修改主机的网络适配器的DNS,使DNS指向虚拟机。
浏览器测试如下:
日志查看:
(六)搭建Apache的网页流量监控服务
1.下载awstats
建议在官网下载后,再拷贝进虚拟机。
2.解压到指定目录
mkdir /usr/local/src/awstats
tar zxf awstats-7.3.tar.gz -C /usr/local/src/awstats/
3.利用它给出的脚本安装
cd /usr/local/src/awstats/awstats-7.3/tools
chmod u+x awstats_configure.pl
./awstats_configure.pl
选n,然后
cd
mkdir /usr/local/awstats
mv /usr/local/src/awstats/awstats-7.3/* /usr/local/awstats/
cd /usr/local/awstats/tools
./awstats_configure.pl
上面那条命令执行后,根据提示回答问题。
Enter full config file 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):
> /usr/local/httpd/conf/httpd.conf httpd.conf的位置,输错了就用Ctrl+U清空,重输
接下来会问是否建立日志文件,我们选y
接下来会问是否建立awstats的配置文件,我们选y
选择你将监控的网站的域名,我们监控su.sutang.com
接下来选回车、回车。
4.修改配置文件及相关
(1)在配置中改日志文件的位置。
LogFile=”/usr/local/httpd/logs/su-access_log” #虚拟主机配置文件中设置的连接日志
(2)创建DirDate目录
mkdir /var/lib/awstats
(3)给更新日志的配置文件加上执行权限
cd /usr/local/awstats/tools/
chmod u+x awstats_updateall.pl
(4)创建计划
由于该软件更新日志需要周期性计划,所以创建计划。
crontab -e
内容如下:
*/1 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
查看用crontab -l
(5)启动并设置开机自启
service crond start
service httpd start
chkconfig --level 35 crond on
chkconfig --level 35 httpd on
5.访问监控页面
http://192.168.8.116/awstats/awstats.pl?config=su.sutang.com
其中的IP为虚拟机的IP,域名为刚才设置的域名。
6.为了方便访问,设置跳转网页
cd /usr/local/httpd/htdocs/su
vim aws.html
内容如下:
<html>
<head>
<meta http-equiv=refresh content="0;url=http://su.sutang.com/awstats/awstats.pl?config=su.sutang.com">
</head>
</html>
在主机上访问:http://su.sutang.com/aws.html
7.为了安全,给该网页访问设置用户认证
(1)添加用户
/usr/local/httpd/bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin
(2)修改httpd.conf
第一个红框为密码文件位置。
第二个红框为允许的用户。
(3)重启服务并测试
service httpd restart
http://su.sutang.com/aws.html
转载:https://blog.csdn.net/yingqianmeng/article/details/101635990