配置 Ubuntu上的 HTTP 服务器(Apache)

前言

如果文件放在VM2上,想在VM1上进行访问,就可以在VM2配置HTTP 服务器。最后在VM1的网页访问VM2的文件。

1.安装 Apache HTTP 服务器:

复制代码
sudo apt update
sudo apt install apache2

2.确保 Apache 已启动并设置为开机启动:

复制代码
sudo systemctl start apache2
sudo systemctl enable apache2

3.创建一个目录用于共享文件:

假设我们想要共享 /home/kg/测试目录

复制代码
sudo mkdir -p /home/kg/测试目录
​
# 确保 /home 目录具有执行权限
sudo chmod o+x /home
​
# 确保 /home/kg 目录具有执行权限
sudo chmod o+x /home/kg
​
# 确保 /home/kg/测试目录 目录具有读取和执行权限
sudo chmod -R 755 /home/kg/测试目录
​

4. 更新配置文件

确保Apache配置文件 /etc/apache2/sites-available/000-default.conf 正确配置。下面是一个示例配置:

复制代码
<VirtualHost *:80>
    # 其他配置...
    
    <Directory /home/kg/测试目录>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
​
    Alias /测试目录 /home/kg/测试目录
</VirtualHost>

5. 确认Apache用户和组

确保Apache用户和组是 www-data(大多数情况下是这个用户,但在某些系统上可能不同)。

复制代码
# 确认Apache的用户和组
ps aux | grep apache2

在某些系统上,Apache的用户可能是 apache。根据你的实际情况,修改权限命令中的用户和组。

6.重新启动Apache

应用更改后,重新启动Apache服务:

复制代码
sudo systemctl restart apache2

7.如果出错

检查Apache错误日志

再次检查Apache错误日志,确保没有其他权限相关的问题:

复制代码
sudo tail -f /var/log/apache2/error.log

确保防火墙允许HTTP流量

确保防火墙设置允许HTTP流量:

复制代码
sudo ufw allow 'Apache Full'

最终访问共享目录

在VM1浏览器中访问 http://192.168.145.138/测试目录,你应该能够看到共享目录的内容。如果仍然遇到问题,请检查错误日志并分享具体错误信息,以便进一步诊断问题。

相关推荐
Moshow郑锴8 分钟前
Spring Boot 3 + Undertow 服务器优化配置
服务器·spring boot·后端
农民小飞侠1 小时前
ubuntu 24.04 error: cannot uninstall blinker 1.7.0, record file not found. hint
linux·运维·ubuntu
某不知名網友1 小时前
Linux 软硬连接详解
linux·运维·服务器
爱学习的章鱼哥2 小时前
计算机网络|| 常用网络命令的作用及工作原理
linux·服务器·计算机网络
zm2 小时前
网络编程epoll和udp
服务器·网络·数据库
野犬寒鸦2 小时前
Linux常用命令详解(下):打包压缩、文本编辑与查找命令
linux·运维·服务器·数据库·后端·github
是垚不是土2 小时前
探秘高可用负载均衡集群:企业网络架构的稳固基石
运维·服务器·网络·云原生·容器·架构·负载均衡
skywalk81633 小时前
在一个FreeBSD的控制台,当移动鼠标时,就会有字符发生,这是怎么回事:35;62;18m35;60;
服务器·计算机外设·freebsd
胖大和尚3 小时前
Termius ssh连接服务器 vim打开的文件无法复制问题
服务器·ssh·vim
进取星辰3 小时前
24、TypeScript:预言家之书——React 19 类型系统
linux·运维·ubuntu