Ubuntu 版本:Ubuntu 20.04.3 LTS
Nextcloud 版本:nextcloud 23.0.0
Apache 版本:2.4.41
我正在尝试在我的 Linux 服务器上设置一个 nextcloud 实例。但是,当我尝试通过键入 server.swayamshree.com 从 Web 浏览器 (firefox) 访问它时,我收到了以下消息:
禁止
您无权访问此资源。
Apache/2.4.41 (Ubuntu) 服务器位于 server.swayamshree.com 端口 80
任何帮助都将不胜感激。我已在下面列出了我的配置的详细信息。
我的 nextcloud 实例的文件夹位于 /media/swayam/external/server.swayamshree.com,具有以下权限:
drwxr-xr-x 13 www-data www-data 4096 11月26日 15:54 server.swayamshree.com
位于 /etc/apache2/sites-available/server/swayamshree.com.conf 的文件包含以下内容:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "/media/swayam/external/server.swayamshree.com"
ServerName server.swayamshree.com
<Directory "/media/swayam/external/server.swayamshree.com/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Require all granted
</Directory>
TransferLog /var/log/apache2/server.swayamshree.com_access.log
ErrorLog /var/log/apache2/server.swayamshree.com_error.log
</VirtualHost>
位于 /etc/apache2/apache2.conf 的文件的相应内容如下:
...
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /media/swayam/external/server.swayamshree.com/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
...
答案1
默认情况下,Apache 仅限于/var/www
目录。因此,您有两个选项可供选择:
- 为你的 NextCloud 安装创建一个挂载点,该挂载点位于
/var/www
- 修改 AppArmor 配置文件,将 Apache 限制在一个目录中,以允许对外部位置进行读/写访问
这两个选项都是完全有效的,尽管第一个可能更简单。