解决Ubuntu14 apache2虚拟主机目录403错误代码

Ubuntu 14.04 Apache虚拟主机配置实战指南 虚拟主机(Virtual Host)是Apache实现多站点托管的核心机制,其本质是基于HTTP请求中Host头的路由分发技术。原理上依赖ServerName/ServerAlias匹配、DocumentRoot路径绑定、Directory权限控制及日志分流等关键配置协同工作。该技术在遗留系统运维、嵌入式Web界面和教学实验环境中具有不可替代的工程价值——无需重启服务、不改动端口、不升级核心组件即可完成多环境隔离。尤其在Ubuntu 14.04 LTS这类长期服役系统中,精准使用原生Apache 2.4.7 阅读详情

在Ubuntu14配置了一个apache环境但发现在目录显示时为403 Forbidden了,这种问题根据我的经验不是权限问题就是没有索引或apache中的目录配置问题,下面一起来看看。
刚刚安装上apache作为本地测试环境,ubuntu上apache和centos上不同,服务进程不是httpd,而是apache2,配置方法也不一样。

Apache2的配置简介

在我的服务器上,apache的配置文件在/etc/httpd目录下面httpd.conf,虚拟主机的配置文件conf.d/vhost.conf。而Apache2的配置目录则是/etc/apache2,其下的apache2.conf是总配置文件,引用了mods-available、mods-enabled、sites-available、sites-enabled这几个目录下的.load和.conf文件。它的逻辑更加简单,即apache2.conf作为总配置文件,把一些基础的配置放在这里,mods-available、sites-available里面则放可用的模块和网站配置。“可用”不是说“已启用”,如果要启用这些“可用”的模块或配置,需要在对应的enabled目录下放一个软连接。下面举一个例子:

$ sudo vi /etc/apache2/sites-available/www.test.com.conf

这样就创建了这个conf文件,但是它不会马上用于配置中,即使你restart一下服务,也不会让它生效。要生效,必须先“启用”它,并且reload服务。
代码如下

$ sudo ln -s /etc/apache2/sites-available/www.test.com.conf /etc/apache2/sites-enabled/www.test.com.conf

然后再来执行reload:
代码如下

$ sudo service apache2 reload

才能更新配置,让配置生效。不过apache2提供了一个操作,不需要我们自己使用ln -s命令来实现软链接。这个命令如下:
代码如下

$ sudo a2ensite /etc/apache2/sites-available/www.test.com.conf

a2ensite相当于apache2 enable site的缩写,意思是说“启用网站”,实际上是把sites-available目录下的对应的conf文件做一个软链接到sites-enabled目录下。使用这句命令后再reload一下服务,就可以启用这个网站了。同样的道理,使用a2dissite(apache2 disable site)命令就可以停用这个网站。
配置虚拟主机 ↑
这个和一般的虚拟主机配置没有特别大的区别,不过apache2中多了一条Require all granted/denied,官方更新说明,下面会讲到。
上面我们已经vi了一个www.test.com.conf,我们现在干脆就用它做讲解。写入下面的内容:
代码如下

<VirtualHost *:80>
        ServerName www.test.com
        ServerAdmin webmaster@test.com
        DocumentRoot /var/www/html/www.test.com
        <Directory /var/www/html/www.test.com>
            Options FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/demo_error.log
        CustomLog ${APACHE_LOG_DIR}/demo_access.log combined
</VirtualHost>

从总体结构上跟其他的虚拟主机配置差不多,但是这总配置没有我们下面要提到的Require all。Apache2中增加了这一个语句,用来替换Deny from all, Allow from all。可以用下面的来实现:
代码如下

<VirtualHost *:80>
        ServerName www.test.com
        ServerAdmin webmaster@test.com
        DocumentRoot /var/www/html/www.test.com
        <Directory /var/www/html/www.test.com>
            Options FollowSymLinks
            AllowOverride None
            Require all granted           # granted表示可以访问,denied表示不可以访问
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/demo_error.log
        CustomLog ${APACHE_LOG_DIR}/demo_access.log combined
