Discussion: Virtual Hosts - Help?
Afficher un message
Vieux 18/10/2006, 16h11   #3
Yamaska
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Virtual Hosts - ?

tonyd wrote:
> Update:
> http://www.debian-administration.org/articles/412 is quite informative.
> In fact I now have my virtual hosts up and running. Seems you need to
> have "separate" virtual host files with Debian Sarge. The Apache 2.0
> docs direct you to configuring with one file.
>
> Open to your comments...
>
> Thanks
> tonyd
>
> tonyd wrote:
>> Hi All,
>>
>> I'm trying to set up virtual hosts and must admit, I'm not getting it.
>> I have two domains which resolve to my DSL ip address/static. I also
>> have the mx records of these domains pointing to my DSL ip address with
>> a mail server running on a different internal ip address/server. Mail
>> working.
>>
>> Somehow, obviously I'm not getting my hosts, httpd.conf, and or
>> sites-available/default files configured properly. At this point they
>> are messy. I've at one point had not ip address resolving domain names
>> in the host file. A number of different ways of including/excluding
>> domains from the httpd.conf file and sites-available/default file (what
>> is this by the way? It was set up by default, upon the apache install).
>>
>> I've looked over the apache 2.0 manual on virtual hosts setting up for
>> multiple domains to a single IP address. I see nothing, however, on
>> this sites-available/default file.
>>
>> I continue to get an error message when starting apache: [warn]
>> NameVirtualHost *:0 has no VirtualHosts. Or some variant.
>>
>> Or this in addition for example:
>> Address already in use: make_sock: could not bind to address 0.0.0.0:80
>>
>> Any or clarification would be greatly appreciated!! Thank you.
>>
>> tonyd
>>
>> Supporting Files----
>>
>> The apache startup script calls the sites-available/default file:
>> #!/bin/sh -e
>> #
>> # apache2 This init.d script is used to start apache2.
>> # It basically just calls apache2ctl.
>>
>> ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin"
>>
>> #[ `ls -1 /etc/apache2/sites-enabled/ | wc -l | sed -e 's/ *//;'` -eq 0
>> ] && \
>> #echo "You haven't enabled any sites yet, so I'm not starting apache2."
>> && \
>> #echo "To add and enable a host, use addhost and enhost." && exit 0
>>
>> #edit /etc/default/apache2 to change this.
>> NO_START=0
>>
>> set -e
>> if [ -x /usr/sbin/apache2 ] ; then
>> HAVE_APACHE2=1
>> else
>> exit 0
>> fi
>>
>> test -f /etc/default/rcS && . /etc/default/rcS
>> test -f /etc/default/apache2 && . /etc/default/apache2
>> if [ "$NO_START" != "0" -a "$1" != "stop" ]; then
>> [ "$VERBOSE" != no ] && echo "Not starting apache2 - edit
>> /etc/default/apache2 and change NO_START to be 0.";
>> exit 0;
>> fi
>>
>> APACHE2="$ENV /usr/sbin/apache2"
>> APACHE2CTL="$ENV /usr/sbin/apache2ctl"
>>
>> apache_stop() {
>> PID=""
>> PIDFILE=""
>> # let's try to find the pid file
>> # apache2 allows more than PidFile entry in the config but only
>> # the last found in the config is used
>> for PFILE in `grep ^PidFile /etc/apache2/* -r | awk '{print $2}'`; do
>> PIDFILE="$PFILE"
>> if [ -e "$PIDFILE" ]; then
>> PID=`cat $PIDFILE`
>> fi
>> done
>>
>> if `apache2 -t > /dev/null 2>&1`; then
>> # if the config is ok than we just stop normaly
>>
>> if [ -e "$PIDFILE" ]
>> then
>> PID=`cat $PIDFILE`
>>
>> $APACHE2 -k stop
>>
>> CNT=0
>> while [ 1 ]
>> do
>> CNT=$(expr $CNT + 1)
>>
>> [ ! -d /proc/$PID ] && break
>>
>> if [ $CNT -gt 60 ]
>> then
>> echo " ... failed!"
>> echo "Apache2 failed to honor the stop command, please investigate
>> the situation by hand."
>> exit 1
>> fi
>>
>> sleep 1
>> done
>> else
>> echo -n " ... no pidfile found! not running?"
>> fi
>>
>> else
>> # if we are here something is broken and we need to try
>> # to exit as nice and clean as possible
>>
>> # if pidof is null for some reasons the script exits automagically
>> # classified as good/unknown feature
>> PIDS=`pidof apache2` || true
>>
>> REALPID=0
>> # if there is a pid we need to verify that belongs to apache2
>> # for real
>> for i in $PIDS; do
>> if [ "$i" = "$PID" ]; then
>> # in this case the pid stored in the
>> # pidfile matches one of the pidof apache
>> # so a simple kill will make it
>> REALPID=1
>> fi
>> done
>>
>> if [ $REALPID = 1 ]; then
>> # in this case it is everything nice and dandy
>> # and we kill apache2
>> kill $PID
>> else
>> # this is the worst situation... just kill all of them
>> #for i in $PIDS; do
>> # kill $i
>> #done
>> # Except, we can't do that, because it's very, very bad
>> echo " ... failed!"
>> echo "You may still have some apache2 processes running. There are"
>> echo "processes named 'apache2' which do not match your pid file,"
>> echo "and in the name of safety, we've left them alone. Please
>> review"
>> echo "the situation by hand."
>> fi
>> fi
>> }
>>
>> # Stupid hack to keep lintian happy. (Warrk! Stupidhack!).
>> case $1 in
>> start)
>> [ -f /etc/apache2/httpd.conf ] || touch /etc/apache2/httpd.conf
>> #ssl_scache shouldn't be here if we're just starting up.
>> [ -f /var/run/apache2/ssl_scache ] && rm -f
>> /var/run/apache2/*ssl_scache*
>> echo -n "Starting web server: Apache2"
>> $APACHE2CTL startssl
>> echo "."
>> ;;
>> stop)
>> echo -n "Stopping web server: Apache2"
>> apache_stop
>> echo "."
>> ;;
>> reload)
>> echo -n "Reloading web server config..."
>> $APACHE2CTL graceful $2
>> echo "done."
>> ;;
>> restart | force-reload)
>> echo -n "Forcing reload of web server: Apache2"
>> apache_stop
>> $APACHE2CTL startssl
>> echo "."
>> ;;
>> *)
>> echo "Usage: /etc/init.d/apache2
>> start|stop|restart|reload|force-reload"
>> ;;
>> esac
>>
>> ------------------------------------------------
>> hosts:
>> 127.0.0.1 localhost.localdomain localhost server1
>> # 172.16.0.40 internal ip of server forwarded to by router
>> 172.16.0.40 www.domain1.net
>> 172.16.0.40 www.domain2.com
>>
>> # The following lines are desirable for IPv6 capable hosts
>> fe00::0 ip6-localnet
>> ff00::0 ip6-mcastprefix
>> ff02::1 ip6-allnodes
>> ff02::2 ip6-allrouters
>> ff02::3 ip6-allhosts
>> ------------------------------------------------
>> httpd:
>> # This is here for backwards compatability reasons and to support
>> # installing 3rd party modules directly via apxs2, rather than
>> # through the /etc/apache2/mods-{available,enabled} mechanism.
>> #
>> #LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so
>>
>> # Ensure that Apache listens on port 80
>> Listen 80
>>
>> # Listen for virtual host requests on all IP addresses
>> NameVirtualHost *
>>
>> <VirtualHost *>
>> ServerName www.domain1.net
>> DocumentRoot /var/www/d1
>>
>> #Other directives here
>>
>> </VirtualHost>
>>
>> <VirtualHost *>
>> ServerName www.domain2.com
>> DocumentRoot /var/www/d2
>>
>> #Other directives here
>>
>> </VirtualHost>
>>
>> ------------------------------------------------
>> /etc/apache2/sites-available/default:
>>
>> Listen 80
>> NameVirtualHost *
>>
>> <VirtualHost *>
>> ServerAdmin webmaster@localhost
>> ServerName www.domain1.net
>> DocumentRoot /var/www/d1
>>
>> <Directory />
>> Options FollowSymLinks
>> AllowOverride None
>> </Directory>
>> <Directory /var/www/d1>
>> Options Indexes FollowSymLinks MultiViews
>> AllowOverride None
>> Order allow,deny
>> allow from all
>> # This directive allows us to have apache2's default start page
>> # in /apache2-default/, but still have / go to the
>> right place
>> #RedirectMatch ^/$ /apache2-default/
>> </Directory>
>>
>> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
>> <Directory "/usr/lib/cgi-bin">
>> AllowOverride None
>> Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
>> Order allow,deny
>> Allow from all
>> </Directory>
>>
>> ErrorLog /var/log/apache2/error.log
>>
>> # Possible values include: debug, info, notice, warn, error, crit,
>> # alert, emerg.
>> LogLevel warn
>>
>> CustomLog /var/log/apache2/access.log combined
>> ServerSignature On
>>
>> Alias /doc/ "/usr/share/doc/"
>> <Directory "/usr/share/doc/">
>> Options Indexes MultiViews FollowSymLinks
>> AllowOverride None
>> Order deny,allow
>> Deny from all
>> Allow from 127.0.0.0/255.0.0.0 ::1/128
>> </Directory>
>>
>> </VirtualHost>
>>
>> <VirtualHost *>
>> ServerAdmin webmaster@localhost
>> ServerName www.domain2.com
>> DocumentRoot /var/www/d2
>>
>> <Directory />
>> Options FollowSymLinks
>> AllowOverride None
>> </Directory>
>> <Directory /var/www/d2>
>> Options Indexes FollowSymLinks MultiViews
>> AllowOverride None
>> Order allow,deny
>> allow from all
>> # This directive allows us to have apache2's default start page
>> # in /apache2-default/, but still have / go to the
>> right place
>> #RedirectMatch ^/$ /apache2-default/
>> </Directory>
>>
>> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
>> <Directory "/usr/lib/cgi-bin">
>> AllowOverride None
>> Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
>> Order allow,deny
>> Allow from all
>> </Directory>
>>
>> ErrorLog /var/log/apache2/error.log
>>
>> # Possible values include: debug, info, notice, warn, error, crit,
>> # alert, emerg.
>> LogLevel warn
>>
>> CustomLog /var/log/apache2/access.log combined
>> ServerSignature On
>>
>> Alias /doc/ "/usr/share/doc/"
>> <Directory "/usr/share/doc/">
>> Options Indexes MultiViews FollowSymLinks
>> AllowOverride None
>> Order deny,allow
>> Deny from all
>> Allow from 127.0.0.0/255.0.0.0 ::1/128
>> </Directory>
>>
>> </VirtualHost>

>


I also noticed you had 2 times the Listen directive,.. but you can only
use the Listen directive once.


Pete
  Réponse avec citation
 
Page generated in 0,13229 seconds with 9 queries