LINUX系统中APACHE服务的部署
1.apache
企业中常用的WEB服务,用来提供HTTP://(超文本传输协议)
2.apache的安装部署
yum install httpd -y ##apache软件的安装
yum install httpd-manual ##apache的手册
systemctl start httpd
systemctl enable httpd
firewall-cmd --list-all ##列出火墙信息
firewall-cmd --permanent --add-service=http ##永久允许http
firewall-cmd --reload ##火墙重新加载
/var/www/html ##apache的/目录,默认发布目录
/var/www/html/index ##apache的默认发布文件
vim /var/www/html/index.html
<h>hello cnblogs</h>
测试: http://172.25.254.177 ##再服务器中会显示hello内容
使用命令:172.25.254.177/manual 可以查看http手册(手册安装后,需要重启HTTP服务)
3、 apache的基础信息
主配置文件: /etc/httpd/conf/httpd.conf
子配置目录:/etc/httpd/conf.d
子配置文件:/etc/httpd/conf.d/*.conf
默认发布目录 : /var/www/html
默认发布文件: index.html
默认端口 : 80
默认安全上下文: httpd_sys_content_t
程序开启默认用户: apache
Apache日志 /etc/httpd/logs/*
4、默认端口的修改
Listen 8080
ststemctl restart httpd ##重启服务
firewall-cmd --permanent --add-port=8080/tcp ##在火墙中添加8080端口
firewall-cmd --reload ##重新加载
此时可以在浏览器中显示结果:
5.默认发布目录和文件的修改
1)创建目录和文件
mkdir /xniu
vim /etc/httpd/conf/httpd.conf ##编写主配置文件,注释第119行,并添加第121-125行
注释:其中directory中/xniu是默认发布目录,第123行意思是提供所有权限;第124行设定默认发布文件
3)重启服务: systemctl restart httpd
4)在主机中测试结果如下:
注意:若是测试机中出现访问不了服务问题,应该考虑selinux的状态。
二、APACHE服务的访问控制
(1)基于主机访问控制
1、在/var/www/html目录下添加目录和文件
mkdir /vat/www/html/niu
vim /var/www/html/niu/test1.html --> hello test1
2、编写HTTP的主配置文件
vim /etc/httpd/conf/httpd.conf ##添加发布目录,并且允许除了172.25.254.77主机之外的所有主机登陆
注意:第121行中,Order给出了权限的先后顺序;首先允许所有主机登陆,然后限制了77主机。
3、重启服务:systemctl restart httpd
4、测试结果
在77主机,结果如下:(被禁止)
在172.25.254.97主机下结果显示:(可以显示)
(2)基于用户的访问控制
1、cd /etc/httpd/
2.在当前目录下生成文件(含有用户名和密码)
htpasswd -cm httpuser jary ##表示创建并添加jary用户到文件httpuser中;-m 表示添加
查看httpuser文件中的内容
3.配置文件的修改
vim /etc/httpd/conf/httpd.conf
注释:第三行,表示添加的用户认证文件所在位置;第四行表示认证时的提示信息;第五行表示认证方式;第六行表示允许用户tom进行登陆;第七行表示在允许认证文件中的所有用户登陆!
4、重启HTTP服务:systemctl restart httpd
5、测试结果
首先输入允许的tom用户进行测试: (按照提示输入用户名和密码后,显示正确结果)
输入不允许的用户jary结果如下:(此时,确定后由于用户不允许,还会停留在这个界面;直到输入允许的用户名和对应的密码)
三、虚拟主机
虚拟主机(virtual Host)也称虚拟服务器、主机空间;可以实现多个主机名称在单一的服务器上运行,且可以分开支持每一个单一个主机名称。虚拟主机技术主要运用于HTTP、FTP、EMAIL等多项服务,将一台服务器的某项或全部服务内容逻辑划分为多个服务段位,对外表现为多个服务器,从而充分利用服务器的硬件资源。
虚拟主机可以实现在一台主机里,不同域名访问的网页不同,即不同的域名进行不同的IP解析。为达到这样的结果,配置步骤如下:
在HTTP服务器端:
1)首先创建要访问的news.xniu.com和music.xniu.com的访问目录和文件
mkdir -p /var/www/virtual/news/html/
vim /var/www/virtual/news/html/index.html ---> news page
mkdir -p /var/www/virtual/music/html/
vim /var/www/virtual/music/html/index.html --->music page
2)在配置文件设置:(添加不同域名对应的发布文件)
cd /etc/httpd/conf.d/ ##切换到配置文件目录并添加
vim default.conf ##进行如下编写。默认80端口的显示目录为/var/www/html
vim news.conf ##进行如下编写。在访问news.xniu.com的时显示目录
vim music.conf ##进行如下编写。在访问music.xniu.com时显示文件
注释:该文件中的第二行表示访问的域名;第三行表示访问域名时所需的发布目录;第四行表示所有形式的日志均存于*.log文件中;第七行给目录授权。
3)重启服务:systemctl restart httpd
在测试主机中的配置:
1)vim /etc/hosts ##编写最后一行。添加域名所对应的IP(HTTP主机为177)
2)测试结果:(不同域名,显示结果不同)
四、网页证书的制作(HTTP端口为443)
1) 安装软件
yum install mod_ssl -y
yum install crypto-utils.x86_64 -y
2)cd /etc/httpd/conf.d ##使用ls查看,可以看到ssl.conf文件
3)执行命令 genkey www.xniu.com 用来生成加密文件,并按以下步骤执行
下一个界面要敲键盘才可以完成。
点击NEXT之后,会生成钥匙和证书。
4)把生成的证书和文件添加到/etc/httpd/conf.d/ssl_conf文件中(在ssh_conf中注释第100和107行,并添加101和108行)
5)systemctl restart httpd
6)在测试机中,执行https://172.25.254.177 ,并进行锁的生成
首先在当前界面点击I Understand the Risks!出现如下信息;
点击ADD Excrption出现下图信息,并点击Get Certificate
完成之后,可以点击view查看证书的信息。
最后,点击Confirm security exception 就可以显示www.westos.com的结果。如下所示:(在https的左边有一个小锁子)
五、网页的加密
首先,你要有自己网页的证书,此时,可进行如下配置:
1)在http服务器中,创建login.xniu.com所需的文件和目录
mkdir /var/www/virtual/login/html -p
vim /var/www/virtual/login/html/index.html ----> login page
2)在配置文件中设置相关信息
vim /etc/httpd/conf.d/login.conf
3)重启服务:systemctl restart httpd
4)在测试机中:
vim /etc/hosts ##把login.xniu.com添加进去
systemctl restart httpd
5)在测试机中输入:https://login.xniu.com