</VirtualHost>

但是实际上这个不是关键,只是一点小变化而已,原来的配置其实是可以继续用的。有人说使用这种方法能够解决下面的问题,但是实际上是不行的,逻辑都不对。
在用户目录创建网站时出现403 Forbidden ↑
403 forbidden的原因基本上就是权限问题了。有人说使用上面的Require all granted就可以解除了,但事实是不行的。问题跟它也有点关系,但不在于虚拟主机,而在于apache2.conf文件。vi apache.conf之后可以看到,在下方有几个进行的权限控制,其中就有require all语句。
我们把web目录放到自己的目录下面,是想不需要sudo就能修改和调整网站,但是apache2不认你的目录,因为apache2为了安全起见,只允许/var/www、/usr/share下面的文件夹被访问。所以在最后一个后面再添加上一个允许的目录就可以了。例如:
代码如下

<Directory /home/user/websites>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

这样之后,再sudo service apache2 reload,就可以访问这个目录了。当然,还有一种可能,就是apache的用户组www-data没有权限访问你的目录(权限控制的比较紧的情况下),你还要考虑chmod你的目录权限:
代码如下

$ chmod 711 /home/user
$ chmod 755 /home/user/websites

让目录具有可读可执行的权限。这样之后应该就可以访问你的网站了。

Ubuntu 18.04 Apache虚拟主机配置避坑指南 Apache虚拟主机是Web服务的基础架构能力,其核心原理在于基于ServerName的请求匹配与Directory权限控制。在Ubuntu等Debian系发行版中,Apache通过sites-available/sites-enabled符号链接机制实现模块化管理,但默认启用的000-default.conf会以最高字典序优先拦截未指定Host头的请求,导致自定义配置‘写而无效’;同时Apache 2.4+废弃Order/Allow语法,强制要求Require all granted权限声明。这一原理差异 阅读详情

相关推荐

Ubuntu 14.04多虚拟主机Let’s Encrypt证书隔离实践

SSL证书管理是Web安全的基础能力,其核心在于证书与服务实例的精确绑定。在Apache等传统Web服务器中,SNI机制虽支持多域名共用IP,但证书加载逻辑依赖配置显式声明——若未为每个VirtualHost独立指定SSLCertificateFile与SSLCertificateKeyFile,极易引发证书错配、私钥权限异常或TLS握手失败。尤其在老旧环境如Ubuntu 14.04+Apache 2.4.7组合下,OpenSSL 1.0.1f兼容性限制与certbot 0.10.x自动化缺陷叠加,使‘一键

chunqingtai2922的博客 345

ubuntu wget ERROR 403: Forbidden 错误

wget -U "浏览器的useragent" 下载地址

读书郎 1801

Ubuntu 16.04 Apache虚拟主机配置实战与排错指南

Apache虚拟主机是Web服务路由分发的基础机制,其核心原理在于HTTP Host头匹配、端口监听绑定与文档根路径权限控制的协同作用。在Linux系统中,Ubuntu 16.04搭载的Apache 2.4.18版本引入了模块化语法升级,如Require指令替代Order/Allow、.conf后缀强制识别、符号链接驱动的sites-enabled启用机制等关键变化,显著提升了安全性与可维护性。这些设计不仅支撑企业官网、测试环境和遗留系统迁移等典型场景,更构成了现代反向代理(Nginx/Traefik)和云

961

ubuntu 14.04 apache2虚拟主机目录访问403错误

Apache提示You don’t have permission to access / on this server问题解决在ubuntu14.04下的apache 2增加虚拟主机目录,访问出现You don't have permission to access / on this server 403错误。 解决办法:修改apache.conf文件,在 <Directory />

github_29788405的博客 513

Ubuntu 20.04 安装配置 Apache 详细指南

