apache的默认设置(端口,发布文件,发布目录)

一:apache的概念

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

它可以运行在几乎所有广泛使用的计算机平台上

目录文件:

程序目录:/usr/sbin/httpd
默认网站主页存放目录: /var/www/html/
日志文件存放目录:/var/log/httpd/
主配置目录:/etc/httpd/conf/
主配置文件:/etc/httpd/conf/httpd.conf
从配置目录:/etc/httpd/conf.d/

apache的默认端口是80

二:apache的默认发布文件

/var/www
默认情况下将要发布的网页文件应该置于/var/www目录下,这一默认值可以同过主配置文件中的DocumentRoot 选项修改。

实验如下

前提:

为了实验的纯净,我们将这台虚拟机reset

apache的默认设置(端口,发布文件,发布目录)_第1张图片
设置ip
apache的默认设置(端口,发布文件,发布目录)_第2张图片

修改主机名为apache.westos.com
在这里插入图片描述
搭建yum源

apache的默认设置(端口,发布文件,发布目录)_第3张图片

将图形界面转化为无图形界面,并用ssh去连接(看个人意愿)

在这里插入图片描述
在这里插入图片描述

此使我们在浏览器里输入172.25.254.115显示不能连接,如下图所示:
apache的默认设置(端口,发布文件,发布目录)_第4张图片

为了解决这个问题,我们需要做以下的实验。

实验如下

<1>安装软件

yum search apache      
yum install httpd.x86_64 -y                   安装httpd软件包

在这里插入图片描述
搜索出来的结果中安装这个软件包
在这里插入图片描述
安装
在这里插入图片描述
安装完成
apache的默认设置(端口,发布文件,发布目录)_第5张图片<2>启动服务

systemctl start httpd  
systemctl enable httpd              
systemctl status httpd

apache的默认设置(端口,发布文件,发布目录)_第6张图片

<3>对防火墙进行设置(若是嫌麻烦,可直接关掉防火墙)

 firewall-cmd --permanent  --add-service=http      防火墙允许的服务有http
 firewall-cmd --reload                                 重新加载
 firewall-cmd --list-all                                  查看

apache的默认设置(端口,发布文件,发布目录)_第7张图片

<4>编辑默认发布文件

cd /var/www/html
ls
vim index.html  (必须是index.html。服务默认的共享文件(默认发布文件)只有这一个)

在这里插入图片描述

在里面写入
在这里插入图片描述
重启服务
在这里插入图片描述

测试:

浏览器输入172.25.254.115(本机ip)会出现下图所示
apache的默认设置(端口,发布文件,发布目录)_第8张图片

注意:因为man不能查看http的用法,所以我们想要知道http的用法,得下载一个http手册

在这里插入图片描述
安装完成
在这里插入图片描述
可在浏览器里172.25.254.115/manual查看(中文版可去百度寻找)
apache的默认设置(端口,发布文件,发布目录)_第9张图片

三:修改apache的默认设置

前提:

getenforce   此时看到的状态是disabled
vim /etc/sysconfig/selinux 
将selinux修改为enforcing
reboot
getenforce   此时看到的状态是enforcing

在这里插入图片描述
在这里插入图片描述
apache的默认设置(端口,发布文件,发布目录)_第10张图片

在这里插入图片描述
在这里插入图片描述

<1>修改默认端口(默认是80)

第一种:修改为8080端口(8080被selinux允许)

netstat -antlupe | grep httpd    查看httpd的端口号,为80

在这里插入图片描述

vim /etc/httpd/conf/httpd.conf    修改配置文件,将端口修改为8080

在这里插入图片描述
原本的端口是80
在这里插入图片描述
修改为8080
在这里插入图片描述
重启服务

systemctl restart httpd

在这里插入图片描述

firewall-cmd --permanent  --add-port=8080/tcp    添加防火墙的tcp8080端口,如果嫌麻烦,可以直接关掉防火墙
firewall-cmd --reload       重新加载

在这里插入图片描述

netstat -antlupe | grep httpd     此时的端口号是8080

在这里插入图片描述

测试:在浏览器测试,会看到默认发布文件
apache的默认设置(端口,发布文件,发布目录)_第11张图片

第二种:修改为6666端口(selinux不允许)

netstat -antlupe | grep 6666  看这个端口是否被使用,没有被使用
vim /etc/httpd/conf/httpd.conf  修改配置文件,将端口修改为6666

