Das ist eine alte Version von TestServer/SettingUpVirtualHosts vom 17.05.2023 11:12 bearbeitet durch WikiAdmin.
(Unterschied) ← Vorherige Version | Aktuelle Version (Unterschied) | Nächste Version → (Unterschied)
Version 40 vom 17.05.2023 11:12 ▼
60 17.05.2023 15:33 WikiAdmin 59 17.05.2023 15:30 WikiAdmin 58 17.05.2023 15:30 WikiAdmin 57 17.05.2023 15:29 WikiAdmin 56 17.05.2023 15:27 WikiAdmin 55 17.05.2023 15:24 WikiAdmin 54 17.05.2023 15:22 WikiAdmin 53 17.05.2023 15:18 WikiAdmin 52 17.05.2023 15:07 WikiAdmin 51 17.05.2023 14:51 WikiAdmin 50 17.05.2023 14:50 WikiAdmin 49 17.05.2023 14:49 WikiAdmin 48 17.05.2023 11:34 WikiAdmin 47 17.05.2023 11:24 WikiAdmin 46 17.05.2023 11:18 WikiAdmin 45 17.05.2023 11:17 WikiAdmin 44 17.05.2023 11:16 WikiAdmin 43 17.05.2023 11:14 WikiAdmin 42 17.05.2023 11:13 WikiAdmin 41 17.05.2023 11:13 WikiAdmin 40 17.05.2023 11:12 WikiAdmin 39 17.05.2023 09:54 WikiAdmin 38 17.05.2023 09:54 WikiAdmin 37 17.05.2023 09:53 WikiAdmin 36 17.05.2023 09:51 WikiAdmin 35 17.05.2023 09:50 WikiAdmin 34 17.05.2023 09:49 WikiAdmin 33 17.05.2023 09:48 WikiAdmin 32 17.05.2023 08:52 WikiAdmin 31 17.05.2023 08:47 WikiAdmin 30 17.05.2023 08:46 WikiAdmin 29 17.05.2023 08:45 WikiAdmin 28 17.05.2023 08:34 WikiAdmin 27 17.05.2023 08:29 WikiAdmin 26 17.05.2023 08:17 WikiAdmin 25 17.05.2023 07:59 WikiAdmin 24 11.05.2023 15:37 WikiAdmin 23 11.05.2023 15:20 WikiAdmin 22 11.05.2023 15:19 WikiAdmin 21 11.05.2023 15:10 WikiAdmin 20 11.05.2023 14:57 WikiAdmin 19 11.05.2023 14:57 WikiAdmin 18 11.05.2023 14:56 WikiAdmin 17 11.05.2023 14:55 WikiAdmin 16 11.05.2023 14:55 WikiAdmin 15 11.05.2023 14:54 WikiAdmin 14 11.05.2023 14:53 WikiAdmin 13 11.05.2023 14:52 WikiAdmin 12 11.05.2023 14:52 WikiAdmin 11 11.05.2023 14:46 WikiAdmin 10 11.05.2023 14:44 WikiAdmin

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 uses the /etc/apache2/vhosts.d/*.conf files (the location of the virtual hosts, one configuration file per virtual host in /etc/apache2/vhosts.d/), therefore per default we do not need to indicate that this file will be included during the runtime of Apache.


See: /etc/apache2/httpd.conf:

cat /etc/apache2/httpd.conf	

See uncommented?

IncludeOptional /etc/apache2/vhosts.d/*.conf	

2. Create a custom domain for the host files on your system


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/	

 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"	

2.1. Create folder to host your files

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>	


2.2. Link DocumentRoot to ServerName respectively virtual host

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	

2.3. Edit configuration file

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

2.4. 1.7. What is where?


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	

3. Create a custom domain in the hosts file of your system


/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>	

4. Add the virtual host path


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