Create Apache Virtual Host: Step-by-Step Guide

Click For Summary
SUMMARY

This discussion focuses on configuring an Apache virtual host on a local machine, specifically using the configuration file located at /etc/apache2/sites-enabled/000-default. The user successfully modified the file to create a virtual host for the IP address 192.168.0.80 with the ServerName phpweb20 and a DocumentRoot of /var/www/phpweb20/htdocs. However, upon restarting Apache, warnings were encountered regarding the server's fully qualified domain name and the absence of registered virtual hosts, indicating a need to update the DNS or /etc/hosts file.

PREREQUISITES
  • Understanding of Apache HTTP Server configuration
  • Familiarity with virtual host setup in Apache 2.4
  • Basic knowledge of DNS and /etc/hosts file management
  • Experience with Linux command line for service management
NEXT STEPS
  • Learn how to configure Apache virtual hosts in Apache 2.4
  • Research how to properly set up DNS entries for local development
  • Understand the implications of the ServerName directive in Apache
  • Explore troubleshooting techniques for Apache startup errors
USEFUL FOR

Web developers, system administrators, and anyone involved in configuring and managing Apache web servers will benefit from this discussion.

sean1234
Messages
40
Reaction score
0
I am attempting to create a virtual host here on my machine. I assume the place to do this is in the /etc/apache2/sites-enabled/000-default file. The file currently reads this:

NameVirtualHost *
<VirtualHost *>
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
# 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>



This is the information I am want to put in the host:

<VirtualHost 192.168.0.80>
ServerName phpweb20
DocumentRoot /var/www/phpweb20/htdocs

<Directory /var/www/phpweb20/htdocs>
AllowOverride All
Options All
</Directory>

php_value include_path .:/var/www/phpweb20/include:/usr/local/lib/pear
php_value magic quotes_gpc off
php_value register_globals off
</virtualHost>





So I changed the file to this:

NameVirtualHost *
<VirtualHost 192.168.0.80>
ServerAdmin webmaster@localhost
ServerName phpweb20

DocumentRoot /var/www/phpweb20/htdocs
<Directory />
Options All
AllowOverride All
</Directory>
<Directory /var/www/phpweb20/htdocs>
Options All
AllowOverride All
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>
php_value include_path .:/var/www/phpweb20/include:/usr/local/lib/pear
php_value magic_quotes_gpc off
php_value register_globals off

</VirtualHost>


When I restart apache in the terminal I get this message:

* Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Sun Apr 13 12:26:55 2008] [warn] NameVirtualHost *:0 has no VirtualHosts
httpd (no pid file) not running
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Sun Apr 13 12:27:05 2008] [warn] NameVirtualHost *:0 has no VirtualHosts
 
Computer science news on Phys.org
It seems you haven't registered the servername in your DNS.
 
Nor in the /etc/hosts.
 

Similar threads

  • · Replies 6 ·
Replies
6
Views
2K