ISPConfig virtual web pages not working

Discussion in 'Installation/Configuration' started by mike_phi, Apr 21, 2008.

  1. mike_phi

    mike_phi New Member

    Hi there all,

    I just successfully completed a second installation of ISP config and come up with the same problem.

    I performed the perfect installation for fedora core 5.

    everything works perfectly up untill I try to access the url to any of the sites I create.

    e.g.

    www.mytestsite.com

    results in the error

    Firefox can't find the server at www.subscribe04.com

    my setup involves a pc running fedora 5 and a router connected to the net
    here is my Vhosts_ispconfig.conf
    Code:
    ###################################
    #
    # ISPConfig vHost Configuration File
    #         Version 1.0
    #
    ###################################
    #
    NameVirtualHost 192.168.0.183:80
    <VirtualHost 192.168.0.183:80>
      ServerName localhost
      ServerAdmin root@localhost
      DocumentRoot /var/www/sharedip
    </VirtualHost>
    #
    #
    ######################################
    # Vhost: www.subscribe04.com:80
    ######################################
    #
    #
    <VirtualHost 192.168.0.183:80>
    ServerName www.subscribe04.com:80
    ServerAdmin [email protected]
    DocumentRoot /var/www/web20/web
    ServerAlias subscribe04.com
    DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
    ErrorLog /var/www/web20/log/error.log
    AddType application/x-httpd-php .php .php3 .php4 .php5
    <Files *.php>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php3>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php4>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php5>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    php_admin_flag safe_mode Off
    Alias /error/ "/var/www/web20/web/error/"
    ErrorDocument 400 /error/invalidSyntax.html
    ErrorDocument 401 /error/authorizationRequired.html
    ErrorDocument 403 /error/forbidden.html
    ErrorDocument 404 /error/fileNotFound.html
    ErrorDocument 405 /error/methodNotAllowed.html
    ErrorDocument 500 /error/internalServerError.html
    ErrorDocument 503 /error/overloaded.html
    AliasMatch ^/~([^/]+)(/(.*))? /var/www/web20/user/$1/web/$3
    AliasMatch ^/users/([^/]+)(/(.*))? /var/www/web20/user/$1/web/$3
    </VirtualHost>
    #
    #
    #
    ######################################
    # Vhost: www.subscribe.com:80
    ######################################
    #
    #
    <VirtualHost 192.168.0.183:80>
    ServerName www.subscribe.com:80
    ServerAdmin [email protected]
    DocumentRoot /var/www/web19/web
    ServerAlias subscribe.com
    DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
    ErrorLog /var/www/web19/log/error.log
    AddType application/x-httpd-php .php .php3 .php4 .php5
    <Files *.php>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php3>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php4>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php5>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    php_admin_flag safe_mode Off
    Alias /error/ "/var/www/web19/web/error/"
    ErrorDocument 400 /error/invalidSyntax.html
    ErrorDocument 401 /error/authorizationRequired.html
    ErrorDocument 403 /error/forbidden.html
    ErrorDocument 404 /error/fileNotFound.html
    ErrorDocument 405 /error/methodNotAllowed.html
    ErrorDocument 500 /error/internalServerError.html
    ErrorDocument 503 /error/overloaded.html
    AliasMatch ^/~([^/]+)(/(.*))? /var/www/web19/user/$1/web/$3
    AliasMatch ^/users/([^/]+)(/(.*))? /var/www/web19/user/$1/web/$3
    </VirtualHost>
    #
    #
    #
    ######################################
    # Vhost: www.slash.bot:80
    ######################################
    #
    #
    <VirtualHost 192.168.0.183:80>
    ServerName www.slash.bot:80
    ServerAdmin [email protected]
    DocumentRoot /var/www/web17/web
    ServerAlias 127.0.0.1.www.slash.bot
    DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
    ErrorLog /var/www/web17/log/error.log
    AddType application/x-httpd-php .php .php3 .php4 .php5
    <Files *.php>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php3>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php4>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php5>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    php_admin_flag safe_mode On
    php_admin_value open_basedir /var/www/web17/
    php_admin_value file_uploads 1
    php_admin_value upload_tmp_dir /var/www/web17/phptmp/
    php_admin_value session.save_path /var/www/web17/phptmp/
    Alias /error/ "/var/www/web17/web/error/"
    ErrorDocument 400 /error/invalidSyntax.html
    ErrorDocument 401 /error/authorizationRequired.html
    ErrorDocument 403 /error/forbidden.html
    ErrorDocument 404 /error/fileNotFound.html
    ErrorDocument 405 /error/methodNotAllowed.html
    ErrorDocument 500 /error/internalServerError.html
    ErrorDocument 503 /error/overloaded.html
    AliasMatch ^/~([^/]+)(/(.*))? /var/www/web17/user/$1/web/$3
    AliasMatch ^/users/([^/]+)(/(.*))? /var/www/web17/user/$1/web/$3
    </VirtualHost>
    #
    #
    #
    ######################################
    # Vhost: www.micShool.com:80
    ######################################
    #
    #
    <VirtualHost 192.168.0.183:80>
    ServerName www.micShool.com:80
    ServerAdmin [email protected]
    DocumentRoot /var/www/web14/web
    ServerAlias micShool.com
    DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
    Alias  /cgi-bin/ /var/www/web14/cgi-bin/
    AddHandler cgi-script .cgi
    AddHandler cgi-script .pl
    ErrorLog /var/www/web14/log/error.log
    AddType application/x-httpd-php .php .php3 .php4 .php5
    <Files *.php>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php3>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php4>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php5>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    php_admin_flag safe_mode On
    php_admin_value open_basedir /var/www/web14/
    php_admin_value file_uploads 1
    php_admin_value upload_tmp_dir /var/www/web14/phptmp/
    php_admin_value session.save_path /var/www/web14/phptmp/
    Alias /error/ "/var/www/web14/web/error/"
    ErrorDocument 400 /error/invalidSyntax.html
    ErrorDocument 401 /error/authorizationRequired.html
    ErrorDocument 403 /error/forbidden.html
    ErrorDocument 404 /error/fileNotFound.html
    ErrorDocument 405 /error/methodNotAllowed.html
    ErrorDocument 500 /error/internalServerError.html
    ErrorDocument 503 /error/overloaded.html
    AliasMatch ^/~([^/]+)(/(.*))? /var/www/web14/user/$1/web/$3
    AliasMatch ^/users/([^/]+)(/(.*))? /var/www/web14/user/$1/web/$3
    </VirtualHost>
    #
    #
    #
    ######################################
    # Vhost: www.anneWork.com:80
    ######################################
    #
    #
    <VirtualHost 192.168.0.183:80>
    ServerName www.anneWork.com:80
    ServerAdmin [email protected]
    DocumentRoot /var/www/web12/web
    DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
    ErrorLog /var/www/web12/log/error.log
    AddType application/x-httpd-php .php .php3 .php4 .php5
    <Files *.php>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php3>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php4>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php5>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    php_admin_flag safe_mode On
    php_admin_value open_basedir /var/www/web12/
    php_admin_value file_uploads 1
    php_admin_value upload_tmp_dir /var/www/web12/phptmp/
    php_admin_value session.save_path /var/www/web12/phptmp/
    Alias /error/ "/var/www/web12/web/error/"
    ErrorDocument 400 /error/invalidSyntax.html
    ErrorDocument 401 /error/authorizationRequired.html
    ErrorDocument 403 /error/forbidden.html
    ErrorDocument 404 /error/fileNotFound.html
    ErrorDocument 405 /error/methodNotAllowed.html
    ErrorDocument 500 /error/internalServerError.html
    ErrorDocument 503 /error/overloaded.html
    AliasMatch ^/~([^/]+)(/(.*))? /var/www/web12/user/$1/web/$3
    AliasMatch ^/users/([^/]+)(/(.*))? /var/www/web12/user/$1/web/$3
    </VirtualHost>
    #
    #
    #
    ######################################
    # Vhost: www.anneschool.com:80
    ######################################
    #
    #
    <VirtualHost 192.168.0.183:80>
    ServerName www.anneschool.com:80
    ServerAdmin [email protected]
    DocumentRoot /var/www/web13/web
    DirectoryIndex index.html index.htm index.php index.php5 index.php4 index.php3 index.shtml index.cgi index.pl index.jsp Default.htm default.htm
    ErrorLog /var/www/web13/log/error.log
    AddType application/x-httpd-php .php .php3 .php4 .php5
    <Files *.php>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php3>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php4>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    <Files *.php5>
        SetOutputFilter PHP
        SetInputFilter PHP
    </Files>
    php_admin_flag safe_mode On
    php_admin_value open_basedir /var/www/web13/
    php_admin_value file_uploads 1
    php_admin_value upload_tmp_dir /var/www/web13/phptmp/
    php_admin_value session.save_path /var/www/web13/phptmp/
    Alias /error/ "/var/www/web13/web/error/"
    ErrorDocument 400 /error/invalidSyntax.html
    ErrorDocument 401 /error/authorizationRequired.html
    ErrorDocument 403 /error/forbidden.html
    ErrorDocument 404 /error/fileNotFound.html
    ErrorDocument 405 /error/methodNotAllowed.html
    ErrorDocumen
    #
    # To enable a cache of proxied content, uncomment the following lines.
    # See http://httpd.apache.org/docs/2.2/mod/mod_cache.html for more details.
    #
    #<IfModule mod_disk_cache.c>
    #   CacheEnable disk /
    #   CacheRoot "/var/cache/mod_proxy"
    #</IfModule>
    #
    
    #</IfModule>
    # End of proxy directives.
    
    ### Section 3: Virtual Hosts
    #
    # VirtualHost: If you want to maintain multiple domains/hostnames on your
    # machine you can setup VirtualHost containers for them. Most configurations
    # use only name-based virtual hosts so the server doesn't need to worry about
    # IP addresses. This is indicated by the asterisks in the directives below.
    #
    # Please see the documentation at 
    # <URL:http://httpd.apache.org/docs/2.2/vhosts/>
    # for further details before you try to setup virtual hosts.
    #
    # You may use the command line option '-S' to verify your virtual host
    # configuration.
    
    #
    # Use name-based virtual hosting.
    #
    #NameVirtualHost *:80
    #
    # NOTE: NameVirtualHost cannot be used without a port specifier 
    # (e.g. :80) if mod_ssl is being used, due to the nature of the
    # SSL protocol.
    #
    
    #
    # VirtualHost example:
    # Almost any Apache directive may go into a VirtualHost container.
    # The first VirtualHost section is used for requests without a known
    # server name.
    #
    #<VirtualHost *:80>
    #    ServerAdmin [email protected]
    #    DocumentRoot /www/docs/dummy-host.example.com
    #    ServerName dummy-host.example.com
    #    ErrorLog logs/dummy-host.example.com-error_log
    #    CustomLog logs/dummy-host.example.com-access_log common
    #</VirtualHost>
    
    <Directory /var/www/sharedip>
        Options +Includes -Indexes
        AllowOverride None
        AllowOverride Indexes AuthConfig Limit FileInfo
        Order allow,deny
        Allow from all
        <Files ~ "^\.ht">
        Deny from all
        </Files>
    </Directory>
    
    ###############ispconfig_log###############
    LogFormat "%v||||%b||||%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined_ispconfig
    CustomLog "|/root/ispconfig/cronolog --symlink=/var/log/httpd/ispconfig_access_log /var/log/httpd/ispconfig_access_log_%Y_%m_%d" combined_ispconfig
    
    <Directory /var/www/*/web>
        Options +Includes -Indexes
        AllowOverride None
        AllowOverride Indexes AuthConfig Limit FileInfo
        Order allow,deny
        Allow from all
        <Files ~ "^\.ht">
        Deny from all
        </Files>
    </Directory>
    
    <Directory /var/www/*/user/*/web>
        Options +Includes -Indexes
        AllowOverride None
        AllowOverride Indexes AuthConfig Limit FileInfo
        Order allow,deny
        Allow from all
        <Files ~ "^\.ht">
        Deny from all
        </Files>
    </Directory>
    
    <Directory /var/www/*/cgi-bin>
        Options ExecCGI -Indexes
        AllowOverride None
        AllowOverride Indexes AuthConfig Limit FileInfo
        Order allow,deny
        Allow from all
        <Files ~ "^\.ht">
        Deny from all
        </Files>
    </Directory>
    
    Include /etc/httpd/conf/vhosts/Vhosts_ispconfig.conf
    
    here is the output of netstat -tap
    Code:
    netstat -tap
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
    tcp        0      0 *:52899                     *:*                         LISTEN      1799/rpc.statd
    tcp        0      0 *:mysql                     *:*                         LISTEN      2174/mysqld
    tcp        0      0 *:sunrpc                    *:*                         LISTEN      1780/portmap
    tcp        0      0 localhost.localdomain:50000 *:*                         LISTEN      2013/hpiod
    tcp        0      0 *:hosts2-ns                 *:*                         LISTEN      2614/ispconfig_http
    tcp        0      0 localhost.localdomain:50002 *:*                         LISTEN      2018/python
    tcp        0      0 192.168.0.183:domain        *:*                         LISTEN      2750/named
    tcp        0      0 localhost.localdomai:domain *:*                         LISTEN      2750/named
    tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN      5471/cupsd
    tcp        0      0 *:smtp                      *:*                         LISTEN      4592/master
    tcp        0      0 localhost.localdomain:rndc  *:*                         LISTEN      2750/named
    tcp        0      0 localhost.localdomain:50000 localhost.localdomain:58946 ESTABLISHED 2013/hpiod
    tcp        0      0 localhost.localdomain:58946 localhost.localdomain:50000 ESTABLISHED 2018/python
    tcp        0      0 *:imaps                     *:*                         LISTEN      2207/dovecot
    tcp        0      0 *:pop3s                     *:*                         LISTEN      2207/dovecot
    tcp        0      0 *:pop3                      *:*                         LISTEN      2207/dovecot
    tcp        0      0 *:imap                      *:*                         LISTEN      2207/dovecot
    tcp        0      0 *:http                      *:*                         LISTEN      4910/httpd
    tcp        0      0 *:ftp                       *:*                         LISTEN      4487/proftpd: (acce
    tcp        0      0 *:ssh                       *:*                         LISTEN      2065/sshd
    tcp        0      0 localhost.localhost:rndc    *:*                         LISTEN      2750/named
    tcp        0      0 *:https                     *:*                         LISTEN      4910/httpd
    here is the output of ifconfig
    Code:
    ifconfig
    eth1      Link encap:Ethernet  HWaddr 00:60:1D:F2:85:D7
              inet addr:192.168.0.183  Bcast:192.168.0.255  Mask:255.255.255.0
              inet6 addr: fe80::260:1dff:fef2:85d7/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:4742 errors:0 dropped:0 overruns:0 frame:0
              TX packets:5077 errors:29 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:2709449 (2.5 MiB)  TX bytes:1111220 (1.0 MiB)
              Interrupt:3 Base address:0x100
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:3450 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3450 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:3838786 (3.6 MiB)  TX bytes:3838786 (3.6 MiB)
     
  2. grandpagenocide

    grandpagenocide New Member

    Double check your router, make sure you have your server IP set to dmz or have the ports forwarded properly. I cant ping your subscribe04.com so I am assuming your router is blocking it.
     
  3. mike_phi

    mike_phi New Member

    router port forwarding and DMZ

    mmmm about the router I think you might be on to something as I have made two seperate installations on two sepeate servers and resulted in identical behaviour of sites not working

    first of all about port forwarding

    are you implying I should set up my main IP at the wall to be forwarded to 192.168.0.183 (i.e. the IP my virtual hosts are runnng on as well as my ISpconfig server Ip)

    [main IP]--------->[192.168.0.183]

    could you explain the other option you mentioned DMZ not sure I follow (not familiar with DMZ or the terminology used).

    I dont have the server running at the momment as it is pointless as the sites dont work, I could set it up to run and let you know so you can have a look around.

    before we do that I will take a look at my router setting.

    Question 1 what url should I enter in the browser to view my newly added sites, please give an example based on the config info in my initial post.

    Question 2 do I have to be running on a seperate machine to enter this url, (i.e. can I enter this url on the actual server for testing or do I have to be an actual client mechin running externally)

    Question 3 do you have any troubleshing tips to test this setup from an apache point of view any utilities mayby part of the fedora core 5 distro I can use to trouble shoot this situation.



    cheers
     
    Last edited: Apr 21, 2008
  4. grandpagenocide

    grandpagenocide New Member

    dmz = demilitarlied zone, meaning your router firewall lets everything through to that IP, you have your ISPconfig firewall so that should be fine. Also Make sure you shut down your firewall on Fedora.
    To view your newly added sites enter the url of the newly added site. If you are trying to get to the control panel http://subscribe04.com:81 for example.
    you can do it on the local machine or different machine. But you should have someone outside of your local network try to get to the site as well, as I think its your firewall blocking outside connections.
    troubleshooting tips, try using your outside IP and see if you get the apache test page.

    make sure port 80 and port 81 minimally are forwarded to your local IP 192.168.0.183
     
  5. mike_phi

    mike_phi New Member

    This implies I am hosting the domain

    I dont understand how this would work without me having http://subscribe04.com registered as a domain and pointing the domain name to my servers ip address.

    I enabled dmz and now when I enter the external ip address the " This IP address is shared" page comes up but when I try to enter subscribe04.com or www.subscribe04.com then I get "can't find the server at www.subscribe04.com."

    I am guesing if I had subscribe04.com registered as a domain with some domain registration service and pointed it to my servers external ip address then the virtual host would kick in and rout the external call to my virtual host www.subscribe04.com.

    other than that I cant see how it would work as the sides I create on my Ispconfig server will not be resolved on the web by an external browser.

    if thats the case how can I access the sites I create without having them as registered domains.

    cheers mic
     
  6. mike_phi

    mike_phi New Member

    Clarify my previous post

    The site www.subscribe04.com I am creating is purely a fictasious site there is no domain registered its just a test site I created in ISPConfig.

    symptoms of my problem of virtual hosts not workin has led me to believ that the reason being

    (a) I cant just type my non registered site url www.subscribe04.com in a browser and expect it to resolve.

    (b) I would need to ensure that the http headers I send to my server have the HOSTS header set to my desired site i.e. www.subscribe04.com .

    correct me if I am wrong :

    Code:
    <VirtualHost 192.168.0.183:80>
    ServerName www.subscribe04.com:80
    ServerAdmin [email protected]
    DocumentRoot /var/www/web20/web
    
    the VirtualHost 192.168.0.183 part is fins hence in the case I enter the ip
    192.168.0.183 I get the "This IP is shared" page, however it probably does not work because i am using none registered domains and not passin the host in my http header.

    two questions-

    (1) for test purposes where I just want to use dummy domains created in ISPCONFIG how can I simulate a case where the HTTP_HOST header will be set so that my virtual host setting can work.

    (2) In cases where I have clients who dont have ip address how can they access their web sites, here I am suspecting some sort of subdomaining

    eg <myServername>.<clintsSiteName> or something similar

    I am starting to think that appache is trying to map the virtual hosts but does not have a valid host name in the http header

    would a edit to the /etc/hosts file simulate a host name which I can use for test purposes

    e.g. 192.168.0.183:80 www.subscribe04.com
     
  7. till

    till Super Moderator Staff Member ISPConfig Developer

    The shared IP page just means that you selected the wrong IP in the website settings, it is displayed in the case that domain + IP combination in the apache configuration matches. If you are behind a router, make sure you use the internal IP and not the external IP address.

    If the domains do not exist in DNS yet, add them to the hosts file of the client computer.
     
  8. mike_phi

    mike_phi New Member

    domain names in DNS

    Hi there, ya I am using the internal IP address in my case the reason the Shared IP page comes up is when I enter the ip address as a url, this is the correct responce according to the academics of the apache virtual hosts, as by entering the ip address then the servername apache matches aginst is the ip and as a result the shared IP page is displayed.

    When you mention domains in DNS you are implying the doamin being registered, this is exactly what my question is,

    The question, what should I use for a url to resilve my newly created site which is not a registered domain name.

    how I got it working is by entering my internal IP address and my newly created doamin in the /etc/hosts file

    and the academics behind why ths works is due to the virtual host i.e. apache matces the incomming ip then mathes that against the servername and it works fine.

    but this ant be seen as a solution as one would have to manually edit the /etc/hosts file for every site.

    I think the root of the problem is to ensure that the http_hots header has the host name whic is only posible from a DNS which implies a registered domain.

    there must be somthing (ie. some filter) I can set in the http conf whereby I will relsove the selected virtual host based on a subdomaning where the created site does not be a registered IP addres and I can access newly created sites as follows

    if domain not registered then use url

    <ispconfig server domain>/<newly created domain>

    if domain is registered then use url

    <newly created domain>


    cheers Mic
     
  9. falko

    falko Super Moderator Howtoforge Staff

    If you don't want to register a domain, you can either modify the hosts file on your client PC for every domain, or you set up an internal DNS server that your client PC uses to look up domains.
     

Share This Page