Linux运维笔记----Apache基本配置

时间:2022-09-23 22:16:10

Apache的基本配置

1.Apache的基本配置

Apache是世界上使用排名第一的Web服务器软件,它可以运行在所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

/etc/httpd/conf/httpd.conf ##Apache主配置文件
ServerRoot "/etc/httpd" 用于指定Apache的运行目录
Listen 80 监听端口
User apache 运行apache程序的用户和组
Group apache
ServerAdmin root@localhost 管理员邮箱
DocumentRoot "/var/www/html" 网页文件的存放目录

<Directory "/var/www/html">
Require all granted
<Directory> ##<Directory>语句块自定义目录权限

ErrorLog "logs/error_log" 错误日志存放位置
AddDefaultCharset UTF-8 默认支持的语言
IncludeOptional conf.d/*.conf 加载其它配置文件

安装httpd,启动httpd,并且配置防火墙
Linux运维笔记----Apache基本配置
查找apache的配置文件
Linux运维笔记----Apache基本配置
默认发布目录Linux运维笔记----Apache基本配置
默认访问文件Linux运维笔记----Apache基本配置
在浏览器中访问本机IP,访问到的就是index.html
Linux运维笔记----Apache基本配置
更改访问读取的文件,优先读取test文件
Linux运维笔记----Apache基本配置
并且在/var/www/html/目录创建test文件。
重启服务systemctl restart httpd 。在浏览器访问
Linux运维笔记----Apache基本配置
更改默认发布目录为/www/html/
Linux运维笔记----Apache基本配置
mkdir -p /www/html/ ,并创建test文件,并查看安全上下文
Linux运维笔记----Apache基本配置
mkdir -p /www/html/ ,并创建test文件,并查看安全上下文
Linux运维笔记----Apache基本配置
新的默认发布目录与原默认发布目录的安全上下文不一致,会导致selinux阻止访问,所以要更改新目录的安全上下文。
Linux运维笔记----Apache基本配置
重启服务systemctl restart httpd 。然后在浏览器访问
(记得改回原默认发布目录)
Linux运维笔记----Apache基本配置

2.虚拟主机

  • 通常一个父域下由许多子域,每个子域由不同的功能,所以访问每个子域时,都应该访问子域的文件,所以虚拟主机允许您从一个httpd服务器同时为多个网站提供服务。在本节中,我们将了解基于名称的虚拟主机其中多个主机名都指向同一个IP地址,但是Web服务器根据用于到达站点的主机名提供具有不同内容的不同网站。
  • 先在/var/www/下创建一个qq.com(父域),然后在qq.com/下创建news和music(子域)目录,最后在两个子域中分别编辑index.html文件,以示区分。
    Linux运维笔记----Apache基本配置
    我们需要在/etc/hosts文件中添加这些域名,使我们能够解析到
    Linux运维笔记----Apache基本配置
    编辑配置文件
    Linux运维笔记----Apache基本配置
    default.conf 是访问qq.com时的文件配置
    Linux运维笔记----Apache基本配置
    ServerName是指定服务器名称。在使用基于名称的虚拟主机的情况下,此处的名称必须与客户端请求完全的匹配。music.conf 是访问music.qq.com时的文件配置
    Linux运维笔记----Apache基本配置
    news.conf 是访问news.qq.com时的文件配置
    Linux运维笔记----Apache基本配置
    重启服务systemctl restart httpd 。
    然后在浏览器分别访问这三个域名时,就会访问到不同的文件
    Linux运维笔记----Apache基本配置Linux运维笔记----Apache基本配置Linux运维笔记----Apache基本配置

2.配置基于用户的身份验证

  • Apache无格式文件用户身份验证
  • 在此配置中,用户账户和密码存储在本地.htpasswd文件中。处于安全原因,该文件不能保存在网站的DocumentRoot中,而应保存在Web服务器不提供服务的一些目录中。特殊的htpasswd命令用于在.htpasswd文件中管理用户。
  • 在/etc/httpd/下创建两个账户的密码文件
    账户分别是admin1 , admin2

Htpasswd的参数 -c是追加会覆盖原有文件内荣
Linux运维笔记----Apache基本配置
为/var/www/html/目录下的文件进行身份验证配置
创建/var/www/html/admin目录
Require user admin1是只允许admin1用户登陆
Linux运维笔记----Apache基本配置是所有userfile里的用户都可以登陆
Linux运维笔记----Apache基本配置
在浏览器中查看admin目录
Linux运维笔记----Apache基本配置
只有登陆admin1用户才能身份验证成功
Linux运维笔记----Apache基本配置

3.拒绝某个用户访问或只允许某个用户访问

为music.qq.com拒绝用户
Linux运维笔记----Apache基本配置
Order allow,deny 是系统先读Allow在读Deny ,后读的会覆盖调之前读的。所以会拒绝172.25.14.250用户访问music.qq.com
Linux运维笔记----Apache基本配置
如果只想让172.25.14.250用户访问music.qq.com
只需更改Order 顺序,根据读取的逻辑顺序就会达到目的。
Linux运维笔记----Apache基本配置