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

相关推荐
knighthood20014 分钟前
解决:ros进行gazebo仿真,rviz没有显示传感器数据
c++·ubuntu·ros
‍。。。13 分钟前
使用Rust实现http/https正向代理
http·https·rust
龙哥说跨境15 分钟前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
pk_xz1234562 小时前
Shell 脚本中变量和字符串的入门介绍
linux·运维·服务器
小珑也要变强2 小时前
Linux之sed命令详解
linux·运维·服务器
海绵波波1072 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
九河云4 小时前
AWS账号注册费用详解:新用户是否需要付费?
服务器·云计算·aws
Lary_Rock4 小时前
RK3576 LINUX RKNN SDK 测试
linux·运维·服务器
幺零九零零5 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络
云飞云共享云桌面6 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络