• Дигитални аксесоари
  • сървър
  • Дигитален живот
  • Политика за поверителност
  • Свържете се с нас
  1. Home
  2. Article
  3. Виртуален хостинг на Apache: Виртуални хостове, базирани на IP и имена ...

Виртуален хостинг на Apache: Виртуални хостове, базирани на IP и имена ...

Rsdaa 20/01/2022 1022

Както всички знаем, Apache е много мощен, изключително гъвкав и конфигурируем уеб сървър за Nix OS. Тук, в този урок, ще обсъдим още една функция на Apache, която ни позволява да хостваме повече от един уебсайт на една Linux машина. Внедряването на виртуален хостинг с уеб сървър Apache може да ви помогне да спестите разходи, които инвестирате в поддръжката на вашия сървър и тяхното администриране.

Не пропускайте: NGINX базиран на имена и IP базиран виртуален хостинг (сървърни блокове)

Виртуален хостинг на Apache в Linux

Концепцията за споделен уеб хостинг и уеб хостинг на дистрибутор се основава само на тази възможност на Apache.

Видове виртуален хост

Има два типа виртуален хостинг, достъпен с Apache.

Виртуален хостинг, базиран на имена

С виртуалния хостинг, базиран на имена, можете да хоствате няколко домейна/уебсайта на една машина с едно IP. Всички домейни на този сървър ще споделят един IP. По-лесно е да се конфигурира от базирания на IP виртуален хостинг, трябва само да конфигурирате DNS на домейна, за да го картографирате с правилния му IP адрес и след това да конфигурирате Apache да го разпознава с имената на домейни.

Виртуален хостинг, базиран на имена, Виртуален хостинг, базиран на IP

С виртуалния хостинг, базиран на IP, можете да зададете отделен IP за всеки домейн на един сървър, тези IP адреси могат да бъдат прикачени към сървъра с единични NIC карти, както и с множество NIC.

Виртуален хостинг, базиран на IP

Позволява да настроим виртуален хостинг, базиран на имена, и виртуален хостинг, базиран на IP в RHEL, CentOS и Fedora.

Тестване на EnvironmentOS – CentOS 6.5 Приложение – Apache Web ServerIP Address – 192.168.0.100IP Address – 192.168.0.101Domain – www.example1.comDomain – www.example2.com

Как да настроите IP базирани и базирани на имена виртуални хостове на Apache

Преди да настроите виртуален хостинг с Apache, вашата система трябва да има инсталиран уеб софтуер Apache. ако не, инсталирайте го с помощта на програмата за инсталиране на пакети по подразбиране, наречена yum.

[[email protected] ~]# yum install httpdSetup Name Based Virtual Host

Но преди да създадете виртуален хост, трябва да създадете директория, където ще съхранявате всички файлове на уебсайта си. И така, създайте директории за тези два виртуални хоста в папката /var/www/html. Моля, не забравяйте, че /var/www/html ще бъде основният ви документ по подразбиране във виртуалната конфигурация на Apache.

[[email protected] ~]# mkdir /var/www/html/example1.com/[[email protected] ~]# mkdir /var/www/html/example2.com/

За да настроите базиран на име виртуален хостинг трябва да кажете на Apache кой IP адрес ще използвате, за да получавате заявките на Apache за всички уебсайтове или имена на домейни. Можем да направим това с директивата NameVirtualHost. Отворете главния конфигурационен файл на Apache с VI редактор.

[[email protected] ~]# vi /etc/httpd/conf/httpd.conf

Потърсете NameVirtualHost и разкоментирайте този ред, като премахнете знака # пред него.

NameVirtualHost

След това добавете IP с възможно, в който искате да получавате Apache заявки. След промените вашият файл трябва да изглежда така:

NameVirtualHost 192.168.0.100:80

Сега е време да настроите виртуални хост секции за вашите домейни, преместете се в долната част на файла, като натиснете Shift + G. Тук в този пример, ние настройваме виртуални хост секции за два домейна

www.example1.comwww.example2.com

Добавете следните две виртуални директиви в долната част на файла. Запазете и затворете файла.

ServerAdmin [имейл защитен]DocumentRoot /var/www/html/example1.comServerName www.example1.comErrorLog logs/www.example1.com-error_logCustomLog logs/www.example1.com-access_log commonServerAdmin [email protected]DocumentRoot /var/www/ html/example2.comServerName www.example2.comErrorLog logs/www.example2.com-error_logCustomLog logs/www.example2.com-access_log common

Свободни сте да добавяте колкото искате директиви в раздела за виртуален хост на вашите домейни . Когато приключите с промените във файла httpd.conf, моля, проверете синтаксиса на файловете със следната команда.

[[имейл защитен] ~]# httpd -tСинтаксис OK

Препоръчително е да проверите синтаксиса на файла, след като направите някои промени и преди да рестартирате уеб сървъра, защото ако някой синтаксис се обърка, Apache ще откаже да работи с някои грешки и евентуално ще засегне вашия съществуващ уеб сървър да падне за известно време. Ако синтаксисът е наред. Моля, рестартирайте вашия уеб сървър и го добавете към chkconfig, за да накарате вашия уеб сървър да стартира в ниво на изпълнение 3 и 5 само по време на зареждане.

[[email protected] ~]# service httpd restartStopping httpd:[OK]Starting httpd:[OK][[email protected] ~]# chkconfig --level 35 httpd on