Apache 是广泛使用的开源 Web 服务器,其稳定性和模块化设计使其成为 Linux 系统部署网站的核心组件。在 Ubuntu 20.04 这一长期支持(LTS)版本中,Apache 通过 APT 包管理器深度集成 systemd、AppArmor 和默认安全策略,但这也导致新手常遇 403 错误、HTTPS 配置失败或服务无法启动等问题。理解其基于 Debian 的配置结构(如 sites-enabled、mods-enabled)、权限模型(www-data 用户与 DocumentRoot 权限)

weixin_30650039的博客 549

Ubuntu 18.04 Apache 2.4基础认证配置全指南

HTTP Basic认证是一种轻量级、浏览器原生支持的访问控制机制,其核心原理是通过Authorization请求头传递Base64编码的凭据,并由服务器端模块(如auth_basic与authn_file)协同完成解析、哈希比对与授权决策。该技术具备部署简单、兼容性高、无需前端改造等工程优势,广泛应用于内部管理后台、测试API网关、静态资源保护等低复杂度鉴权场景。在Ubuntu 18.04系统中,由于Apache 2.4默认禁用认证模块且强制限制AllowOverride策略,导致常见故障如401 Una

weixin_34253126的博客 360

ubuntu apt 遇见403 forbidden

sudo vim /etc/apt/sources.list #打开源的列表,将。,再source一下即可,之所以要改是因为原来的源挂掉了。

qq_35929305的博客 1178

Ubuntu 12.04 VPS 部署 Moodle 2.5 实战指南

学习管理系统(LMS)是教育数字化的核心基础设施,其部署本质是 Web 应用在限定资源环境下的系统工程实践。理解 LAMP 架构中 Apache、MySQL、PHP 的版本协同与依赖约束,是保障 Moodle 稳定运行的基础原理;而针对老旧但仍在服役的 Ubuntu 12.04 这类已终止支持的操作系统,技术价值在于掌握最小可行部署路径、安全加固边界与故障可追溯性。典型应用场景包括:低配测试环境验证插件兼容性、遗留校内系统维护、以及 Web 运维教学中的底层原理实训。本文聚焦 Moodle 2.5 这一最后

weixin_30527323的博客 400

ubuntu 配置好虚拟域名后显示403Forbidden解决方法

如果你配置好虚拟域名之后显示的是403Forbidden 这个错误   不要着急  进入你的配置项  /etc/nginx/sites-enabled 这个目录  找到你刚配置的那个域名  在location 下加上 autoindex  on;  即可解决 !~~~!!

lovely_1014的博客 1929

Ubuntu 20.04 手动安装 Apache 深度指南:从服务启动到生产就绪

