Author |
|
DomDis
Joined: 21 Apr 2023 Posts: 12 Location: USA
|
Posted: Fri 21 Apr '23 19:52 Post subject: Need Help getting Subdomains to work off one Apache instance |
|
|
I have followed several "How To" and my subdowmian just does not work.
Install Ubuntu (latest)
Install apache2
Install PHP 8
Create two dirs for the subdomains
md /var/www/S1
echo Hello this is Site 1 > /var/www/S1/index.html
md /var/www/S2
echo Hello this is Site 2 > /var/www/S2/index.html
/etc/apache2/sites-available.s1.conf
Code: | <VirtualHost *:80>
ServerName s1.disorbo.us
ServerAlias dd.disorbo.us
DocumentRoot /var/www/S1
<Directory /var/www/S1>
AllowOverride All
Options -Indexes
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost> |
/etc/apache2/sites-available.s2.conf
Code: | <VirtualHost *:80>
ServerName s2.disorbo.us
ServerAlias ld.disorbo.us
DocumentRoot /var/www/S2
<Directory /var/www/s2.DiSorbo.US>
AllowOverride All
Options -Indexes
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost> |
a2ensite s1.conf
a2ensite s2.conf
systemctl reload apache2
Add DNS to point to my NAtted router and I never see site 2 just site 1
Did I miss something ? |
|
Back to top |
|
tangent Moderator
Joined: 16 Aug 2020 Posts: 348 Location: UK
|
Posted: Mon 24 Apr '23 20:41 Post subject: |
|
|
You don't say which HowTo you followed, but on Ubuntu, you should place your additional Apache configuration files in directory /etc/apache2/sites-available, viz:
/etc/apache2/sites-available/s1.conf
/etc/apache2/sites-available/s2.conf Then enable these extra configuration files with symbolic links in /etc/apache2/sites-enabled, viz:
Code: | # cd /etc/apache2/sites-enabled
# ln -s ../sites-available/s1.conf
# ln -s ../sites-available/s2.conf
|
Check the configuration, and if all is well then restart Apache:
Code: | # apachectl -S
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:80 is a NameVirtualHost
default server 127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/000-default.conf:1)
port 80 namevhost s1.disorbo.us (/etc/apache2/sites-enabled/s1.conf:1)
alias dd.disorbo.us
port 80 namevhost s2.disorbo.us (/etc/apache2/sites-enabled/s2.conf:1)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
Define: ENABLE_USR_LIB_CGI_BIN
User: name="www-data" id=33
Group: name="www-data" id=33
# systemctl restart apache2
|
You might also want to consider having separate log files for each site. |
|
Back to top |
|
DomDis
Joined: 21 Apr 2023 Posts: 12 Location: USA
|
Posted: Mon 24 Apr '23 23:47 Post subject: |
|
|
Wait one sec are you saying that the file name in sites-available must match the domain name so if I have a DNS entries for s1.mydomain.com and s2.mydomain.com then the conf files are to be called s1.conf and s2.conf - What if I named then Site1.mydomain.com.conf sithtwo.mydomain.com.conf that makes it not work?? cuz that's the only disconnect I see. I can email the exact steps I took if that helps but I didn't want to post it all here (but I will if I have to) |
|
Back to top |
|
tangent Moderator
Joined: 16 Aug 2020 Posts: 348 Location: UK
|
Posted: Tue 25 Apr '23 17:21 Post subject: |
|
|
I don't believe I said the name of the configuration file must match the domain name; indeed the filename can be whatever you like, providing it has a .conf extension, and lives in the sites-available directory.
In your original post you listed the files as /etc/apache2/sites-available.s1.conf rather than /etc/apache2/sites-available/s1.conf.
I presume this was a typo, otherwise your a2ensite commands would have failed with a "ERROR: Site xxx does not exist!" message.
Does the "apachectl -S" command show your virtual host configurations correctly, as per my post?
If not, you've a mistake in your configuration setup, else you've a network/routing problem to track down.
If you do need to post (anonymized) configuration details, logs, etc. then use https://apaste.info, and reference the URL in this thread. |
|
Back to top |
|
DomDis
Joined: 21 Apr 2023 Posts: 12 Location: USA
|
Posted: Tue 25 Apr '23 17:37 Post subject: |
|
|
Yes it was a typo. apachectl -S shows correct
Do I have to enable a MOD or change some apache2.conf file to actually turn this on or enable virtual hosts of the listener ?????
Code: | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:80 is a NameVirtualHost
default server s1.mydomain.com (/etc/apache2/sites-enabled/domenic.mydomain.com.conf:18)
port 80 namevhost s1.mydomain.com (/etc/apache2/sites-enabled/domenic.mydomain.com.conf:18)
alias domenic.mydomain.com
port 80 namevhost s2.mydomain.com (/etc/apache2/sites-enabled/leo.mydomain.com.conf:18)
alias leo.mydomain.com
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex mpm-accept: 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 |
|
|
Back to top |
|
DomDis
Joined: 21 Apr 2023 Posts: 12 Location: USA
|
Posted: Tue 25 Apr '23 18:47 Post subject: |
|
|
tangent wrote: |
If not, you've a mistake in your configuration setup, else you've a network/routing problem to track down.
If you do need to post (anonymized) configuration details, logs, etc. then use https://apaste.info, and reference the URL in this thread. |
On the actual apache server I added the site name and the ip of the server so 192.168.1.20 s1.mydomain.com and s2.mydomain.com to the hosts file
If I wget s1.mydomain.com and wget s2.mydomain.com the results are infact the two different subdomains but this does not work once you move off the serer
my router sends port 80 to 192.168.1.20 plus when on the same subnet one ip away the router should not come into play well actually it does do DNS but its showing my default apache page so its gotta be redirecting |
|
Back to top |
|
DomDis
Joined: 21 Apr 2023 Posts: 12 Location: USA
|
Posted: Tue 25 Apr '23 19:39 Post subject: |
|
|
OK so it seems that this is definitely NAT or Router related
I have a old ubuntu destop that I fired up. I added the server ip 192.168.1.20 to that box's hosts files for both s1.mydoamin.com and s2.mydomain.com and it works
Quote: | Sooooo I think this may be a network issue or a router issue
|
Now how do I fix this. DNS is is done on GoDaddy through I use a rinker script to find & update my public ip on GoDaddy with an A record pointing to my public IP. Then I set up forwarders for the subdomain and point them to that domain in the A record |
|
Back to top |
|
tangent Moderator
Joined: 16 Aug 2020 Posts: 348 Location: UK
|
Posted: Tue 25 Apr '23 23:23 Post subject: |
|
|
Based on your original post, you listed disorbo.us, which I assume is your domain root.
If I lookup disorbo.us viz: https://www.whatsmydns.net/dns-lookup?query=disorbo.us&server=cloudflare
I get an A record of 68.227.209.56, with no authority (SOA) listed, and so presume that's your public IP.
There are no AAAA records present, but that does list the SOA as disorbo.us.
Whois confirms this DNS record is managed through GoDaddy.
However, if I lookup s1.disorbo.us https://www.whatsmydns.net/dns-lookup?query=s1.disorbo.us&server=cloudflare
I get two A records at 15.197.143.173 and 3.33.152.147 (no SOA again), whilst a reverse lookup on these two IPs gives me Amazon hosts.
Again there are no AAAA records for s1.disorbo.us, but does list the SoA as disorbo.us
If I query s2.disorbo.us https://www.whatsmydns.net/dns-lookup?query=s2.disorbo.us&server=cloudflare
I get no A or AAAA records, but they both report the SOA as disorbo.us
So for me, assuming you want the various sub-domain entries to point to your public IP, your DNS entries are broken/missing.
Not being an Apache problem per se, am not sure we can help you much further with this one. Good luck! |
|
Back to top |
|
DomDis
Joined: 21 Apr 2023 Posts: 12 Location: USA
|
Posted: Wed 26 Apr '23 0:23 Post subject: |
|
|
Hey I appreciate all the input I have received so far. Yes I have another server that runs a Godaddy DNS script ( GoDaddy.sh v1.0 by Nazar78 @ TeaNazaR.com http://teanazar.com/2016/05/godaddy-ddns-updater/
) I creates an A record with an @ and points it to my dynamic IP then I go and add forwarders with my subdomain names. I was doing a bunch of port forwarding but I really rather do VHOSTS and just use port 80 - Not sure what to do with $$# cuz my other box uses that for a cloud server.
I was dding a forwarder but perhaps I need a CNAME - I don;'t know DNS and I broke something because my other servers are not responding
again thank you |
|
Back to top |
|
DomDis
Joined: 21 Apr 2023 Posts: 12 Location: USA
|
Posted: Wed 26 Apr '23 0:31 Post subject: |
|
|
Hey now adding a CNAME record makes it work so YOU ACTUALLY HAVE BEEN MOST HELPFUL!! T H A N K Y O U ! ! ! |
|
Back to top |
|
DomDis
Joined: 21 Apr 2023 Posts: 12 Location: USA
|
Posted: Sun 30 Apr '23 20:31 Post subject: |
|
|
I just found out this is NOT WORKING form the WAN so if I locally go to mysite.mydomain.com it works but if I call my buddy and say hey checkout my site mysite.mydomain.com it does not work for him |
|
Back to top |
|
tangent Moderator
Joined: 16 Aug 2020 Posts: 348 Location: UK
|
Posted: Sun 30 Apr '23 23:09 Post subject: |
|
|
Checking the above DNS entries, I can see a CNAME for s2.disorbo.us, but not for s1.disorbo.us which still has the two Amazon host A records.
Indeed, from the UK I get a login page at https://s2.disorbo.us, but nothing from https://s1.disorbo.us so guess you need a further CNAME entry. |
|
Back to top |
|
DomDis
Joined: 21 Apr 2023 Posts: 12 Location: USA
|
Posted: Mon 01 May '23 18:14 Post subject: |
|
|
I was using s1 and s2 for testing and I have since removed them but let me put them back because I'm so close to getting this to work - its gotta be DNS - I wonder if there's a standard practice for DNS and VHOSTS |
|
Back to top |
|
DomDis
Joined: 21 Apr 2023 Posts: 12 Location: USA
|
Posted: Sat 20 May '23 1:46 Post subject: I think I figured it out But but now what |
|
|
It seem my ISP blocks inbound port 80
OK so now what (other than getting another service provider)
This may be out of this forum's scope but can I do some DNSing to rout all port 80 to 8080 and still used Apache vhost - I guess I can add 8080 to Apache
or
do the DNS forwarding thing and hope my router can reroute it all to port 80 on the Apache server |
|
Back to top |
|