Сега е време да създадете тестова страница, наречена индекс .html добави малко съдържание към файла, така че да имаме какво да го проверяваме, когато IP извиква виртуалния хост.

[[email protected] ~]# vi /var/www/html/example1.com/index.htmlwww.example1.com

Здравейте, добре дошли в www.example1.com.

[[email protected] ~]# vi /var/www/html/example2.com/index.htmlwww.example2.com

Здравейте, добре дошли в www.example2.com.

След като приключите с това, можете да тествате настройката, като отворите двата домейна в браузър.

http://www.example1.comhttp://www.example2.comПреглед: www.example1.comВиртуален хостинг: www.example1.comПреглед: www.example2.comВиртуален хостинг: www.example2.comНастройка на IP базиран виртуален хостинг Linux

За да настроите IP базиран виртуален хостинг, трябва да имате повече от един IP адрес/порт, присвоен на вашия сървър или вашата Linux машина.

Може да бъде на една NIC карта, например: eth0:1, eth0:2, eth0:3 ... и така нататък. Могат да бъдат прикрепени и множество NIC карти. Ако не знаете как да създадете множество IP адреси на един NIC, следвайте ръководството по-долу, което ще ви помогне при създаването.

Създаване на множество IP адреси към един единствен мрежов интерфейс

Целта на внедряването на базиран на IP виртуален хостинг е да се присвои внедряване за всеки домейн и този конкретен IP няма да се използва от никой друг домейн.

Този вид настройка се изисква, когато уебсайт работи със SSL сертификат (mod_ssl) или на различни портове и IP адреси. Освен това можете да стартирате няколко екземпляра на Apache на една машина. За да проверите IP адресите, прикачени към вашия сървър, моля, проверете го с помощта на командата ifconfig.

[имейл защитен] ~]# ifconfigПримерен изход eth0Link encap:EthernetHWaddr 08:00:27:4C:EB:CEinet addr:192.168.0.100Bcast:192.168.0.255Mask:255.255.255.0inet6 addr: fe80::a00:27ff:fe4 c :ebce/64 Обхват:LinkUP BROADCAST RUNNING MULTICASTMTU:1500Metric:1RX пакети:17550 грешки:0 отпаднали:0 превишавания:0 рамка:0TX пакети:15120 грешки:0 отпаднали:0 превишавания:0 превозвач:0сблъсъци:0 txqueuelen:1000RX байта :16565983 (15.7 MiB)TX байтове:2409604 (2.2 MiB)eth0:1Link encap:EthernetHWaddr 08:00:27:4C:EB:CEinet addr:192.168.0.101Bcast:192.168.0.255Mask:255.255.255.0UP B ROADCAST ПУСКАНЕ MULTICASTMTU :1500Metric:1loLink encap:Local Loopbackinet addr:127.0.0.1Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNINGMTU:16436Metric:1RX packets:1775 errors:0 dropped:0 overruns:0 frame:0TX packets:1775 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:3416104 (3.2 MiB)TX bytes:3416104 (3.2 MiB)

Както можете да видите в изхода по-горе, два IP 192.168. 0.100 (eth0) и 192.168.0.101 (eth0:1) е прикрепен към сървъра, и двата IP са присвоени на едно и също физическо мрежово устройство (eth0).

Сега задайте конкретен IP/порт за получаване на http заявки, можете просто да го направите, като промените директивата Listen във файла httpd.conf.

[[email protected] ~]# vi /etc/httpd/conf/httpd.conf

Търсете думата „Слушане“, Ще намерите раздел, където е написано краткото описание на директивата за слушане. В този раздел коментирайте оригиналния ред и напишете своя собствена директива под този ред.

# Listen 80Listen 192.168.0.100:80

Сега създайте секции за виртуален хост и за двата домейна. Отидете в края на файла и добавете следните виртуални директиви.

ServerAdmin [имейл защитен]DocumentRoot /var/www/html/example1ServerName www.example1.comErrorLog logs/www.example1.com-error_logTransferLog logs/www.example1.com-access_logServerAdmin [email protected]DocumentRoot /var/www/html/example2ServerName www.example2.comErrorLog logs/www.example2.com-error_logTransferLog logs/www.example2.com-access_log

Сега, тъй като сте модифицирали основния Apache conf файл, трябва да рестартирате http услугата, както е показано по-долу.

[[email protected] ~]# service httpd restartStopping httpd:[OK]Starting httpd:[OK]

Тествайте вашата базирана на IP настройка за виртуален хостинг чрез достъп до URL адресите в уеб браузъра, както е показано по-долу.

http://www.example1.comhttp://www.example2.com

Това е всичко с виртуалния хост на Apache днес. Ако искате да защитите и заздравите вашата конфигурация на Apache, прочетете нашата статия, която ръководи.

13 Съвети за сигурност и защита на уеб сървъра на Apache

Връзки за справка

Документация за виртуален хост на Apache

В бъдещите си статии отново ще дойда с някои други съвети и трикове за Apache, а дотогава останете Geeky и свързани с Tecmint.com. Не забравяйте да оставите вашите предложения относно статията в нашия раздел за коментари по-долу.


PREV: Не може да се установи сесия на отдалечен работен плот - Windows Server...

NEXT: [РЕШЕНО] Грешка при свързване към сървъра Проблем (100% работи)

Popular Articles

Hot Articles
Back to Top