Das ist eine alte Version von TestServer/SettingUpVirtualHosts vom 17.05.2023 15:30 bearbeitet durch WikiAdmin.
(Unterschied) ← Vorherige Version | Aktuelle Version (Unterschied) | Nächste Version → (Unterschied)
Version 59 vom 17.05.2023 15:30 ▼
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

2.1. Create folder to host your files

You must be root to install and configure Apache.
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 /srv/www/	

 mkdir myproject	

 cd /srv/www/myproject	

 mkdir htdocs	

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/myproject/htdocs/index.html	

2.2. Link DocumentRoot to ServerName respectively virtual host


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/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.example.com"	

2.3. Edit configuration file

https://de.opensuse.org/Apache


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

Example configuration

<VirtualHost 127.0.0.3:80>
       ServerName myproject
       ServerAdmin webmaster@localhost
       DocumentRoot /srv/www/myproject/htdocs
       <Directory /srv/www/myproject/htdocs>
               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.4. 1.7. What is where?

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

/etc/apache2/httpd.conf.local ... adding it in your own file (/etc/apache2/httpd.conf.local) putting its name into APACHE_CONF_INCLUDE_FILES in /etc/sysconfig/apache2 -- this will make system updates easier


/etc/hosts
/etc/apache2/httpd.conf The main Apache server configuration file. Avoid changing this file. It primarily contains include statements and global settings.
/etc/apache2/global.conf General configuration of the main Web server process, such as the access path, error logs, or the level of logging.
/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.
/etc/apache2/conf.d/vhost.conf
/etc/apache2/vhosts.d/*.conf Your virtual host configuration should be located here. The directory contains template files for virtual hosts with and without SSL. Every file in this directory ending with .conf is automatically included in the Apache configuration.
/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	

3. 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	

4. 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>	

5. Test your virtual host


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

6. 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