Web 服务器是现代应用部署的基础设施核心,Apache 作为最成熟的开源 HTTP 服务器,其配置逻辑、模块加载机制与系统环境深度耦合。理解 systemd 服务管理、ufw 防火墙策略、配置文件分层加载(sites-available/enabled、mods-enabled)及权限模型(如 DocumentRoot 所有权与 www-data 组),是实现稳定运行与精准排障的前提。在 Ubuntu 20.04 这一广泛使用的 LTS 版本中,Apache 2.4.41 的默认行为(如 MPM 事件模型

536

深度学习基于Resnet18的图像多分类--训练自己的数据集(超详细 含源码)

深度学习基于Resnet18的图像多分类--训练自己的数据集(超详细 含源码)

她是不会无条件的!! 2万+

解决Ubuntu软件源403 Forbidden错误

这些错误表明你的系统在尝试从Ubuntu官方软件源下载软件包时遇到了403 Forbidden错误。

Leon_Jinhai_Sun的博客 3021

全国大学生软件测试大赛Web应用测试(二)Selenium功能测试环境配置

全国大学生软件测试大赛Web应用测试(二)Selenium功能测试环境配置指南配置JAVA配置mooctest配置ChromeDriver配置SeleniumSelenium的使用 环境配置指南 配置JAVA 首先进入JDK8官方安装地址 然后找到Windows 64位 jdk8 点击下载(这里下载需要登录Orcale 账户) 下载后JDK的安装根据提示进行,还有安装JDK的时候也会安装JRE,一并安装就可以了。 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为 D:\java\jav

Kennen0_0的博客 9606

Ubuntu 14.04下Apache WebDAV深度配置实战

WebDAV是一种基于HTTP的文件系统级协议,通过扩展HTTP方法(如PROPFIND、PUT、LOCK)实现远程文件管理;其核心原理依赖服务器模块(如mod_dav_fs)与文件系统锁机制(DavLockDB)协同完成原子操作。技术价值在于零客户端依赖、Windows资源管理器原生映射、强审计可控性,特别适用于政企老旧系统合规集成场景。在Ubuntu 14.04这类EOL但仍在关键业务中运行的LTS环境中,WebDAV配置不再是简单启用模块,而需深度校准Apache模块加载顺序、AppArmor路径策略

weixin_34161083的博客 350

YOLOv11 网络结构详解:一文看懂 Backbone、Head、C3k2、SPPF 和 Detect 检测头

在使用 YOLOv11 进行目标检测时,我们经常会接触到或这样的模型配置文件。backbone和head分别是什么意思?ConvC3k2SPPFC2PSA这些模块分别起什么作用?P3/8、P4/16、P5/32 代表什么?为什么最后 Detect 要同时接收 3 个不同尺度的特征图?YOLOv11n、YOLOv11s、YOLOv11m、YOLOv11l、YOLOv11x 的区别在哪里?

learnerYC的博客 1810

谷歌(Google) Pixel 8/9 Pro(xl)如何获取 root 权限

谷歌(Google)Pixel8/9Pro(xl)等系列手机破解后,会在你的init_boot.img同路径生成一个magisk_patched.img,把这个文件拷贝到adb目录下,稍后还得把它刷回手机,这样手机才能获得Root权限,因为安卓14、15以后的内核结构调整,和Pixel7及以下的6、5、4、3、2等系列手机破解稍微不一致。因为ROOT权限的获取,需要使用ROM中的内核文件,个人强烈建议在官网下载ROM,直接刷最新版,其他地方的ROM如果没有校验码,请自行斟酌是否使用。

bugsycrack的博客 3486

Ubuntu 14.04 LAMP部署实战:Apache 2.4/MySQL 5.5/PHP 5.5协同配置

LAMP并非简单堆叠的软件组合,而是Apache、MySQL与PHP三者深度耦合的运行时环境。其核心原理在于组件间配置联动——Apache的MPM模式决定PHP加载方式,MySQL的sql_mode影响PDO预处理行为,PHP的时区与字符集设置则直接触发Apache日志告警或数据库乱码。这种强依赖关系赋予LAMP稳定可靠的技术价值,尤其在老旧生产系统、教育实训平台及工业网关等需长期确定性的场景中不可替代。本文聚焦Ubuntu 14.04这一典型LTS版本,详解Apache 2.4.7配置语法迁移、MySQL

weixin_30892889的博客 375

U盘插入电脑时发出声音但不显示——编程解决方案

以上是一些常见的编程解决方案,帮助您解决U盘插入电脑时发出声音但不显示的问题。请注意,这些解决方案可能因不同的情况而略有不同,因此请根据您的具体情况进行调整和尝试。当您将U盘插入电脑时,如果您听到了连接声音,但是U盘却没有在文件资源管理器或桌面上显示出来,这可能是由于一些常见问题导致的。U盘的文件系统格式可能与您的计算机不兼容,导致无法正确识别。如果输出显示U盘的文件系统格式与您的计算机不兼容,您可以尝试重新格式化U盘或使用其他兼容的文件系统格式。其中,X是U盘的磁盘编号,Y是您想要分配给U盘的盘符。

ByteEchoX的博客 2462

Ubuntu 20.04 Apache 安装与 systemd 防火墙配置实战指南

Apache HTTP Server 是最主流的开源 Web 服务器软件,其核心原理基于模块化架构、分层配置加载与进程生命周期管理。在 Ubuntu 20.04 这一以 systemd 为唯一初始化系统的 LTS 版本中,服务启停、状态监控和开机自启必须通过 systemctl 命令完成,而不再兼容旧式 service 命令;同时,ufw 防火墙默认启用且策略为‘拒绝所有入站’,若未显式放行 80/443 端口,即使 Apache 进程正常运行,外部请求也无法抵达。掌握 apache2 -t 语法检查、sy

weixin_33896726的博客 261

Linux | Ubuntu18.04安装WIFI6 AX201驱动完整教程

本节介绍了如何在Ubuntu18下安装AX201驱动的教程。

九七的博客 8881

【WRF数据准备】制备月尺度静态地理数据:LAI、Fpar、LUCC

【WRF数据准备】制备月尺度静态地理数据:LAI、Fpar、LUCC

WW、forever的博客 803

Ubuntu 20.04安装Apache实战:从服务启动到安全加固

Web服务器是现代应用交付的基础设施核心,其本质是操作系统内核、网络协议栈与用户态守护进程协同工作的结果。Apache作为模块化设计最成熟的HTTP服务器,依托Debian/Ubuntu的APT包管理体系,实现配置、权限、服务生命周期的标准化管控。在LTS长期支持版本如Ubuntu 20.04上部署Apache,不仅关乎命令执行,更涉及systemd服务管理、AppArmor安全策略、端口绑定、日志审计与多站点虚拟主机等系统级实践。本文聚焦真实生产环境中的典型路径——从apt安装、配置验证、防火墙放行,到目

weixin_34184158的博客 470

【Altium designer】BOM导出 Bill of Materials 如何自定义格式

【Altium designer】如何自定义BOM导出格式 我们用Excel做一个xx.xlt的2003的模版文件,取文件名为:AltiumDesiger PCB BOM Template.xlt 将AltiumDesiger PCB BOM Template.xlt文件存放在:AltiumDesiger 安装目录的Template文件夹内

夜半少年的博客 2717

Ubuntu 20.04下Apache基础认证实战:从配置到排错

HTTP Basic Authentication 是一种轻量级的Web访问控制机制,基于RFC 7617标准,通过明文Base64编码传输凭据,依赖服务器端模块解析Authorization头并校验用户身份。其核心原理在于客户端发起请求时若未携带有效凭证,服务端返回401状态码及WWW-Authenticate响应头;验证则由auth_basic与authn_file等模块协同完成,涉及密码文件读取、哈希比对与权限上下文匹配。该技术价值在于部署简单、兼容性强,适用于内部系统、测试接口和后台管理页等低敏感场

weixin_30591551的博客 342

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Apache服务器本质:HTTP请求处理流水线与模块化架构解析

Web服务器是支撑现代互联网应用的基础设施核心,而Apache作为最经典的开源HTTP服务器,其本质远不止静态文件托管。它是一套严格遵循HTTP协议规范的请求处理引擎,通过模块化架构实现可插拔、可编排的运行时调度能力。其核心价值在于将原始网络字节流转化为标准化响应,全程受控于11阶段请求生命周期模型,并依托mpm_event等MPM机制适配高并发场景。在实际运维与开发中,理解mod_rewrite重写时机、.htaccess作用域限制、虚拟主机路由逻辑及SSL/TLS配置细节,直接决定服务的安全性、性能与稳

dejz8829的专栏 418

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 让centos支持ntfs(centos下安装ntfs-3g)
下一篇: 什么是jasmine. describe是什么
dapeng-大鹏
博客等级 码龄16年 1349粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值