PDA

View Full Version : ISPConfig virtual web pages not working


mike_phi
21st April 2008, 03:01
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
###################################
#
# 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
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
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, 03: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, 23:30
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, 15: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, 20:27
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
5th May 2008, 00:50
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 :

<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, 01: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, 09:46
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, 17:51
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.