- Nextcloud는 현재 에서 서비스되고 있습니다
my-domain.dev/nextcloud
. - 에서 제공되기를 바랍니다
cloud.my-domain.dev
. cloud.my-domain.dev
내 서버의 IP 주소를 가리키도록 A 레코드를 이미 설정했습니다 .- 내 옆에는 Let's-Encrypt를 사용하여 HTTPS를 사용하도록 설정한 기본 사이트
/var/www/nextcloud
도 있습니다 ./var/www/my-domain.dev
- 저는 서버 버전: Apache/2.4.41(Ubuntu)을 사용하고 있습니다.
이제 함께 플레이할 가상 호스트를 설정해야 합니다. 가상 호스트 내에, 아마도 다른 포트에 위치하도록 nextcloud.conf를 변환해야 한다고 가정합니다. 어떻게 진행하나요?
nextcloud.conf로넥스트클라우드가 추천하는.
Alias /nextcloud "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
내 도메인.dev.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName my-domain.dev
ServerAlias www.my-domain.dev
DocumentRoot /var/www/my-domain.dev
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
나에게 도움이 된 것:
Andrew Schulman의 답변은 거의 저에게 효과적이었습니다. 몇 가지 작은 변경만 하면 되었습니다.
- "모두 부여 필요"를 제거하십시오.
- "AllowOverride All" 및 "Options FollowSymLinks MultiViews"를 디렉터리 태그로 이동합니다.
이러한 단계가 왜 필요한지 설명해 줄 수 있는 사람이 있습니까?
감사합니다 앤드류!
nextcloud.conf:
1 <VirtualHost *:80>
2 ServerAdmin [email protected]
3 ServerName cloud.b-t.dev
4 DocumentRoot /var/www/nextcloud
5
6 #ErrorLog ${APACHE_LOG_DIR}/error.log
7 #CustomLog ${APACHE_LOG_DIR}/access.log combined
8
9 <Directory "/var/www/nextcloud">
10 AllowOverride All
11 Options FollowSymLinks MultiViews
12 </Directory>
13
14 #Satisfy Any
15
16 <IfModule mod_dav.c>
17 Dav off
18 </IfModule>
19
20 SetEnv HOME /var/www/nextcloud
21 SetEnv HTTP_HOME /var/www/nextcloud
22 </VirtualHost>
답변1
Alias 및 Directory 지시문 대신 새로운 VirtualHost 정의를 추가하기만 하면 됩니다.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName cloud.my-domain.dev
DocumentRoot /var/www/nextcloud
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</VirtualHost>
두 가상 호스트 모두 포트 80에서 실행될 수 있습니다. 이것이 이름 기반 가상 호스팅의 작동 방식입니다. 이를 통해 동일한 IP 주소 및 포트에서 여러 호스트를 실행할 수 있습니다. Apache는 클라이언트가 ServerName 및 ServerAlias 지시문에 대해 보내는 Host 헤더 값을 일치시켜 서비스를 제공할 가상 호스트를 결정합니다.
당신은 읽어야합니다Apache 가상 호스트 문서, 특히 이름 기반 가상 호스트에 관한 부분입니다.