Andrew Angell
asked on
Question about Apache and virtual hosts on a local development server...???
I´ve got Ubuntu 9 installed in a VM with lamp + phpmyadmin installed and working great. I´d like to figure out how to configure virtual hosts now so I can setup my clients with their own testing servers from this.
What I´m reading seems pretty straight forward except I´m confused about how to browse different sites locally. For example, I´ve included my /etc/apache2/available-sit es/default file as it is now. I left the default settings and then just added a new virtual host for a new web site.
So the way I understand it now is that I´d update DNS for beta-sandbox.angelleye.com to point to this server now and because of the virtual host config it would correctly point it to /home/angelleye/www.
What about local browsing, though? I´m hitting my server using 192.168.1.136. beta-sandbox.angelleye.com will mean nothing to the other computers on my network. Is there some way I add that to my local machines DNS only??
I´ve got Windows and Mac machines on this network that will need to reach this test server and call up each site accordingly. Any information on how I can do this would be greatly appreciated. Thanks!
What I´m reading seems pretty straight forward except I´m confused about how to browse different sites locally. For example, I´ve included my /etc/apache2/available-sit
So the way I understand it now is that I´d update DNS for beta-sandbox.angelleye.com
What about local browsing, though? I´m hitting my server using 192.168.1.136. beta-sandbox.angelleye.com
I´ve got Windows and Mac machines on this network that will need to reach this test server and call up each site accordingly. Any information on how I can do this would be greatly appreciated. Thanks!
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</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
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 *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/angelley/www
ServerName beta-sandbox.angelleye.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/angelley/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</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
</VirtualHost>
You can omit /cgi-bin alias. If you do cgi-bin will point to a subfolder called cgi-bin under the home directory.
You can omit <Directory ... Directives. then System defaults wiill kick in.
You'd like to give a special name denoting your site to the logfiles so that you can follow each viertualhost from their unique filenames.
There was a mistake in my example above the directory optin was /usr/lib/cgi-bin instead of /usr/lib/w3/cgi-bin
The corrected snippet as follows:
You can omit <Directory ... Directives. then System defaults wiill kick in.
You'd like to give a special name denoting your site to the logfiles so that you can follow each viertualhost from their unique filenames.
There was a mistake in my example above the directory optin was /usr/lib/cgi-bin instead of /usr/lib/w3/cgi-bin
The corrected snippet as follows:
ScriptAlias /cgi-bin/ /usr/lib/w3/cgi-bin/
<Directory "/usr/lib/w3/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Apache works this way:
As an example say you have 2 domains that you want to have websites such as:
www.domain.com
w3.anotherdomain.com
- You just edit your DNS sones and add records like this:
domain.com DNS zone file:
www IN A x.x.x.x
danotherdomain.com DNS zone file:
w3 IN A x.x.x.x
So that bothe www.domain.com and w3.domain.com will point to your Apache server's IP address.
Then you'll have your Apache configuration and you'll tell your apache that
- You'll have 2 virtual servers called:
www.doamian.com and w3.danotherdomain.com.
- You'll tell apache wihc folder contains website files for each of them
Open in new window