Я запускаю сервер apache с icinga, некоторыми личными статическими вещами и nextcloud. Я бы хотел, чтобы это работало следующим образом:
domain/ (all my static stuff)
/nextcloud
/icingaweb2
структура каталогов
/var/www/html (all my personal stuff)
/var/www/nextcloud
Конфигурация для этого
<VirtualHost *:80>
ServerAdmin <email>
DocumentRoot "/var/www/html"
ServerName <url>
Alias "/nextcloud/" "../nextcloud"
Options MultiViews FollowSymlinks
<Directory "nextcloud/">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nextcloud_error.log
</VirtualHost>%
Я не совсем уверен, как работает Icinga, но она и статическая часть в порядке. Nextcloud - нет, и я получаю за это Forbidden 403.
Эта конфигурация работает, но ничего статического не работает;
<VirtualHost *:80>
ServerAdmin <email>
DocumentRoot "/var/www/nextcloud"
ServerName <url>
<Directory "/var/www/nextcloud/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nextcloud_error.log
</VirtualHost>%
Я использую Debian, кстати, спасибо
Обычный способ - использовать Alias
с абсолютным путем и <Directory/>
директива с тем же путем, как это:
<VirtualHost *:80>
ServerName <url>
ServerAdmin <email>
DocumentRoot /var/www/html
Alias /nextcloud/ /var/www/nextcloud
<Directory /var/www/nextcloud>
# --> enable stuff if needed, this should already be enabled in apache.conf
#Options Indexes FollowSymLinks
#AllowOverride None
#Require all granted
</Directory>
# add logging etc.
</VirtualHost>
Если вам нужен контроль доступа и у вас Apache> = 2.4, замените устаревший синтаксис
Order allow,deny
Allow from all
с участием
Require all granted
Вы сделали chown www-data:www-data -R /var/www/nextcloud
передать права собственности на файлы apache2?