В случаите, когато искаме да хостваме повече от един сайт на една физическа машина, е необходимо да използваме възможността Virtual host на Apache сървъра. Виртуалното хостване може да се осъществи като:
Работя с XAMPP версия 1.8.3-5 за операционна система Линукс. Конфигурационните файлове на XAMPP се намират в директория opt/lampp/etc.
Директорията /opt на Линукс съхранява допълнителния софтуер, инсталиран в системата, но не през package manager (в този случай това е XAMPP).
В директорията /lampp е инсталиран XAMPP (наименованието lampp идва от Linux- Apache- MySQL- PHP- Perl).
Директория /etc на XAMPP съдържа глобалните конфигурационни файлове, които оказват влияние върху работата на XAMPP за всички потребители.
За да отворим конфигурационния файл httpd.conf с текстов редактор (аз работя с Geany), в терминала въвеждаме:
Разрешаваме виртуалното хостване като премахваме коментара пред:
Съхраняваме промените.
Създаваме директория my.localhost в /opt/lampp/htdocs.
Преработваме хост файла на Линукс, който се намира в директорията /etc/hosts. В hosts файла се осъществява асоциирането на IP адрес с име на хоста. В терминала въвеждаме:
Въвеждаме:
IP адреси от 127.0.0.0 до 127.255.255.255 са предназначени за loopback тестване. Съхраняваме файла.
В терминала въвеждаме:
Във файла httpd-vhosts.conf е посочен адрес, на който можете да прочетете повече за конфигурирането на виртуален хост.
В края на файла добавяме следните редове:
Рестартираме сървъра:
Създаваме текстов файл test.php:
Съхраняваме в /opt/lampp/htdocs/my.localhost. Резултатът в браузъра ще е:
- IP-базирано хостване- в този случай отделните сайтове имат различни IP адреси.
- Виртуално хостване в зависимост от името на сайта (Име-базирано хостване)- в този случай сайтове с различни имена могат да ползват един и същ IP адрес.
Работя с XAMPP версия 1.8.3-5 за операционна система Линукс. Конфигурационните файлове на XAMPP се намират в директория opt/lampp/etc.
Директорията /opt на Линукс съхранява допълнителния софтуер, инсталиран в системата, но не през package manager (в този случай това е XAMPP).
В директорията /lampp е инсталиран XAMPP (наименованието lampp идва от Linux- Apache- MySQL- PHP- Perl).
Директория /etc на XAMPP съдържа глобалните конфигурационни файлове, които оказват влияние върху работата на XAMPP за всички потребители.
Разрешаване на виртуалното хостване
За да отворим конфигурационния файл httpd.conf с текстов редактор (аз работя с Geany), в терминала въвеждаме:
sudo geany /opt/lampp/etc/httpd.conf
Разрешаваме виртуалното хостване като премахваме коментара пред:
Include etc/extra/httpd-vhosts.conf
Съхраняваме промените.
Създаване на домейн
Създаваме директория my.localhost в /opt/lampp/htdocs.
Преработваме хост файла на Линукс, който се намира в директорията /etc/hosts. В hosts файла се осъществява асоциирането на IP адрес с име на хоста. В терминала въвеждаме:
sudo geany /etc/hosts
Въвеждаме:
127.0.0.5 my.localhost
IP адреси от 127.0.0.0 до 127.255.255.255 са предназначени за loopback тестване. Съхраняваме файла.
Създаване на виртуален хост
В терминала въвеждаме:
sudo geany /opt/lampp/etc/extra/httpd-vhosts.conf
Във файла httpd-vhosts.conf е посочен адрес, на който можете да прочетете повече за конфигурирането на виртуален хост.
В края на файла добавяме следните редове:
<VirtualHost *:80>
ServerAdmin webmaster@my.localhost
DocumentRoot "/opt/lampp/htdocs/my.localhost"
ServerName my.localhost
ServerAlias www.my.localhost
ErrorLog "logs/my.localhost-error_log"
CustomLog "logs/my.localhost-access_log" common
</VirtualHost>
ServerAdmin webmaster@my.localhost
DocumentRoot "/opt/lampp/htdocs/my.localhost"
ServerName my.localhost
ServerAlias www.my.localhost
ErrorLog "logs/my.localhost-error_log"
CustomLog "logs/my.localhost-access_log" common
</VirtualHost>
Тестване на виртуален хост
Рестартираме сървъра:
sudo /opt/lampp/lampp restart
Създаваме текстов файл test.php:
<?php echo "My history? <br>"; echo "Maybe it`s not interesting for you."; ?>
Съхраняваме в /opt/lampp/htdocs/my.localhost. Резултатът в браузъра ще е:
Директивите <VirtualHost> и Listen
По подразбиране Apache HTTP сървърът слуша на порт 80. Ако желанието ни е да променим порта и адреса на който слуша за определен хост, е необходимо да направим промени в директивите <VirtualHost> (преработвате конфигурационния файл httpd-vhosts.conf) и Listen (преработвате конфигурационния файл httpd.conf).
Директивата Listen казва на сървъра да приеме входящите молби единствено от специфичен/и порт/ове или комбинация от адрес-порт. Ако в тази директива е определен само един порт (както е по подразбиране- порт 80), тогава сървърът слуша на този порт за всички интерфейси. Ако са вписани комбинация от IP адрес и номер на порт, сървърът ще слуша на този порт за посочения интерфейс.
Аз искам сървърът да слуша на порт 8000 за IP адрес 127.0.0.5 (поне него мога да заставя да прави каквото аз искам :)). В терминала въвеждаме:
Директивата Listen казва на сървъра да приеме входящите молби единствено от специфичен/и порт/ове или комбинация от адрес-порт. Ако в тази директива е определен само един порт (както е по подразбиране- порт 80), тогава сървърът слуша на този порт за всички интерфейси. Ако са вписани комбинация от IP адрес и номер на порт, сървърът ще слуша на този порт за посочения интерфейс.
Аз искам сървърът да слуша на порт 8000 за IP адрес 127.0.0.5 (поне него мога да заставя да прави каквото аз искам :)). В терминала въвеждаме:
sudo geany /opt/lampp/etc/httpd.conf
Добавяме:
Съхраняваме промените. В терминала въвеждаме:
Добавяме IP адреса на хоста и номера на порта.
Съхраняваме файла. В терминала въвеждаме:
Добавяме:
Съхраняваме файла. Рестартираме сървъра, за да влязат в сила промените. Крайният резултат в браузъра:
Listen 127.0.0.5:8000 https
Съхраняваме промените. В терминала въвеждаме:
sudo geany /opt/lampp/etc/extra/httpd-vhosts.conf
Добавяме IP адреса на хоста и номера на порта.
<VirtualHost 127.0.0.5:8000>
ServerAdmin webmaster@my.localhost
DocumentRoot "/opt/lampp/htdocs/my.localhost"
ServerName my.localhost
ServerAlias www.my.localhost
ErrorLog "logs/my.localhost-error_log"
CustomLog "logs/my.localhost-access_log" common
</VirtualHost>
ServerAdmin webmaster@my.localhost
DocumentRoot "/opt/lampp/htdocs/my.localhost"
ServerName my.localhost
ServerAlias www.my.localhost
ErrorLog "logs/my.localhost-error_log"
CustomLog "logs/my.localhost-access_log" common
</VirtualHost>
Съхраняваме файла. В терминала въвеждаме:
sudo geany /etc/hosts
Добавяме:
127.0.0.5:8000 my.localhost
Съхраняваме файла. Рестартираме сървъра, за да влязат в сила промените. Крайният резултат в браузъра:
За да проверите конфигурацията на виртуалния хост, в терминала въвеждате:
/opt/lampp/bin/httpd -S
Правите промени, ако е необходимо.
|
Няма коментари:
Публикуване на коментар