Назад | Перейти на главную страницу

Каталоги Apache2 с разными корнями документов

Я запускаю сервер 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

Видеть https://httpd.apache.org/docs/current/upgrading.html

Вы сделали chown www-data:www-data -R /var/www/nextcloud передать права собственности на файлы apache2?