在这里插入图片描述
修改为6666
在这里插入图片描述

firewall-cmd --permanent  --add-port=6666/tcp
firewall-cmd --reload
systemctl restart httpd 此时重启服务起不来,因为selinux拒绝6666

apache的默认设置(端口,发布文件,发布目录)_第12张图片

setenforce 0          将内核防火墙改为permission
getenforce             查看
systemctl restart httpd    可以重启起来,也可以访问到

在这里插入图片描述
此时去浏览器访问,可以访问到
apache的默认设置(端口,发布文件,发布目录)_第13张图片

在防火墙为enforcing的时候可以开启服务,需要进行以下操作

setenforce 1                       将内核防火墙修改为enforcing
getenforce 
semanage port -l | grep http            查看系统中selinux对http允许的端口号,没有6666
semanage port -a -t http_port_t -p tcp 6666    加入6666端口
semanage port -l | grep http     有了端口
systemctl restart httpd            重启服务

apache的默认设置(端口,发布文件,发布目录)_第14张图片

在去浏览器172.25.254.115:6666查看

apache的默认设置(端口,发布文件,发布目录)_第15张图片

<2>修改发布文件(做这个实验前先把默认端口修改为80)

cd /var/www/html
ls
vim test.html         在里面写点内容,将其作为访问时会出现的内容

apache的默认设置(端口,发布文件,发布目录)_第16张图片

vim /etc/httpd/conf/httpd.conf   在这个里面修改默认发布文件
systemctl restart httpd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

此时去浏览器172.25.254.115查看 此时查看到的是test.html里面的内容
在这里插入图片描述

vim /etc/httpd/conf/httpd.conf (在这个里面写两个发布文件,谁在前先访问谁)    此时index.html在前
systemctl restart httpd  

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

此时 在浏览器172.25.254.115查看,此时查看到的是index.html里面的内容
apache的默认设置(端口,发布文件,发布目录)_第17张图片

 mv index.html    /mnt/              将index.html移动到/mnt下

在这里插入图片描述
在浏览器172.25.254.115查看 此时查看的是test.html里面的内容

apache的默认设置(端口,发布文件,发布目录)_第18张图片

<3>修改默认配置目录(将默认发布文件修改回来)

mkdir /meng/html -p      建立一个目录
vim  /meng/html/index.html   在这个目录的默认发布文件里面随便写点东西

apache的默认设置(端口,发布文件,发布目录)_第19张图片

 vim /etc/httpd/conf/httpd.conf    在配置文件里里面,将其默认目录修改为/meng/html

在这里插入图片描述
原本目录是/www/html
在这里插入图片描述
将其修改为以下样子

在这里插入图片描述

systemctl restart httpd     重启服务

在这里插入图片描述

再去重启服务
在这里插入图片描述
发现访问不到:
apache的默认设置(端口,发布文件,发布目录)_第20张图片
这是因为这个默认目录没有被查看的权限,为了解决这个问题,我们需要进行以下操作:

vim /etc/httpd/conf/httpd.conf   在里面写入授权命令,如下(整体)
在里面写入以下内容:
DocumentRoot "/meng/html"       修改默认发布目录
            授权
            Require all granted      所有人都可以来访问
    

在这里插入图片描述
apache的默认设置(端口,发布文件,发布目录)_第21张图片

systemctl restart httpd        重启服务

在这里插入图片描述
在浏览器172.25.254.115查看
此时查看到的是/meng/html/index.html的内容
apache的默认设置(端口,发布文件,发布目录)_第22张图片

想要在seliunx为enforing为开启的时候访问到内容

ls -Zd /var/www/html/      查看系统自己默认发布目录的安全上下文
ls -Zd /westos/html/      查看自己建立的默认发布目录的安全上下文

在这里插入图片描述

setenforce 1    切换selinux的状态为enforcing
getenforce
semanage fcontext -a -t httpd_sys_content_t '/meng/html(/.*)?'          让系统记录目录和目录里面内容为http的标签
restorecon -RvvF /meng/html   修改目录及目录里面的内容的安全上下文

apache的默认设置(端口,发布文件,发布目录)_第23张图片

在浏览器172.25.254.115查看
此时查看到的是/meng/html/index.html的内容
apache的默认设置(端口,发布文件,发布目录)_第24张图片

你可能感兴趣的:(linux运维)