Versionsunterschiede von Test Server / Setting Up Virtual Hosts




← Vorherige Änderung





1   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.
  1 The usage of ((https://httpd.apache.org/docs/2.4/vhosts/ virtual hosts)) in XAMPP is the practice of running more than one web site (that targets local resources) on a single machine.
2 2
3 3 {{toc numerate=1}}
4 4
5   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.
  5 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 XAMPP 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.
6 6
7 7 To setup a custom virtual host, we need to follow these steps:
8 8
9   ===Check if virtual hosts are allowed===
10   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.
  9 ===Allow virtual hosts===
11 10
12   See: /etc/apache2/httpd.conf:
13   %%
14   cat /etc/apache2/httpd.conf
15   %%
16  
17   See uncommented?
18   %%
19   IncludeOptional /etc/apache2/vhosts.d/*.conf
20   %%
21  
22   ===Create a custom domain for the host files on your system===
23   ====Create folder to host your files====
24   You must be root to install and configure Apache.
25   Change to user root
26  
27   %% sudo su%%
28  
29   Once you have installed and checked the status of Apache, go to its Web-root directory and create a new directory as mentioned below.
30   %% cd /srv/www/%%
31  
32   %% mkdir myproject%%
33  
34   %% cd /srv/www/myproject %%
35  
36   %% mkdir htdocs%%
37  
38   Create a new file in the above mentioned directory by using the following command.
39  
40   %% 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 %%
41  
42   ====Link DocumentRoot to ServerName respectively virtual host====
43  
44   Create a new virtualhost configuration file in the below mentioned directory and configure it as follows.
45  
46   /etc/apache2/conf.d/vhost.conf
47  
48   %% sudo su%%
49   %%echo -e 'DocumentRoot "/srv/www/myproject"\nServerName "myproject"' > /etc/apache2/conf.d/vhost.conf %%
50  
51   Did it work?
52   %% cat /etc/apache2/conf.d/vhost.conf%%
53  
54  
55   You should see
56  
57   %% DocumentRoot "/srv/www/htdocs/myproject"
58    ServerName "myproject.example.com"
59    %%
60  
61   ====Edit configuration file====
62   https://de.opensuse.org/Apache
63  
64   %% sudo cp /etc/apache2/vhosts.d/vhost.template /etc/apache2/vhosts.d/myproject_vhost.conf %%
65  
66   Example configuration
67   %%
68   <VirtualHost 127.0.0.3:80>
69          ServerName myproject
70          ServerAdmin webmaster@localhost
71          DocumentRoot /srv/www/myproject/htdocs
72          <Directory /srv/www/myproject/htdocs>
73                  Options Indexes FollowSymLinks MultiViews
74                  AllowOverride None
75                  Require all granted
76          </Directory>
77          ErrorLog /var/log/apache2/error_log
78          LogLevel warn
79          CustomLog /var/log/apache2/access_log combined
80          ServerSignature On
81   </VirtualHost>
82   %%
83  
84   ----
85   ====1.7. What is where?====
86   %%(wacko wrapper=shade)
87   https://doc.opensuse.org/documentation/leap/reference/html/book-reference/cha-apache2.html#sec-apache2-configuration-manually-configfiles-etc-apache2
88  
89   /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
90  
91   #|
92   || | ||
93   || /etc/hosts | ||
94   || /etc/apache2/httpd.conf | The main Apache server configuration file. Avoid changing this file. It primarily contains include statements and global settings. ||
95   || /etc/apache2/global.conf | General configuration of the main Web server process, such as the access path, error logs, or the level of logging. ||
96   || /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. ||
97   || /etc/apache2/conf.d/vhost.conf | ||
98   || !!/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.!! ||
99   || /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. ||
100   |#
101   %%
102  
  11 By default, XAMPP won't use the ##httpd-vhosts.conf## file (the location of the virtual hosts), therefore we need to indicate that this file will be included during the runtime of Apache.
103 12
104 13 **/opt/lampp/etc/httpd.conf**
105 14 %%# Virtual hosts
145 54 Start apache and mysql (entire XAMPP).
146 55 Navigate in your browser to ##~http://myproject/## or ##~http://127.0.0.3/##.
147 56
148   ===Weblinks===  
149   https://doc.opensuse.org/documentation/leap/reference/html/book-reference/cha-apache2.html  
150   ((https://doc.opensuse.org/documentation/leap/reference/html/book-reference/cha-apache2.html#sec-apache2-configuration-manually-configfiles-etc-apache2))  
151