Linux部署Apache Web服务

Linux部署Apache Web服务

故里.
2021-06-26 / 0 评论 / 36 阅读 / 正在检测是否收录...

简介

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


Apache的基础信息

目录位置
#主配置目录/etc/httpd/conf
#主配置文件/etc/httpd/conf/httpd.conf
#子配置目录/etc/httpd/conf.d/
#子配置文件/etc/httpd/conf.d/*.conf
#默认发布目录/var/www/html
#默认发布文件index.html
#程序开启默认用户apache
#apache日志/etc/httpd/logs/*
#默认端口80

·httpd配置文件的查看
rpm -ql httpd ##查看安装文件路径
rpm -qc httpd ##查看配置文件名称
rpm -qd httpd ##查看帮助文件


准备工作

1、准备两台机器,一台centos-8作为服务器,一台windows作为客户机。
2、两台机器放在同一个lan区段。
3、关闭防火墙
4、关闭selinux

搭建WEB服务器步骤

1、测试web服务器是否安装

以root用户登录centos-1,打开终端
输入命令:

rpm -qa|grep httpd

会发现没有安装Apache服务相关软件包,说明需要安装Apache服务。

2、安装Apache服务器

输入命令:
1)挂载光盘到media目录下

mount /dev/cdrom /media

2)制作用于安装的yum源软件
(DNF已取代yum正式成为centos8的软件包管理器,也可以通过rpm –ivh 软件包名称来安装软件,但是有的时候一个软件包的安装时依赖于其他软件的,那么rpm不能解决以来关系,安装人员需要很清楚他们的依赖关系,而使用yum源可以很好地解决依赖关系)

cd /etc/yum.repos.d
mkdir repo
mv CentOS* repo
gedit dvd.repo

输入以下代码:

[c8-media-AppStream]
name=AppStream
baseurl=file:///media/AppStream
gpgcheck=0
enabled=1

[c8-media-BaseOS]
name=BaseOS
baseurl=file:///media/BaseOS
gpgcheck=0
enabled=1

输入后保存退出。
3)清空并重建cache

yum clean all
yum makecache

4)安装DNS

dnf -y install httpd

(centos 7命令为:yum install httpd -y)

//web服务器端软件安装
过程如下:
当看到如下图
kqd6hf2l.png
表明安装成功。

3、启动Apache

systemctl start httpd

打开火狐浏览器输入127.0.0.1得到如下界面表明简单的web服务器搭建成功:
kqd6hr4r.png

4、查看配置文件并进行简单配置

Apache的主配置文件是“httpd.conf”,存于“/etc/httpd/conf”目录中,打开终端输入命令:

gedit /etc/httpd/conf/httpd.conf

打开后,注意“#”后的内容表示注释,不起作用。
找到“listen 80”一行,将其改为“Listen 192.168.10.8:80”,其中这里的IP地址为apache服务器的IP地址,“http”服务端口默认是80TCP端口。
kqd6i8nl.png

找到“DocumentRoot”一行,查看其目录地址,本例是“/var/www/html”,记住这个目录。
kqd6ikrk.png

再往下找到“DirectoryIndex”一行,看到其后跟的是“index.html”,表示缺省的主页文件名为“index.html”,如果想要更换成其他的主页名就在此更换。最后保存文件。
kqd6itqz.png

5、建立测试文件

使用如下命令,简单编辑一个“index.html”文件。

gedit /var/www/html/index.html

或者echo "This is my first html file. IP is 192.168.10.8.-----qxw">/var/www/html/index.html
在其中输入一些文字,保存,如下图:
kqd6j32o.png

注意:这里的目录地址“/var/www/html”与配置文件中的“DocumentRoot”属性相对应,主页文件名为“index.html”与配置文件中的“DirectoryIndex”属性相对应。用户也可以使用网页编辑软件编写成更有特点的网页,最后必须以“index.html”命名,并存入“/var/www/html”目录中。

6、启动、关闭和重启服务器

启动apache服务器:

systemctl restart httpd

这样一个简单的apache服务器就架设成功了,可以访问192.168.10.8了

7、在客户端测试

用户可以在客户机上(centos-2,或者windows)通过浏览器输入服务器的IP地址来访问apache服务器。
这里打开windows xp,打开浏览器,输入地址:

http://192.168.10.8

测试如下:
kqd6jd9i.png


进阶任务:开始前先做好上面的

第二个任务描述:
平时人们在访问一些网站的时候,这些网站会弹出登录窗口,根据用户的身份来确定用户的访问权限,这种功能称之为apache服务器的用户认证授权控制。这种功能是保护网络系统资源的第一道防线,他来判断登录用户的合法性,所采用的控制技术就是“用户名+密码”apache服务器可以很好地解决这个问题。
首先,先学习单个用户控制的方法,建立teach用户,设置密码,能够通过这个用户登录服务器。然后再学习多个用户控制的方法,建立student用户,设置密码,也能够通过这个用户登录服务器。最终,teach和student都能够访问服务器。

1、修改apache配置文件

以root用户登录centos-1,请在终端模式下,输入命令:

gedit /etc/httpd/conf/httpd.conf

打开配置文件
找到:<Directory "/var/www/html">
在其中添加:
<Directory "/var/www/html">

Authname  "input username  and password"
AuthType  Basic  
AuthUserFile  /etc/httpd/password
Require  user  teach
Require  local

</Directory>

并且在 Require all granted这一行前面要加:#,将其注释掉
kqd6juj8.png

其中<Directory "/var/www/html">和</Directory>不用输入,使用原来的行,保存退出。
<Directory "/var/www/html">这行里引号里输入所限制的文件存储路径。
“Authname "input username and password"”这行中引号的字符会出现在登录窗口中,原样显示。AuthType Basic一行表名认证加密类型为标准加密算法类型。AuthUserFile /etc/httpd/password 一行指定存放合法登录的用户名和密码的文件路径,Require user teach一行的作用是定义用户名,本行中teach为定义的用户名。

2、建立用户,设置密码

在终端窗口中,输入以下命令:

htpasswd -c /etc/httpd/password teach

建立用户“teach”并输入密码。
kqd6k5v8.png

由于是第一次建立http用户,在这个命令中使用了-c参数,用来建立用户密码文件,这时在“/etc/httpd”文件夹中就会看到生成了新文件“password”。
kqd6kg6q.png

输入命令:ll
kqd6krxw.png

可以看到文件password的“群组”和“其他”的访问权限为只读,若不是,使用命令chmod 修改。
提醒:这里建立的用户必须是配置文件中
Reguire user命令后的用户。

3、重启apache服务器

systemctl  restart  httpd

4、在客户端测试

用户可以在客户机上(centos-2,或者windows)通过浏览器输入服务器的IP地址来访问apache服务器。
这里打开centos-2,打开浏览器,输入地址:

http://192.168.10.8

测试如下:
kqd6l5ro.png

输入teach和其密码即可。

5、建立第二个用户

有时候需要建立多个用户,也可以使用这种方法,打开配置文件,修改文件如下:
即在配置文件中

gedit  /etc/httpd/conf/httpd.conf

Require user teach
这一行改为
Require user teach student
保存退出后。
然后在终端模式下,输入命令

htpasswd /etc/httpd/password student

来建立第二个用户student

由于用户密码文件password文件已存在,因此这里不要加参数-c ,通过命令gedit /etc/httpd/password可以看到已经建立的两个用户,如下。
kqd6ljsc.png

6、测试两个用户

方法同步骤4.
kqd6lr8d.png

3

评论 (0)

取消