项目8 搭建Apache服务器
Apache的安装与测试在完成本案例前,请先更换dnf源(请按ctrl并点击链接跳转访问):CentOS-Stream-9 CentOS9 配置国内yum源-阿里云源 - 知乎
(1)使用dnf命令直接在线安装
[root@localhost~]#dnf -y install httpd

(2)systemctl命令启动httpd服务,并设置httpd开机启动。
[root@localhost~]# systemctl start httpd #启动httpd服务
[root@localhost~]# systemctl enable httpd #设置开机自启动
[root@localhost~]# systemctl status httpd #查看httpd服务状态

(3)将http和https服务添加到防火墙中
3.1 #添加http服务
[root@xxx~]# firewall-cmd –permanent –zone=public –add-service=http
返回结果:success
3.2 #添加https服务
[root@xxx~]# firewall-cmd –permanent –zone=public –add-service=https
返回结果:success
3.3 #重启防火墙
[root@localhost~]# firewall-cmd –reload #重启防火墙
返回结果:success
(4)在windows本地浏览器地址栏中输入服务器(linux)的IP地址,测试Apache服务是否启动成功。

修改Apache默认主页1.在/var/www/html目录下编写index.html文件,具体命令如下:
[root@localhost ~]# cd /var/www/html
[root@localhost html]# echo “欢迎来到Apache首页面!”>> index.html
2.在windows本地浏览器地址栏中输入服务器(Linux)的IP地址,测试Apache服务是否启动成功。

3.修改主配置文件/etc/httpd/conf/httpd.conf,让Apache从Home目录的www目录读取网页数据文件,具体操作步骤如下:
3.1创建网页数据的保存目录,并创建首页面文件。
[root@localhost~]# mkdir /home/www
[root@localhost~]# mkdir /home/www/html
[root@localhost~]# cd /home/www/html
[root@localhost html]# echo “欢迎来到我的Apache首页面!(用户自己的首页面)”>>myindex.html
3.2编辑主配置文件
/etc/httpd/conf/httpd.conf,将124行的DocumentRoot配置项的值修改为/home/www/html,同时将129~133行的
3.2.1 先vim进入/etc/httpd/conf/httpd.conf
[root@localhost~]# vim /etc/httpd/conf/httpd.conf
3.2.2 使用”:set nu”命令,打开行号

3.2.3 使用”:n”命令,找到第124行的位置

3.2.4 编辑内容
将第124行的var替换成home,第129行的var替换成home

3.3重启httpd服务。
[root@localhost html]# systemctl restart httpd
3.4在windows本地浏览器地址栏中输入服务器(Linux)的IP地址,测试Apache服务是否启动成功。

这是因为:SELinux安全上下文不一致,SELinux禁止访问当前网页数据的存储目录。
3.5 禁用SELinux。

搭建用户Web站点以linux用户为例,搭建linux用户的个人主页。
注意:我的用户名是linux,请根据自己的用户名将下面的linux替换成自己的用户名
(推荐)如果不想替换,就把自己用户名改成linux
具体操作方法,在书本上找之前用户管理章节的命令(usermod)
具体操作步骤如下:
(1)linux用户的家目录为/home/linux,修改家目录的权限,使其他用户具有读取和执行权限,修改家目录权限的命令如下:(注意空格)
[root@localhost ~]# chmod 755 /home/linux
(2)在/home/linux目录下创建html文件夹,并在html文件夹下创建linux.html个人首页文件。(注意这个linux.html改成你自己的用户名.html)
[root@localhost~]# mkdir /home/linux/html
[root@localhost~]# cd /home/linux/html
[root@localhost html]#echo “这是linux用户的个人主页”>> linux.html
(3)Apache服务器默认没有开启个人Web站点搭建功能,如果要搭建个人Web站点,需要修改/etc/httpd/conf.d/userdir.conf配置文件,主要进行以下3项配置。
[root@localhost ~]# vim /etc/httpd/conf.d/userdir.conf
•注释第17行代码(UserDirdisabled)。
注:输入:set nu设置显示行号

•取消第24行代码(UserDirpublic_html)的注释,并将UserDir选项的目录修改为html。


•将第31行
修改完成之后,保存退出。

输入 :wq 保存并退出
(4)由于Apache默认读取的首页文件为index.html,而我们搭建的linux用户的Web站点默认首页文件为linux.html
所以需要修改主配置文件/etc/httpd/conf/httpd.conf,在DirectoryIndex配置项(169行)后面添加linux.html文件。

(5)禁用SELinux,重启httpd服务。
[root@localhost html]# setenforce 0
[root@localhost html]# systemctl restart httpd
(6)在浏览器地址栏输入http://你的ip地址/~linux,浏览器显示的linux用户个人主页

配置基于域名的虚拟主机(1)在/var/www目录下分别创建两个目录web1和web2,并分别在两个目录下创建虚拟主机默认网页文件。
[root@localhost ~]# mkdir /var/www/web1
[root@localhost ~]# mkdir /var/www/web2
[root@localhost ~]# echo “这是>">www.web1.com虚拟主机主页!">> /var/www/web1/index.html
[root@localhost ~]# echo “这是>">www.web2.com虚拟主机主页!">> /var/www/web2/index.html
(2)新建/etc/httpd/conf.d/vhost.conf配置文件,使用
#配置第一个虚拟主机信息
#注意,下面这个192.168.214.128要换成你自己的IP地址
<VirtualHost 192.168.214.128>
#配置访问目录
DocumentRoot “/var/www/web1”
#配置域名(请把下面的网址改成你自己的,中间那串字符,随便来)
ServerName www.hhg1.com
#配置第二个虚拟主机信息
<VirtualHost 192.168.214.128>
DocumentRoot “/var/www/web2”
#(请把下面的网址改成你自己的,中间那串字符,随便来)
ServerName www.hhg2.com
(3)为了使客户端也可以访问虚拟主机目录,需要在/etc/httpd/conf/httpd.conf主配置文件中设置虚拟主机目录的访问权限。在/etc/httpd/conf/httpd.conf主配置文件中添加一个
<Directory “/var/www”>
AllowOverride None
Require all granted
(4)配置主机域名。
这是要在windows操作的
C:\Windows\System32\drivers\etc
复制 hosts文件到桌面

改完后,复制回去刚刚的C:\Windows\System32\drivers\etc