什么是Apach服务
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上。
什么是HTTP协议
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
查看百度的用的是什么服务器
curl -I www.baidu.com
一.apache的安装部署
1.安装apach
yum install httpd -y
2.安装apach帮助文档
由于系统不提供apach的命令帮助,所以需要下载专门的apach帮助文档
yum install httpd-manual
访问帮助:http://172.25.254.250/manual/
3.防火墙设置
firewall-cmd --list-all 列出火墙信息
firewall-cmd --permanent --add-service=http 永远允许http
firewall-cmd --permanent --add-service=https 永远允许https
firewall-cmd --reload 火墙重新加载
当访问172.254.254.250出现下图Apach服务就配置好了
二.修改HTTP的默认发布文件
1.在目录底下建立发布文件
2.重启httpd服务
测试访问:172.25.254.250
可以看见浏览器中显示了刚才在文件in.dex.html中的内容。
如果看不到内容,则要考虑selinux的问题,将其改为警告模式(setenforce 0)或者在强制模式下打开httpd_enable_homedirs。详情参考selinux博客
三. apach的基础信息
主配置目录:/etc/http/conf
主配置文件:/etc/httpd/conf/httpd.conf
子配置目录:/etc/httpd/conf.d/*.cof
默认发布目录:/var/www/html
默认发布文件:/var/www/htmml/index.html
默认端口:80
默认安全上下文:httpd_sys_content_t
apach日志:/etc/httpd/logs/error_
四.修改默认端口
1.默认端口:80,现在修改默认端口为8080
netstat -antlupe | grep httpd 查看端口
编辑主配置文件的第42行
vim /etc/httpd/conf/httpd.conf
重启服务发现默认端口已经变成8080
2.火墙需要将端口添加进去
firewall-cmd --permanent --add-port=8080/tcp 增加8080端口的http
测试访问:172.25.254.250:8080
五.默认发布文件修改
在做实验先把端口修改成默认端口,方便测试
1.在默认发布目录下建立一个新的发布文件
2.编辑主配置文件
注意:westos.html这个文件写在前面才能被优先读取
3.重启服务
测试访问:172.25.254.250
如果将westo.html删除掉,则默认发布文件又是index.html
六.修改默认发布目录
目标:将默认发布目录改为/westos/web/html
1.建立目录和要发布的文件
2.编辑主配置文件
vim /etc/httpd/conf/httpd.conf
修改默认发布目录
修改默认发布文件
如果seliunx在强制模式下要修改安全上下文
3.重启服务
测试访问:172.25.254.250
七.Apach的虚拟主机
虚拟主机:
虚拟主机技术是互联网服务器采用的节省服务器硬件成本的技术,虚拟主机技术主要应用于HTTP(Hypertext Transfer Protocol,超文本传输协议)服务,将一台服务器的某项或者全部服务内容逻辑划分为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬件资源。
虚拟主机是使用特殊的软硬件技术,把一台真实的物理服务器主机分割成多个逻辑存储单元。每个逻辑单元都没有物理实体,但是每一个逻辑单元都能像真实的物理主机一样在网络上工作,具有单独的IP地址(或共享的IP地址)、独立的域名以及完整的Internet服务器(支持WWW、FTP、E-mail等)功能。
虚拟主机的关键技术在于,即使在同一台硬件、同一个操作系统上,运行着为多个用户打开的不同的服务器程式,也互不干扰。而各个用户拥有自己的一部分系统资源(IP地址、文档存储空间、内存、CPU等)。各个虚拟主机之间完全独立,在外界看来,每一台虚拟主机和一台单独的主机的表现完全相同。所以这种被虚拟化的逻辑主机被形象地称为“虚拟主机”。
虚拟主机的配置
1.清空之前的实验环境
可以看出来Apach服务已经变成了实验最开始的样子
2.在测试端主机做好本地解析
3.在/var/www目录下建立指定访问news和music的访问目录
4.在访问目录下写入默认发布文件
5.创建编辑子配置文件
编辑默认站点的子配置文件
编辑news.westos.com站点的子配置文件
编辑music.westos.com站点的子配置文件
6.重启服务
测试访问:
www.westos.com
news.westos.com
music.westos.com
八.Apach的内部访控制
1.ip访问控制
1.添加允许访问的ip
只允许172.25.254.250这个主机访问
重启服务
用两台主机测试访问:
主机:172.25.254.63,访问成功
主机:172.25.254.250,访问失败
2.用户访问控制
1.添加http用户
新建用户admin
在已有用户前提下,创建新用户不要使用-c参数
注意:-cm中的c是覆盖性创建
2.在配置文件中添加用户认证
3.重启服务
测试访问:172.25.254.250
浏览器中输入服务端ip,则提示要输入用户认证信息
输入用户名和密码
认证成功
九.Apach支持语言
html
以上都是html语言
php
1.编写php测试页
2.安装php
3.重启服务
测试访问:172.25.254.250
cgi
1.在/var/www/cgi-bin/目录下建立并编辑访问文件
2.给文件添加可执行的权限
3.重启服务
测试访问:172.25.254.250
4.在其他目录下新建并编辑访问文件
5.编辑配置文件
6.修改安全上下文和/var/www/cgi-bin/的安全上下文一致
7.给文件可执行的权限
测试访问:172.25.254.250/cgi/index.cgi
十.搭建论坛
1.编写子配置文件bbs.conf
2.创建发布目录
3.将安装包传送到服务端的发布目录下
4.将安装包解压
5.可以进入readme/,查看readme.txt
可以看到安装的相应操作步骤
6.进入/var/www/westos.com/bbs/html/upload
给config和data目录添加权限
7.在测试端主机添加相应的解析
测试访问bbs.westos.com/upload
点击我同意此时发现有很多错误
8.将selinux的状态修改为警告模式
9.给uc_client ,uc_server添加权限
重启服务
再次刷新页面,发现状态修改正确,但是还有错误
10.安装mariadb-server并配置
开启mariadb开始安全初始化
重启服务新刷新页面则状态全部修改正确
点击下一步
11.开始安装
12.输入数据库密码,并设置管理员密码,点击下一步
等待安装
13.安装成功,登陆
完成安装,点击访问
论坛搭建成功
右上角输入用户名和密码登陆