本文主要展示“如何在Linux下部署和配置Apache服务”。内容简单易懂,条理清晰。希望能帮你解开疑惑。让边肖带领大家学习《如何在Linux下部署和配置Apache服务》一文。
00-1010解析web语言,如html、php、jsp等。
接收网络用户的请求并给出一些回应。
00-1010安装apche软件:dnf安装httpd.x86_64 -y
00-1010启动apache服务并设置启动:systemctl enable - now httpd
检查apache服务的状态:systemctlenable-now httpd
检查防火墙的信息:防火墙-cmd-list-all永久打开防火墙中的http服务:防火墙-cmd-永久-添加-服务=http。
在防火墙中永久打开https服务:防火墙-cmd-永久-添加-服务=https。
刷新防火墙,但不更改当前防火墙状态:防火墙-cmd -重新加载。
00-1010 apche的基本信息
服务名称:httpd
主配置文件:/etc/httpd/conf/httpd.conf
子配置文件:/etc/httpd/conf.d/*.conf。
默认发布目录:/var/www/html
默认端口:80 (http),443(https)
日志文件:/etc/httpd/logs
apche服务启动后,输入ip以查看默认发布页面:
(1)更改apche服务的端口号
检查httpd服务的默认端口号:netstat -antlupe |grep httpd
编辑配置文件://etc/httpd/conf/httpd . conf,并修改端口号
i>
重启httpd服务:systemctl restart httpd
查看httpd服务的端口号:netsat -antlupe | grep httpd
-
更改端口号后,输入ip后无法正常连接,原因是8080端口未添加在火墙中
-
在防火墙里添加888端口号:
firewall-cmd --permanent --add-port=888/tcp
-
在不改变当前火墙状态的情况下刷新防火墙:
firewall-cmd --reload
-
输入IP地址:端口号,可以正常访问
(2)修改apche的默认发布文件
-
默认目录:
cd /var/www/html
-
在文件默认发布目录下新建一个文件
index.html
-
输入:http://172.25.254.144查看
默认发布文件就是访问apache时没有指定文件名,即默认访问的文件,此文件可以指定多个,但有访问顺序。
-
新建文件并编辑:
westo.html
-
编辑配置文件:
/etc/httpd/conf/httpd.conf
-
重启httpd服务:
systemctl restart httpd
(3)修改apche的默认发布目录
-
新建目录:
mkdir -p /westos/html/
-
创建文件:
vim /westos/html/index.html
-
编辑apche配置文件:
/etc/httpd/conf/httpd.conf
-
重启服务:
systemctl restart httpd
-
测试:浏览器中输入http://172.25.254.144, 看到的是/westos/html/目录内的默认发布文件
-
新建发布目录:mkdir /var/www/html/westos
-
新建发布文件:vim /var/www/html/westos/index.html
-
编辑配置文件:vim /etc/httpd/conf/httpd.conf
-
重启服务:
systemctl restart httpd
-
测试:
http://172.25.254.144/westos/
5 apache的访问控制
5.1 基于客户端ip的访问控制
-
基于ip的访问,规定了哪些ip可以访问,那些ip不能访问,其中配置文件中order中的deny和Allow哪一个顺序在前直接决定了黑白名单的属性
(1)白名单
-
ip白名单:只有名单内的用户可以访问
-
编辑配置文件:
vim /etc/httpd/conf/httpd.conf
-
重启服务:
systemctl restart httpd
-
测试: ip=172.25.254.44在ip白名单,可以正常访问http://172.25.254.44/westos
ip=172.25.254.144的主机不在白名单内,无法访问http://172.25.254.44/westos
(2)ip黑名单
-
ip黑名单:只有名单内的用户不可以访问
-
编辑配置文件:
vim /etc/httpd/conf/httpd.conf
-
测试:ip=172.25.254.44在ip黑名单中,可以正常访问http://172.25.254.44/westos
ip=172.25.254.144不在黑名单内,可以正常访问http://172.25.254.44/westos
5.2 基于用户认证的访问控制
(1)允许部分用户通过认证访问共享目录
-
生成认证文件,建立admin用户:
htpasswd -cm /etc/httpd/htpasswdfile linux
-
建立linux用户,-c会重新建立用户认证文件,覆盖之前的admin用户,入密码会覆盖之前的用户:
htpasswd -m /etc/httpd/htpasswdfile westos
-
只允许部分用户可以通过认证,编辑配置文件:
vim /etc/httpd/conf/httpd.conf
-
重启服务:systemctl restart httpd
-
测试:只有通过认证的用户可以访问共享目录
(2)允许所有用户通过认证访问共享目录
-
编辑配置文件:
vim /etc/httpd/conf/httpd.conf
-
重启服务:
systemctl restart httpd
-
测试:所有用户都可以通过认证访问共享目录
6 apache的虚拟主机
虚拟主机:在一台真实主机上建立多个站点(多个域名),通过域名访问一台主机的不同网页,从网络地址看似乎有多个主机,这些主机被称为虚拟主机
DNS解析域名的ip
建立linux,news,media的默认发布目录: mkdir /var/www/westos.com/{linux,news,media} inux的默认发布文件: echo "<h2>hello linux</h2>" > /var/www/westos.com/news/index.html news的默认发布文件:echo "<h2>hello news </h2>" > /var/www/westos.com/news/index.html media的默认发布文件:echo "<h2>hello media </h2>" > /var/www/westos.com/media/index.html
-
新建apche的子配置文件并编辑:
/etc/httpd/conf.d/vhost.conf
-
编辑本地域名解析文件:
/etc/hosts
-
测试实验效果:
7 apache的加密访问
(1)安装加密插件
-
查看apache的加密插件: dnf search apache
-
安装加密插件
(2)生成私钥: openssl genrsa -out /etc/pki/tls/private/www.westos.com.key
(3)生成证书签名文件:openssl req -new -key /etc/pki/tls/private/www.westos.com.key -out /etc/pki/tls/cert/www.westos.com.csr
(4)生成证书:
openssl x509 -req -days 365 -in /etc/pki/tls/certs/www.westos.com.csr -signkey /etc/pki/tls/private/www.westos.com.key -out /etc/pki/tls/certs/www.westos.com.crt ## x509:证书格式 ## -req请求 ## -in加载签证名称 ## -signkey
-
编辑配置文件:
/etc/httpd/conf.d/ssl.conf
-
编辑apche的子配置文件并编辑:
/etc/httpd/conf.d/vhost.conf
-
重启服务:
systemctl restart httpd
-
测试:此时就可以正常使用https加密服务
8 网页重写
在浏览器中输入media.westos.com会自动跳转到如下界面
-
如果要使输入media.westos.com后跳转到https://media.westos.com,可以通过网页重写实现,也就是当访问http(80端口)时自动跳转到https(443端口)
-
实现网页重写的步骤
(1)apche的子配置文件并编辑:/etc/httpd/conf.d/vhost.conf
(2)重启服务:systemctl restart httpd
(3)测试,输入域名后会自动加载https
9 正向代理
(1) 配置squid客户端(该主机可以上网)
-
编辑配置文件:
/etc/squid/squid.conf
-
启动squid服务:
systemctl start squid.service
(2)客户端:在不能上网的主上测试,在浏览器中输入:www.baidu.com不能访问
-
加入代理:Preference——>Network settings——>Manual proxy configuration
-
填写squid服务的主机和squid服务的端口号,设置完成后,该主机虽然没有联网但是可以通过代理访问www.baidu.com及其他网站
-
在客户端测试,能正常访问www.baidu.com
但是在客户端主机在仍然不能ping通www.baidu.com
10 反向代理
node1:没有apache服务的虚拟机172.25.254.244
node2:能正常使用apache服务的虚拟机172.25.254.193,配置apache的发布文件
-
下载代理: dnf install squid -y
-
编辑配置文件:vim /etc/squid/squid.conf
-
重启squid服务:systemctl restart squid
原本没有apache服务的主机172.25.254.244可以通过172.25.254.193的80端口(http)缓存数据
11 apache 支持的语言
php
重启apache服务:systemctl restart httpd.service
测试:http://172.25.254.144/index.php
cgi
mkdir /var/www/html/cgi
vim /var/www/html/cgi/index.cgi
cd /var/www/html/cgi
chmod +x index.cgi
./var/www/html/cgi/index.cgi
测试:http://172.25.254.144/cgi/index.cgi
编辑虚拟主机的配置文件:vim /etc/httpd/conf.d/vhost.conf
重启服务:systemctl restart httpd.service
测试:http://172.25.254.144/cgi/index.cgi
以上是“Linux下Apache服务如何部署和配置”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/153086.html