Versionsunterschiede von Test Server / Setting Up Virtual Hosts
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:
===Check if virtual
/etc/apache2/vhosts.d/*.conf
files (the location of the virtual See: /etc/apache2/httpd.conf:
cat /etc/apache2/httpd.conf
See uncommented?
IncludeOptional<!--markup:2:end--> /etc/apache2/vhosts.d/ <!--markup:1:begin-->----<!--markup:1:end-->*<!--markup:2:begin-->.conf
Create a custom domain in the hosts file of your system
Change to user root
sudo su
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 <!--markup:1:begin-->/srv/www/htdocs/<!--markup:1:end--> <!--markup:2:begin-->/srv/www/<!
mkdir <!--markup:1:begin-->sudo<!
<!--markup:2:begin-->cd /srv/www/myproject
mkdir htdocs
<!--markup:2:end--> 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>' >
Create a new virtualhost configuration file in the below mentioned directory and configure it as follows. /etc/apache2/conf.d/vhost.confsudo su
echo -e 'DocumentRoot
Did it work?cat /etc/apache2/conf.d/vhost.conf
You should seeDocumentRoot "/srv/www/htdocs/myproject" ServerName
===Edit configuration <!--markup:1:begin-->file==<!--markup:1:end--> <!--markup:2:begin-->file===<!--markup:2:end--> https://de.opensuse.org/Apachesudo 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>
</Directory>
ErrorLog /var/log/apache2/error_log
LogLevel warn
CustomLog /var/log/apache2/access_log combined
ServerSignature On
ServerAdmin webmaster@localhost
DocumentRoot /srv/www/vhosts/myproject
<Directory /srv/www/vhosts/myproject>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
AllowOverride None
Require all granted
ErrorLog /var/log/apache2/error_log
LogLevel warn
CustomLog /var/log/apache2/access_log combined
ServerSignature On
---- <!--markup:2:begin-->====1.7. What is where?====(wacko wrapper=shade)
https://doc.opensuse.org/docum[...]figfiles-etc-apache2
<! | |
<! | |
<! | |
<! | |
<! | Global configuration for all virtual hosts with reasonable defaults. Instead of changing the values, overwrite them with a virtual host configuration. |
<!--markup:2:end--> **/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/documentation/leap/reference/html/book-reference/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
DirectoryIndex index.php
<Directory "/opt/lampp/htdocs/my-project">
Options All
AllowOverride All
Require all granted
</Directory>
</VirtualHost> %%Options All
AllowOverride All
Require all granted
</Directory>
Test your virtual host
Start apache and mysql (entire XAMPP).
Navigate in your browser to
http://myproject/
or http://127.0.0.3/
.