HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/forums/index.php)
-   Installation/Configuration (http://www.howtoforge.com/forums/forumdisplay.php?f=16)
-   -   ISPConfig virtual web pages not working (http://www.howtoforge.com/forums/showthread.php?t=22552)

mike_phi 21st April 2008 02:01

ISPConfig virtual web pages not working
 
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 webmaster@subscribe04.com
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 webmaster@subscribe.com
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 webmaster@slash.bot
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 webmaster@micShool.com
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 webmaster@anneWork.com
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 webmaster@anneschool.com
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 webmaster@dummy-host.example.com
#    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)


grandpagenocide 21st April 2008 02:41

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.

mike_phi 21st April 2008 22:30

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

grandpagenocide 22nd April 2008 14:15

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

mike_phi 4th May 2008 19:27

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

mike_phi 4th May 2008 23:50

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 webmaster@subscribe04.com
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

till 5th May 2008 00:09

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.

mike_phi 6th May 2008 08:46

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

falko 7th May 2008 16:51

Quote:

Originally Posted by mike_phi
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.

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.


All times are GMT +2. The time now is 09:36.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.