This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
workshops:apache_virtual_hosts [2009/07/19 11:24] admin created |
workshops:apache_virtual_hosts [2017/10/12 21:58] (current) |
||
---|---|---|---|
Line 4: | Line 4: | ||
Date: 29th May, 2009 | Date: 29th May, 2009 | ||
- | Setting up Virtual Hosts under Apache. | + | ===== Setting up Virtual Hosts under Apache. ===== |
+ | |||
+ | |||
+ | |||
+ | Make sure that the module you need is available. | ||
+ | |||
+ | So first of all we need to check the directory of available modules to see if we have a copy of module vhosts_alias | ||
+ | |||
+ | ls /etc/apache2/mods-available/ | ||
+ | |||
+ | <code> | ||
+ | actions.conf | ||
+ | actions.load | ||
+ | alias.conf | ||
+ | alias.load | ||
+ | asis.load | ||
+ | auth_basic.load | ||
+ | auth_digest.load | ||
+ | authn_alias.load | ||
+ | authn_anon.load | ||
+ | authn_dbd.load | ||
+ | authn_dbm.load | ||
+ | authn_default.load | ||
+ | authn_file.load | ||
+ | authnz_ldap.load | ||
+ | authz_dbm.load | ||
+ | authz_default.load | ||
+ | authz_groupfile.load | ||
+ | authz_host.load | ||
+ | authz_owner.load | ||
+ | authz_user.load | ||
+ | autoindex.conf | ||
+ | autoindex.load | ||
+ | cache.load | ||
+ | cern_meta.load | ||
+ | cgi.load | ||
+ | cgid.conf | ||
+ | cgid.load | ||
+ | charset_lite.load | ||
+ | dav.load | ||
+ | dav_fs.conf | ||
+ | dav_fs.load | ||
+ | dav_lock.load | ||
+ | dbd.load | ||
+ | deflate.conf | ||
+ | deflate.load | ||
+ | dir.conf | ||
+ | dir.load | ||
+ | disk_cache.conf | ||
+ | disk_cache.load | ||
+ | dump_io.load | ||
+ | env.load | ||
+ | expires.load | ||
+ | ext_filter.load | ||
+ | file_cache.load | ||
+ | filter.load | ||
+ | headers.load | ||
+ | ident.load | ||
+ | imagemap.load | ||
+ | include.load | ||
+ | info.conf | ||
+ | info.load | ||
+ | ldap.load | ||
+ | log_forensic.load | ||
+ | mem_cache.conf | ||
+ | mem_cache.load | ||
+ | mime.conf | ||
+ | mime.load | ||
+ | mime_magic.conf | ||
+ | mime_magic.load | ||
+ | negotiation.conf | ||
+ | negotiation.load | ||
+ | perl.load | ||
+ | php5.conf | ||
+ | php5.load | ||
+ | proxy.conf | ||
+ | proxy.load | ||
+ | proxy_ajp.load | ||
+ | proxy_balancer.load | ||
+ | proxy_connect.load | ||
+ | proxy_ftp.load | ||
+ | proxy_http.load | ||
+ | python.load | ||
+ | rewrite.load | ||
+ | setenvif.conf | ||
+ | setenvif.load | ||
+ | speling.load | ||
+ | ssl.conf | ||
+ | ssl.load | ||
+ | status.conf | ||
+ | status.load | ||
+ | substitute.load | ||
+ | suexec.load | ||
+ | unique_id.load | ||
+ | userdir.conf | ||
+ | userdir.load | ||
+ | usertrack.load | ||
+ | version.load | ||
+ | vhost_alias.load # this is mod_vhost_alias | ||
+ | </code> | ||
+ | |||
+ | Next we need to tell apache2 to load the vhosts_alias module | ||
+ | |||
+ | ls /etc/apache2/mods-enabled/ | ||
+ | |||
+ | <code> | ||
+ | alias.conf | ||
+ | alias.load | ||
+ | auth_basic.load | ||
+ | authn_file.load | ||
+ | authz_default.load | ||
+ | authz_groupfile.load | ||
+ | authz_host.load | ||
+ | authz_user.load | ||
+ | autoindex.conf | ||
+ | autoindex.load | ||
+ | cgi.load | ||
+ | deflate.conf | ||
+ | deflate.load | ||
+ | dir.conf | ||
+ | dir.load | ||
+ | env.load | ||
+ | mime.conf | ||
+ | mime.load | ||
+ | negotiation.conf | ||
+ | negotiation.load | ||
+ | perl.load | ||
+ | php5.conf | ||
+ | php5.load | ||
+ | python.load | ||
+ | setenvif.conf | ||
+ | setenvif.load | ||
+ | status.conf | ||
+ | status.load | ||
+ | vhost_alias.load # make sure it's enabled | ||
+ | </code> | ||
+ | |||
+ | Now we need to setup the enabled sites file to include all the virtual hosts we will be adding. | ||
+ | |||
+ | |||
+ | cat /etc/apache2/sites-enabled/000-default | ||
+ | |||
+ | <code> | ||
+ | <VirtualHost *:80> # set the port number here | ||
+ | ServerAdmin webmaster@localhost | ||
+ | |||
+ | DocumentRoot /var/www/ | ||
+ | <Directory /> | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride None | ||
+ | </Directory> | ||
+ | <Directory /var/www/> | ||
+ | Options Indexes FollowSymLinks MultiViews | ||
+ | AllowOverride AuthConfig | ||
+ | Order allow,deny | ||
+ | allow from all | ||
+ | </Directory> | ||
+ | UseCanonicalName Off # | ||
+ | VirtualDocumentRoot /var/www/%0/ # this is the asked for URL | ||
+ | |||
+ | 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 | ||
+ | |||
+ | 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> | ||
+ | </code> | ||
+ | |||
+ | Including VirtualDocumentRoot /var/www/%0/ in the enabled sites file tells apache2 that is is to do directory expansion adding the asked for URL to the normal DocumentRoot directory. | ||
+ | |||
+ | <code> | ||
+ | ls -la /var/www | ||
+ | total 24 | ||
+ | drwxrwxr-x 5 root robert 4096 May 29 20:33 . | ||
+ | drwxr-xr-x 14 root root 4096 Jan 3 13:29 .. | ||
+ | lrwxrwxrwx 1 root root 25 Jan 19 19:03 172.16.0.104 -> lampp/djelectro/postcode/ # local Virtual host | ||
+ | lrwxrwxrwx 1 root root 22 Jan 19 19:02 ares -> ares.going-places.org/ # local Virtual host | ||
+ | lrwxrwxrwx 1 robert robert 8 May 26 14:09 ares-ext -> external # local Virtual host | ||
+ | drwxr-xr-x 25 robert robert 4096 May 31 14:45 ares.going-places.org # local Virtual host | ||
+ | drwxr-xr-x 5 robert robert 4096 May 31 14:47 external # directory for external access | ||
+ | lrwxrwxrwx 1 robert robert 18 Jan 24 23:29 going-places.dyndns.org -> /var/www/external/ # dyndns Virtual host | ||
+ | lrwxrwxrwx 1 robert robert 34 Jan 24 23:29 going-places.webhop.net -> /var/www/lampp/djelectro/postcode/ # dyndns Virtual host | ||
+ | -rw-r--r-- 1 robert robert 45 Dec 10 00:17 index.html | ||
+ | drwxr-xr-x 7 robert robert 4096 Jan 8 18:39 lampp | ||
+ | lrwxrwxrwx 1 robert robert 17 May 25 21:02 mywebspace.dyndns.org -> /var/www/external # dyndns Virtual host | ||
+ | lrwxrwxrwx 1 robert robert 17 May 26 13:54 pastebin.dyndns.org -> /var/www/external # dyndns Virtual host | ||
+ | lrwxrwxrwx 1 robert robert 18 Feb 3 12:51 www.going-places.dyndns.org -> /var/www/external/ # dyndns Virtual host | ||
+ | lrwxrwxrwx 1 robert robert 34 Feb 3 12:48 www.going-places.webhop.net -> /var/www/lampp/djelectro/postcode/ # dyndns Virtual host | ||
+ | lrwxrwxrwx 1 root root 16 Jan 19 19:04 www.intra.net -> lampp/djelectro/ # local Virtual host | ||
+ | lrwxrwxrwx 1 robert robert 17 May 25 21:02 www.mywebspace.dyndns.org -> /var/www/external # dyndns Virtual host | ||
+ | lrwxrwxrwx 1 robert robert 17 May 26 13:54 www.pastebin.dyndns.org -> /var/www/external # dyndns Virtual host | ||
+ | </code> | ||
+ | |||
+ | |||
+ | As you can see, now all you have to do is put links to your directories | ||
+ | in URL format and it all "just works". ;) | ||
- | Files will be included soon. |