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

相关推荐
远游客07132 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
White_Mountain4 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
LIKEYYLL4 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu
njnu@liyong5 小时前
图解HTTP-HTTP报文
网络协议·计算机网络·http
云云3215 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3215 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
ZachOn1y5 小时前
计算机网络:应用层 —— 应用层概述
计算机网络·http·https·应用层·dns
coder_pig5 小时前
📝小记:Ubuntu 部署 Jenkins 打包 Flutter APK
flutter·ubuntu·jenkins
CircleMouse5 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
木子Linux6 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算