Ubuntu 10.04 and ISPConfig 3.0.2.2

Discussion in 'Installation/Configuration' started by Batmanatthenewb, Jul 28, 2010.

  1. Batmanatthenewb

    Batmanatthenewb New Member

    Hello all !

    Have been looking around in here for the last couple of years, but this is my first post.

    First, I have one static IP address from my internet provider. My Domain Names are registered thru Federal Domain. They have "Complete DNS Control" built into my package so I can change "A" records, Name Servers, etc.... I want to run three websites on my server (my business website, a personal website, and my sons hockey team website).

    Had been running my website on Ubuntu 8.04 LTS with Apache. Had originally installed ISPConfig 2 on the server a year ago, but couldn't get it to work. So I removed it and everything has been fine since.

    Well, now I need to host a couple of extra websites to the server, so time to upgrade and try ISPConfig again.

    Reloaded the webserver to Ubuntu 10.04 and ISPCpnfig 3.0.2.2. Used the "Perfect Ubuntu Server" guide. ISPConfig is working. Have created users. and two of the three websites. Have already been able to use FTP and uploaded pages to each of the websites.

    Now I am stuck on the DNS issues. When I use either my IP address, or Domain Name I get the "It works!" page. Where I am stuck is how do I get each seperate Domain Name to point to a specific website. Seems that the IP Address is pointing to a catchall type page.

    Could someone please point me in the direction of some specific step by step instructions on what should be where. and what needs done to get the world to see my websites. I am at a loss at this point and don't want to uninstall ISPConfig3.

    Thank you in advance for your help,
    Sam
     
  2. falko

    falko Super Moderator Howtoforge Staff

    Can you check if your domains/hostnames are pointing to your server's public IP? You can do it as follows:
    Code:
    dig yourdomain.com
    dig www.yourdomain.com
     
  3. Batmanatthenewb

    Batmanatthenewb New Member

    Falko,

    In the Answer section it shows the "A" record as going to the "A" record at my domain registrar (Federal Domain) not to my external static IP.

    FYI.... I have TWC Business Class coming in with a static IP. All Port 80 traffic is forwarded to a Netgear Router. That Router forwards Port 80 to a Linksys WRT54G router. That Router forwards to the webserver with an internal address of 192.168.1.41. System was working fine for external access with just one website before I reloaded and upgraded to Ubuntu 10.04.

    When I hit my website from domain name I get the generic "It Works" page. The problem is it does not transfer into the correct web (ie. client1/web1) folder where the website content is located. I also have a folder for the second website setup by ISPConfig as client2/web1. How does ISPConfig differentiate whether to send port 80 requests to client1/web1 or to client2/web1. Do I need different internal addresses? With my previous online webhosting I could just sent to www.DomainName.com/WebpageName.html and it would work. This is the piece of the puzzle that is missing for me. What controls where the request goes to?

    Thanks,
    Sam
     
  4. falko

    falko Super Moderator Howtoforge Staff

    What does that mean? :confused:
     
  5. Batmanatthenewb

    Batmanatthenewb New Member

    Falko,

    When I run dig www.effininsurance.com (My domain name) from my web server I receive the following:

    ;; ANSWER SECTION;
    www.effininsurance.com. 3600 IN CNAME effinsurance.com.
    effininsurance.com. 3600 IN A 68.178.232.99

    the IP 68.178.232.99 is what shows up on my domain registrars website under the "Total DNS Contral". This is not my external IP Address. My external address is 24.106.106.99.

    I found your post http://www.howtoforge.com/ispconfig_dns_providerdomain_schlund and followed the instructions. I chose this because the GoDaddy tutorial required two systems loaded with ISPConfig and two DNS names. As per the instructions I created ns1.effininsurance.com and set that as my primary DNS.

    When I access my website by IP Address (24.106.106.99) I come into a page that says "It Works". Both of my websites (client1/web1 and client2/web1) have had the index page replaced with actual pages for those sites and the rest of their content. So apparently the IP Address is taking me to some other location on my server. If you use the domain name you go to the Federal Domain "Website Parked" page.

    So it looks like there are two problems to figure out:

    1) Why is the domain name not using the name server ns1.effininsurance.com and/or the IP Address of 24.106.106.99 instead of the one assigned by Federal Domain (68.178.232.99)? As this was just done yesterday afternoon I am willing to wait and see if the registration completes itself. Your instructions say that this can take 24 to 48 hours for the new name server to be found.

    2) Why is my IP Address pointing to a generic page on my server? Where is this page located?

    Your help is appreciated.
    Sam
     
  6. veuster

    veuster New Member

    just sharing

    I have recently installed ISPConfig 3 too, just want to share, maybe you can use it. I use CentOS 5.5, but for DNS I think it's almost the same.

    From your post, looks like you're sure that the user and website is created correctly. As far as I know, this means for client1 the website is in /var/www/client1/web1/web/ and for client2 in /var/www/client2/web1/web/. Just want to be sure we're talking the same setting.

    Also check in ISPConfig control panel, go to tab Monitor and Show Jobqueue.
    If there's some job that hasn't been completed for a while (maybe more that one hour or one day), then maybe there's some error in your previous setting. Check the log.
    I say this because I notice that when there is some job that failed or hang, all the job after that will not be executed until restart.

    If that's ok then I'll continue about DNS setting.

    If you use the perfect server guide, I assume you use chrooted Bind for DNS. In the tab System->Server Config->DNS, there are path for files that needs to be changed.

    BIND zonefiles directory points to default /var/named, change to /var/named/chroot/var/named

    BIND named.conf path points to /etc/named.conf and /etc/named.conf.local, change to /var/named/chroot/etc/named.conf and /var/named/chroot/etc/named.conf.local

    If you have complete DNS control for your domain, actually you can use their name server to input your server ip.

    But if you want to use your own name server, that's ok.
    Make sure you assign your nameserver to your domain (using what everyone say a "glue record")

    Last but not least, don't forget to change the named.conf according to your setting.
    Especially, in line :

    listen-on port 53 { 127.0.0.1;};

    allow-query { localhost; };

    localhost and 127.0.0.1 needs to be changed or added with the ip or ip range that is allowed to query your server (this means which address can access your name server).
    I don't know your setting because it seems you're on LAN. I use VPS so I changed the localhost and 127.0.0.1 to { any; }; which means that all address can access it.

    The last setting makes me wait for a week with no result. Until I stumble upon some article in this forum.

    That's all. Hope that helps.
     
  7. Batmanatthenewb

    Batmanatthenewb New Member

    vuester,

    Thank you for the response. I am using ISPConfig 3.0.2.2 on Ubuntu 10.04. Please see responses below.

    From your post, looks like you're sure that the user and website is created correctly. As far as I know, this means for client1 the website is in /var/www/client1/web1/web/ and for client2 in /var/www/client2/web1/web/. Just want to be sure we're talking the same setting.

    ANSWER: you are correct

    One thing that is interesting is that I used nslookup effininsurance.com,
    The results show:
    Server: 192.168.0.1
    Address: 192.168.0.1*53

    Non-authoritative answer:
    Name: effininsurance.com
    Address: 68.178.232.99

    What I found is:
    192.168.0.1 is the internal address of one of my routers.
    192.168.1.41 is the internal address for my webserver.
    68.178.232.99 is the address of one of the Federal Domain name servers


    Also check in ISPConfig control panel, go to tab Monitor and Show Jobqueue.
    If there's some job that hasn't been completed for a while (maybe more that one hour or one day), then maybe there's some error in your previous setting. Check the log.
    I say this because I notice that when there is some job that failed or hang, all the job after that will not be executed until restart.



    ANSWER: Nothing in the jobqueue. No updates needed

    Server: webserver1.effininsurance.com
    State: ok
    0 unknown | 0 info | 0 warning | 0 critical | 0 error



    If that's ok then I'll continue about DNS setting.

    If you use the perfect server guide, I assume you use chrooted Bind for DNS. In the tab System->Server Config->DNS, there are path for files that needs to be changed.

    BIND zonefiles directory points to default /var/named, change to /var/named/chroot/var/named


    ANSWER: This is what show in my DNS settings:
    BIND User root
    BIND Group bind
    BIND zonefiles directory /etc/bind
    BIND named.conf path /etc/bind/named.conf
    /etc/bind/named.conf.local

    What should it be changed to?


    BIND named.conf path points to /etc/named.conf and /etc/named.conf.local, change to /var/named/chroot/etc/named.conf and /var/named/chroot/etc/named.conf.local

    ANSWER: Used vi to read the file /etc/named.conf There is no file. There is information in /etc/bind/named.conf. It is:

    include "/etc/bind/named.conf.options";
    include "/etc/bind/named.conf.local";
    include "/etc/bind/named.conf.default-zones";


    If you have complete DNS control for your domain, actually you can use their name server to input your server ip.


    ANSWER: Using their name server is fine. I just need to get my websites back up. I Really don't care as long as it works.


    But if you want to use your own name server, that's ok.
    Make sure you assign your nameserver to your domain (using what everyone say a "glue record")


    ANSWER: I created ns1.effininsurance.com on their website a couple days ago. It is listed as the primary name server. I used one of their name servers as a secondary, according to what the guide told me. Received a confirmation email saying it had been registered.

    In my account on my Domain Registrars website ns1.effininsurance.com points to 24.106.106.99

    My server is named webserver1.effininsurance.com

    Network Configuration
    IP Address 192.168.1.41
    Netmask 255.255.255.0
    Gateway 192.168.0.1
    Hostname webserver1.effininsurance.com
    Nameservers 192.168.0.1,192.168.0.2
    Loglevel errors

    I do have the "Jailkit" installed as per the guide.


    Last but not least, don't forget to change the named.conf according to your setting.
    Especially, in line :

    listen-on port 53 { 127.0.0.1;};

    allow-query { localhost; };

    localhost and 127.0.0.1 needs to be changed or added with the ip or ip range that is allowed to query your server (this means which address can access your name server).
    I don't know your setting because it seems you're on LAN. I use VPS so I changed the localhost and 127.0.0.1 to { any; }; which means that all address can access it.


    ANSWER: named.conf has no line that says anything about "Listen" or "allow-query" It only has:

    include "/etc/bind/named.conf.options";
    include "/etc/bind/named.conf.local";
    include "/etc/bind/named.conf.default-zones";


    The last setting makes me wait for a week with no result. Until I stumble upon some article in this forum.

    That's all. Hope that helps.



    Thank you for your help. Hopefully I can get this running shortly. My business website has been down for almost a week. Yes, you can laugh about Effin Insurance. But, everyone remembers the name.
     
  8. Batmanatthenewb

    Batmanatthenewb New Member

    OK, now I have it so that:

    Using http://24.106.106.99 hits a page that says "It Works!". It still does not go to /var/www/clients/client1/web1/web This is where the actual website is located

    Using www.effininsurance.com I come to a page on my server that is titled "403 Forbidden" and the page says:

    Forbidden

    You don't have permission to access / on this server.

    Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
    Apache/2.2.14 (Ubuntu) Server at www.effininsurance.com Port 80

    This started working after I went to Federal Domain and changed everything back to their name servers and changed the "A" record to point to my IP of 24.106.106.99.

    Any ideas where to go now?

    Sam
     
  9. Batmanatthenewb

    Batmanatthenewb New Member

    I am still unclear on the whole routing issue. Could someone please explain how ISPConfig knows which website to route a request to. In my case:

    I currently have two websites set up on me webserver and corresponding domain names. (FYI...I have not done any configuration on the taylor-motorsports website at my domain registrar. I wanted to get the first site up and running before I started on the second)

    A person wanting to see my website will type either www.effininsurance.com or www.taylor-motorsports.com

    Federal Domain will see this request, will look up the "A" record and will send to my external IP address (24.106.106.99)

    My router will forward to my webserver 192.168.1.41

    This is where I am lost. How does ISPConfig know to transfer the request for effininsurance.com to /var/www/client1/web1/web/ and to transfer requests for taylor-motorsports.com to /var/www/client2/web1/web/

    Sam
     
  10. till

    till Super Moderator Staff Member ISPConfig Developer

    The routing is done by apache and not ispconfig. ISPConfig just writes the apache configuration file and does not route any incoming requests.

    If there is a incoming http request, the webbrowser is sending a request header to apache which conatins the domain name of the requested website, apache then "looks" into ist config files until it finds a website were the website domain or a aias matches the domain name and IP address and then delivers the content from this website back to the webbrowser.
     
  11. falko

    falko Super Moderator Howtoforge Staff

    That's the problem. The records must point directly to your external IP and not via a forward.

    Code:
    mh1:~# dig ns effininsurance.com
    
    ; <<>> DiG 9.3.4 <<>> ns effininsurance.com
    ;; global options:  printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51434
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;effininsurance.com.            IN      NS
    
    ;; ANSWER SECTION:
    [B][COLOR="Red"]effininsurance.com.     3600    IN      NS      ns03.domaincontrol.com.
    effininsurance.com.     3600    IN      NS      ns04.domaincontrol.com.[/COLOR][/B]
    
    ;; Query time: 409 msec
    ;; SERVER: 213.133.98.98#53(213.133.98.98)
    ;; WHEN: Fri Jul 30 19:57:48 2010
    ;; MSG SIZE  rcvd: 88
    
    mh1:~#
    Also, your ISPConfig server(s) are not authoritative for the domain. The authoritative nameservers are ns03 and ns04.domaincontrol.com.
     
  12. veuster

    veuster New Member

    to be continued

    Don't need to change anything. I check the guide you used and it doesn't use chrooted BIND. So, it's fine, don't change anything here.

    Check in named.conf.options or named.conf.default-zones, the line should be there somewhere. Maybe this is the problem, because you said Forbidden error, that is maybe because the access is limited for your nameserver.

    Is the router already set up to forward all request at port 80 (http) to your local server? I don't know exactly how to do this, but I think you already did this. Because you also use it as nameserver, maybe port 53 must be forwarded also (don't know for sure, needs a confirmation if anyone know this)

    There are 2 way to set your DNS :
    1. From your domain provider :
    You will set your A Record, NS, MX etc from your domain provider. In ISPConfig you only need to create client and site, don't need DNS. If you change the A Record to your IP then that means you're using this method
    2. From your ISPConfig 3 server :
    This is what you use if you follow the Own Nameserver guide. In your domain provider, actually what you need to set up is only NS record (stands for Name Server record). And then you create A Record, NS, MX etc from ISPConfig server.

    If you already follow the guide for number 2 and it still didn't work, can you tell me what did you create in DNS section of ISPConfig 3 server?
     
  13. Batmanatthenewb

    Batmanatthenewb New Member

    Thank you Falko and veuster.

    I got it figured out and working on Friday night. Got rid of the set up that was trying to create and use my own name servers. I switched the name servers back to those of Federal Domain, switched the "A" record to point to my IP Address and everything works fine.

    Now that I have two sites up and running, the addition of any others will be easy to set up. Just mirror what I have with the new domains.

    The integration between the webserver, ftp server, and email server in ISPConfig is great.

    Thank you for your help
    Sam
     

Share This Page