Linux-Apache静态资源

文章目录

🏡作者主页:点击!

🤖Linux专栏:点击!

⏰️创作时间:2024年11月20日11点21分

静态资源

Apache配置静态资源

可以在网页上配置一个静态的FTP服务器,让用户访问网页获取相对应的文件

bash 复制代码
mkdir -p /website/test    #创建相对应的文件
echo "This is the first resource for this website" > /website/test/test1
ln -s test1 test2    #创建软链接test2

vi /etc/httpd/conf.d/website.conf

<Directory "/website">
	Options Indexes FollowSymlinks    #如果目录下没有index.html文件,就展示当前目录的文件系统,也可以访问目录中软									连接文件
	AllowOverride None    #允许完全访问
	#Allow open access:
	Require all granted    #任意访问
</Directory>

<Directory "/test">    #此处的 Test 的 Website目录下的test
	Options Indexes FollowSymlinks    #如果目录下没有index.html文件,就展示当前目录的文件系统,也可以访问目录中软									连接文件
	AllowOverride None    #允许完全访问
	#Allow open access:
	Require all granted    #任意访问
</Directory>

:wq
systemctl restart httpd    #重启服务即可,之后就实现了最终效果
#浏览器输入 http://192.168.100.148:1000/test----就能看见对应的目录下的文件

#当 /website/test中不包含 demo.html 是时候才会通过 Options 链接文件,把目录文件当做静态资源
DirectoryIndex demo.html

alias /demo "/website/test"    #设置别名,访问 https://192.168.100.148:1000/demo,也就是访问 /website/test

权限设置

Apache静态页面设置权限

bash 复制代码
#方式1
#直接在配置文件里面进行权限规定

vi /etc/httpd/conf.d/website.conf

<Directory "/website/test">    #此处的 Test 的 Website目录下的test,控制权限就需要用完整路径了
	Options Indexes FollowSymlinks    #如果目录下没有index.html文件,就展示当前目录的文件系统,也可以访问目录中软									连接文件
	#AllowOverride None    #将完全允许完全访问注释掉
	#Allow open access:
	#Require all granted    #将任意访问权限注释掉

	<RequireAll>
		Require all granted
		Require not ip 222.139.31.81    #意思是除了本地公网的IP,其他都可以访问,此时也要把 /test改成完整的路径
	</RequireAll>

</Directory>

:wq
systemctl restart httpd    #重启服务即可,之后就实现了最终效果
bash 复制代码
#方式2
#在需要控制访问的目录下创建 .htaccess 文件实现权限规定

vi /etc/httpd/conf.d/website.conf

<Directory "/website/test">    #此处的 Test 的 Website目录下的test,控制权限就需要用完整路径了
	Options Indexes FollowSymlinks    #如果目录下没有index.html文件,就展示当前目录的文件系统,也可以访问目录中软									连接文件
	AllowOverride all    #将完全允许完全访问开启并设置为all,此时权限就全部放到指定目录的 .htaccess 文件中,不再使用.conf文件来设置权限
	#Allow open access:
	#Require all granted    #将任意访问权限注释掉

	#<RequireAll>
	#	Require all granted
	#	Require not ip 222.139.31.81    #意思是除了本地公网的IP,其他都可以访问
	#</RequireAll>

</Directory>
:wq

vi /website/test/.htaccess    #创建访问权限文件,控制哪个就在哪个下面创建对应的文件
	<RequireAll>
		Require all granted
		Require not ip 222.139.31.81    #意思是除了本地公网的IP,其他都可以访问,此时也要把 /test改成完整的路径
	</RequireAll>

systemctl restart httpd    #重启服务即可,之后就实现了最终效果
bash 复制代码
#方式3(此方法失败)
#基于账户设置,限制基于某个用户的访问,需要在页面所在目录进行配置

cd /website/test
htpasswd -cb .passwd test admin@123   #在当前的test目录中创建新的htpasswd文件,基于http基本认证,用来做安全保护

vi /website/test/.htaccess
	<RequireAll>
		Require all granted
		Require not ip 222.139.31.81    #意思是除了本地公网的IP,其他都可以访问,此时也要把 /test改成完整的路径
	</RequireAll>
	AuthType Basic    #认证类型明文认证
	AuthName "http test"    #认证提示框显示内容为 http test
	AuthUserFile "/website/test/.passwd"    #密码文件存放的位置
	Require user test    #用户为test

#此时的配置文件有两条访问限制:
1、控制公网IP的访问(当然此时我们没有服务器,配置不配置一样)
2、控制用户的访问

systemctl restart httpd    #重启服务即可,之后就实现了最终效果(最后此方法失败)
相关推荐
小鹏linux2 分钟前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
在角落发呆44 分钟前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
齐潇宇1 小时前
Zabbix 7 概述与配置
linux·zabbix·监控告警
裴东青2 小时前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化
江公望2 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器
哎呦,帅小伙哦2 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
sxgzzn3 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能
张小姐的猫3 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
CodeMartain3 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
xxx1x1x3 小时前
极客向:DLL/运行库故障的底层逻辑与自动化修复方案
运维·自动化·dll文件·dll·dll修复·dll缺失·dll一键修复