配置 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/测试目录,你应该能够看到共享目录的内容。如果仍然遇到问题,请检查错误日志并分享具体错误信息,以便进一步诊断问题。

相关推荐
嚯——哈哈几秒前
AWS云服务器:开启高效计算的新纪元
服务器·云计算·aws
嚯——哈哈几秒前
从入门到精通:解析如何使用亚马逊云服务器(AWS EC2)
运维·服务器·aws
写点什么啦1 小时前
[debug]不同的window连接ubuntu的vscode后无法正常加载kernel
linux·vscode·ubuntu·debug
wellnw1 小时前
[ubuntu]编译共享内存读取出现read.c:(.text+0x1a): undefined reference to `shm_open‘问题解决方案
linux·ubuntu
1900432 小时前
linux复习5:C prog
linux·运维·服务器
李迟3 小时前
某Linux发行版本无法使用nodejs程序重命名文件问题的研究
java·linux·服务器
酷酷学!!!3 小时前
Linux基础指令(汇总)
linux·运维·服务器
SchneeDuan4 小时前
建造者模式
运维·服务器·建造者模式
麻花20134 小时前
WPF里面的C1FlexGrid表格控件添加RadioButton单选
java·服务器·前端
哎呦喂-ll5 小时前
Linux进阶:常用操作
linux·运维·服务器