Setup 2nd website after deploying nextcloud linode.
I'm having trouble setting up another website on same server I deployed linode nextcloud.
Nextcloud working fine. No problems, been using for a while. I decided to try setting up a 2nd website on linode using the same apache server. Followed some guides available online. After setting up, 2nd site keeps going to nextcloud login. Tried from several different devices and different browsers. All goes to nextcloud site. I have collected some info and will paste below.
contents of /etc/apache2/sites-enabled/othersite.conf
<VirtualHost *:80>
ServerAdmin notroot@localhost.com
ServerName othersite.dname.com
DirectoryIndex index.html
DocumentRoot /var/www/othersite/public_html/
ErrorLog /var/www/othersite/logs/error.log
CustomLog /var/www/othersite/logs/access.log combined
</VirtualHost>
contents of nextcloud conf file in enabled:
Alias / "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
<VirtualHost *:80>
ServerName nextcloud.dname.com
ServerAdmin admin@localhost.com
DocumentRoot /var/www/nextcloud
<directory /var/www/nextcloud>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =nextcloud.dname.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Output of apache2 -S:
notroot@dname:~$ sudo apachectl -S
AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/ports.conf:1
VirtualHost configuration:
*:443 nextcloud.dname.com (/etc/apache2/sites-enabled/nextcloud-le-ssl.conf:2)
*:80 is a NameVirtualHost
default server othersite.dname.com (/etc/apache2/sites-enabled/othersite.conf:2)
port 80 namevhost othersite.dname.com (/etc/apache2/sites-enabled/othersite.conf:2)
port 80 namevhost othersite.dname.com (/etc/apache2/sites-enabled/nextcloud.conf:13)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33
header info from curl request:
notroot@dname:~$ curl -s -D headers.txt -o /dev/null http://othersite.dname.com
notroot@dname:~$ less headers.txt
HTTP/1.1 302 Found
Date: Fri, 06 May 2022 16:16:57 GMT
Server: Apache/2.4.38 (Debian)
Referrer-Policy: no-referrer
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Robots-Tag: none
X-XSS-Protection: 1; mode=block
Set-Cookie: ocsk6whwcglg=csfnd5l56vvrh2qfdr6fnc8ujd; path=/; HttpOnly; SameSite=Lax
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Set-Cookie: oc_sessionPassphrase=B9SOCOy8ayQZmY30Ji62Ulh%2BPJObvtV0bQcrZDXr3KB1q%2B53RkGWmXxRlTmyarFo9lOJ3827nDyebzSRIbcFXAhfapa92IzNXm08X6zY4IY5FpQ9UN%2FXbFk8ws8kIjBm; path=/; HttpOnly; SameSite=Lax
Set-Cookie: ocsk6whwcglg=61o1ajah6p0hnul0en2btt061u; path=/; HttpOnly; SameSite=Lax
Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-ajBkODRuZlFhS0tSUnZPbVhtM0dXbUY0SmF5SUZBWUlyNXFFOUwrOEFMQT06eFNNYXBFK3FLWlB5QkxUY0tpZVdIQ01QYXRYU1lYNWMzL2l3cDhyTWJkaz0='; style-src 'self' 'unsafe-inline'; frame-src *; img-src * data: blob:; font-src 'self' data:; media-src *; connect-src *; object-src 'none'; base-uri 'self';
Set-Cookie: nc_sameSiteCookielax=true; path=/; httponly;expires=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=lax
Set-Cookie: nc_sameSiteCookiestrict=true; path=/; httponly;expires=Fri, 31-Dec-2100 23:59:59 GMT; SameSite=strict
Location: http://othersite.dname.com/index.php/login
Content-Length: 0
Content-Type: text/html; charset=UTF-8
The curl header output has the ‘othersite’ in the location:
Location: http://othersite.dname.com/index.php/login
The virtual hosts are using the same IP and the dns seems to be routing to that IP ok. It ‘seems’ to be a php setting that I’m not familiar with that maybe? redirecting to nextcloud? I don’t have any php or any other processing lang setup for the other site. Just serving static html files.
output of folder permissions
ls -l /var/www/
total 12
drwxr-xr-x 2 root root 4096 Feb 27 2021 html
drwxr-xr-x 4 www-data www-data 4096 May 5 21:14 othersite
drwxr-xr-x 14 www-data www-data 4096 May 5 18:48 nextcloud
Restarted apache, reloaded configs manually… Used different browsers on different devices. All times goes to nextcloud site’s login. Does not go to othersite’s index.html
notroot@dname:~$ ls -l /var/www/othersite/public_html/
total 12
lrwxrwxrwx 1 www-data www-data 42 May 5 21:20 index.html -> /var/www/othersite/public_html/wordle.html
-rw-r--r-- 1 www-data www-data 9725 May 5 21:19 wordle.html
1 Reply
✓ Best Answer
Got help from nextcloud web forums to solve problem.
Apparently this line:
Alias / "/var/www/nextcloud/"
in nextcloud.conf which is TOP line in the conf file forces all traffic to serve from nextcloud folders. The conf file wasn't created or edited by me. It was either put in place by linode's default nextcloud VM, or by one of nextcloud's built in auto update scripts.
I guess unless your familiar with the format of the conf files, you will have to be wary of the default conf files put in place by linode's nextcloud templates or nextcloud update tools. For anyone else thinking about adding additional sites to linode nextcloud VMs, keep this possibility in mind.