my-domain.dev/nextcloud上提供服务。cloud.my-domain.dev上买。cloud.my-domain.dev建立了一个指向服务器IP地址的A记录。/var/www/nextcloud旁边,我还拥有一个/var/www/my-domain.dev,这是我设置的使用HTTPS的主要站点,使用的是“让我们加密”。Now,我需要设置vhost来一起玩。我假设我必须将nextcloud.conf转换成一个虚拟主机,也许在另一个端口下?如何进行?
nextcloud.conf为下云推荐的.
Alias /nextcloud "/var/www/nextcloud/"
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
Dav off
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloudmy-domain.dev.conf
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 combinedWHAT为我工作:
安德鲁·舒尔曼的回答对我来说几乎奏效了,我只需要做一些小小的改变:
有人能解释一下为什么这些步骤是必要的吗?
谢谢安德鲁!
nextcloud.conf:
1
2 ServerAdmin webmaster@b-t.dev
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
10 AllowOverride All
11 Options FollowSymLinks MultiViews
12
13
14 #Satisfy Any
15
16
17 Dav off
18
19
20 SetEnv HOME /var/www/nextcloud
21 SetEnv HTTP_HOME /var/www/nextcloud
22 发布于 2020-12-08 02:16:56
您只需要添加一个新的VirtualHost定义,而不是别名和目录指令:
ServerAdmin webmaster@localhost
ServerName cloud.my-domain.dev
DocumentRoot /var/www/nextcloud
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
Dav off
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud两个虚拟主机都可以在端口80上运行。这就是基于名称的虚拟主机的工作原理,它允许您在同一个IP地址和端口上运行多个主机。Apache匹配客户端针对ServerName和ServerAlias指令发送的主机头的值,以确定要为它们服务的虚拟主机。
您应该阅读Apache虚拟主机文档,特别是关于基于名称的虚拟主机的部分。
https://serverfault.com/questions/1045353
复制相似问题