Versionsunterschiede von Test Server / Setting Up Virtual Hosts




← Vorherige Änderung
Nächste Änderung →


The usage of virtual hosts in Apache Configuration is the practice of running more than one web site (that targets local resources) on a single machine.



Virtual hosts are IP-based, meaning that you have a different IP address for every web site, or "name-based", meaning that you have multiple names running on each IP address. This practice using Apache2 on OpenSuse comes in handy when you want to simulate a production environment (however working in dev environment) locally accessing to your project by a normal URL in the browser.

To setup a custom virtual host, we need to follow these steps:

Allow virtual hosts

By default, Apache2 won't use the /etc/apache2/vhosts.d/*.conf files (the location of the virtual hosts), therefore we need to indicate that this file will be included during the runtime of Apache.

one configuration file per virtual host in /etc/apache2/vhosts.d/











Once you have installed and checked the status of Apache, go to its Web-root directory and create a new directory as mentioned below.
 cd /srv/www/htdocs/	


 sudo mkdir myproject	


Create a new file in the above mentioned directory by using the following command.

 echo -e '<html>\n<html>\n\t<body>\n\t\t<h1>Welcome World!</h1>\n\t</body>\n</html>' > /srv/www/htdocs/myproject/index.html	


Create a new virtualhost configuration file in the below mentioned directory and configure it as follows.

/etc/apache2/conf.d/vhost.conf

 sudo su	

echo -e 'DocumentRoot "/srv/www/htdocs/myproject"\nServerName  "myproject"' > /etc/apache2/conf.d/vhost.conf	


Did it work?
 cat /etc/apache2/conf.d/vhost.conf	



You should see

 DocumentRoot "/srv/www/htdocs/myproject"
 ServerName  "myproject"	

Edit configuration file

https://de.opensuse.org/Apache

 sudo cp /etc/apache2/vhosts.d/vhost.template /etc/apache2/vhosts.d/myprojectvhost.conf	


Example configuration
<VirtualHost *:80>
       ServerName myproject
       ServerAdmin webmaster@localhost
       DocumentRoot /srv/www/vhosts/myproject
       <Directory /srv/www/vhosts/myproject>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride None
               Require all granted
       </Directory>
       ErrorLog /var/log/apache2/error_log
       LogLevel warn
       CustomLog /var/log/apache2/access_log combined
       ServerSignature On
</VirtualHost>	




https://doc.opensuse.org/docum[...]figfiles-etc-apache2

|| /etc/hosts | /etc/apache2/httpd.conf | /etc/apache2/conf.d/vhost.conf | /etc/apache2/vhosts.d/*.conf | /etc/apache2/default-server.conf | Global configuration for all virtual hosts with reasonable defaults. Instead of changing the values, overwrite them with a virtual host configuration. #



/opt/lampp/etc/httpd.conf
# Virtual hosts
#Include etc/extra/httpd-vhosts.conf	

Proceed to modify the line uncommenting that line:
# Virtual hosts
Include etc/extra/httpd-vhosts.conf	

Weblinks

https://doc.opensuse.org/docum[...]nce/cha-apache2.html

https://doc.opensuse.org/documentation/leap/reference/html/book-reference/cha-apache2.html#sec-apache2-configuration-manually-configfiles-etc-apache2

Create a custom domain in the hosts file of your system


You need to create a custom domain where our apache virtual host will point to. This domain will be normally an ip (127.0.0.xx based) and a custom name.

In this example, our IP will be 127.0.0.3 and the domain myproject. So finally, our hosts file will look like:

/etc/hosts
127.0.0.1	localhost
127.0.0.3	myproject

#don't touch other existent values
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters	

Add the virtual host path


/opt/lampp/etc/extra/httpd-vhosts.conf
<VirtualHost 127.0.0.3:80>
  DocumentRoot "/opt/lampp/htdocs/my-project"
  DirectoryIndex index.php

  <Directory "/opt/lampp/htdocs/my-project">
	Options All
	AllowOverride All
	Require all granted
  </Directory>
</VirtualHost>	

Test your virtual host


Start apache and mysql (entire XAMPP).
Navigate in your browser to http://myproject/ or http://127.0.0.3/.