Das ist eine alte Version von TestServer/SettingUpVirtualHosts vom 17.05.2023 07:59 bearbeitet durch WikiAdmin.
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:
1. Check if virtual hosts are allowed
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"
/etc/hosts
/etc/apache2/httpd.conf
/etc/apache2/conf.d/vhost.conf
/etc/apache2/vhosts.d/*.conf
/etc/apache2/default-server.conf
/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
2. Create a custom domain for the host files on your system
https://doc.opensuse.org/docum[...]nce/cha-apache2.htmlhttps://doc.opensuse.org/documentation/leap/reference/html/book-reference/cha-apache2.html#sec-apache2-configuration-manually-configfiles-etc-apache2
2.1. Create folder to host your files
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
2.2. Link DocumentRoot to ServerName respectively virtual host
/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>
2.3. Edit configuration file
Start apache and mysql (entire XAMPP).
Navigate in your browser to
http://myproject/
or http://127.0.0.3/
.