Както всички сме наясно с това Apache е много мощен, изключително гъвкав и конфигурируем уеб сървър за ОС Nix. Тук в този урок ще обсъдим още една характеристика на Apache което ни позволява да хостваме повече от един уебсайт на една Linux машина. Внедряването на виртуален хостинг с уеб сървър Apache може да ви помогне да спестите разходи, които инвестирате за поддръжката на вашия сървър и тяхното администриране.
Не пропускайте: NGINX Виртуален хостинг, базиран на имена и IP (сървърни блокове)
Концепцията на Споделен уеб хостинг и Уеб хостинг за дистрибутори се основава на това съоръжение на Apache само.
Има два вида виртуален хостинг, наличен с Apache.
С базиран на имена виртуален хостинг можете да хоствате няколко домейни/уебсайтове на една машина с единична IP. Всички домейни на този сървър ще споделят един IP. Конфигурирането е по -лесно от IP базиран виртуален хостинг, трябва само да конфигурирате
DNS на домейна, за да го картографира с правилния му IP адрес и след това да конфигурира Apache да го разпознава с имената на домейна.С IP базиран виртуален хостинг можете да зададете отделен IP адрес за всеки домейн на един сървър, тези IP могат да бъдат прикрепени към сървъра с единични NIC карти, както и с множество NIC.
Нека се настрои Виртуален хостинг, базиран на име и IP базиран виртуален хостинг в RHEL, CentOS и Fedora.
Преди да настроите виртуален хостинг с Apache, системата ви трябва да има инсталиран софтуер Apache Web. ако не, инсталирайте го, като използвате инсталатора на пакети по подразбиране, наречен yum.
[[защитен имейл] ~]# yum инсталирате httpd
Но преди да създадете виртуален хост, трябва да създадете директория, където ще съхранявате всички файлове на вашия уебсайт. Така че, създайте директории за тези два виртуални хоста под /var/www/html папка. Моля, запомнете /var/www/html ще бъде по подразбиране Корен на документа във виртуалната конфигурация на Apache.
[[защитен имейл]~]# mkdir /var/www/html/example1.com/ [[защитен имейл] ~]# mkdir /var/www/html/example2.com/
За да настроите виртуален хостинг, базиран на имена, трябва да кажете на Apache кой IP ще използвате, за да получавате заявките на Apache за всички уебсайтове или имена на домейни. Можем да направим това с NameVirtualHost директива. Отворете основния конфигурационен файл на Apache с VI редактор.
[[защитен имейл] ~]# vi /etc/httpd/conf/httpd.conf
Търся NameVirtualHost и декомментирайте този ред, като премахнете # подпишете се пред него.
NameVirtualHost
След това добавете IP с възможното, в което искате да получавате Apache заявки. След промените вашият файл трябва да изглежда така:
NameVirtualHost 192.168.0.100:80
Сега е време да настроите секции за виртуален хост за вашите домейни, преминете към дъното на файла, като натиснете Shift + G. Тук в този пример ние настройваме виртуални хост секции за два домена
Добавете следните две виртуални директиви в долната част на файла. Запишете и затворете файла.
ServerAdmin [защитен имейл] DocumentRoot /var/www/html/example1.com Име на сървъра www.example1.com. Регистрационни файлове за грешки/www.example1.com-дневник за грешки. Регистри на CustomLog/www.example1.com-access_log общ. ServerAdmin [защитен имейл] DocumentRoot /var/www/html/example2.com Име на сървъра www.example2.com. Регистрационни файлове за грешки/www.example2.com-дневник за грешки. Регистри на CustomLog/www.example2.com-access_log общ.
Можете да добавите колкото се може повече директиви, които искате да добавите в секцията виртуален хост на вашите домейни. Когато приключите с промените в httpd.conf файл, моля, проверете синтаксиса на файловете със следната команда.
[[защитен имейл] ~]# httpd -t Синтаксис ОК
Препоръчва се да проверите синтаксиса на файла след някои промени и преди рестартиране на уеб сървъра, защото ако има такива синтаксисът се обърка Apache ще откаже да работи с някои грешки и в крайна сметка ще повлияе на съществуващия ви уеб сървър, ще падне за докато. Ако синтаксисът е Добре. Моля, рестартирайте вашия уеб сървър и го добавете към chkconfig за да стартирате вашия уеб сървър ниво на бягане 3 и 5 само по време на зареждане.
[[защитен имейл]~]# услуга httpd рестартиране. Спиране на httpd: [OK] Стартиране на httpd: [OK]
[[защитен имейл] ~]# chkconfig -ниво 35 httpd на
Сега е време да създадете тестова страница, наречена index.html добавете малко съдържание към файла, за да имаме какво да го проверим, когато IP извика виртуалния хост.
[[защитен имейл] ~]# vi /var/www/html/example1.com/index.html
www.example1.com Здравейте, добре дошли на www.example1.com.
[[защитен имейл] ~]# vi /var/www/html/example2.com/index.html
www.example2.com Здравейте, добре дошли на www.example2.com.
След като приключите, можете да тествате настройката, като получите достъп до двата домейна в браузър.
http://www.example1.com. http://www.example2.com
За да настроите IP базиран виртуален хостинг, трябва да имате повече от един IP адрес/Пристанище присвоени на вашия сървър или вашата Linux машина.
Може да бъде на единично NIC карта, например: eth0: 1, eth0: 2, eth0: 3... така нататък. Многократни NIC могат да се прикачат и карти. Ако не знаете как да създадете няколко IP адреса на един NIC, следвайте ръководството по -долу, което ще ви помогне при създаването.
Цел на изпълнение IP базиран виртуален хостинг е да възложи изпълнение за всеки домейн и този конкретен IP няма да се използва от друг домейн.
Този вид настройка е необходима, когато уебсайт работи с SSL сертификат (mod_ssl) или на различни портове и IP адреси. Можете също така да стартирате няколко екземпляра на Apache на една машина. За да проверите IP адресите, прикрепени към вашия сървър, моля, проверете го с помощта ifconfig команда.
[защитен имейл] ~]# ifconfig
eth0 Link encap: Ethernet HWaddr 08: 00: 27: 4C: EB: CE inet addr: 192.168.0.100 Bcast: 192.168.0.255 Маска: 255.255.255.0 inet6 addr: fe80:: a00: 27ff: fe4c: ebce/64 Обхват: СВЪРЗВАЙТЕ ПЕРЕДАЧА RUNNING MULTICAST MTU: 1500 Метрични: 1 RX пакети: 17550 грешки: 0 изпуснати: 0 претоварвания: 0 кадър: 0 TX пакети: 15120 грешки: 0 изпуснати: 0 превишения: 0 носител: 0 сблъсъци: 0 txqueuelen: 1000 RX байтове: 16565983 (15.7 MiB) TX байтове: 2409604 (2.2 MiB) eth0: 1 Link encap: Ethernet HWaddr 08: 00: 27: 4C: EB: CE inet addr: 192.168.0.101 Bcast: 192.168.0.255 Маска: 255.255. 255.0 НАГОРЕ БРОАДКАСТИРАНЕ, РАБОТВАЩО МНОЖЕСТВЕНО МТУ: 1500 Метрично: 1 ло Връзка: Местен Loopback inet addr: 127.0.0.1 Маска: 255.0.0.0 inet6 addr::: 1/128 Обхват: Host UP LOOPBACK RUNNING MTU: 16436 Метрика: 1 RX пакети: 1775 грешки: 0 изпуснати: 0 превишения: 0 кадър: 0 TX пакети: 1775 грешки: 0 изпуснати: 0 претоварвания: 0 носител: 0 сблъсъци: 0 txqueuelen: 0 RX байта: 3416104 (3.2 MiB) TX байта: 3416104 (3.2 MiB)
Както можете да видите в горния изход, два IP адреса 192.168.0.100 (eth0) и 192.168.0.101 (eth0: 1) е свързан към сървъра, и двата IP адреса са присвоени на едно и също физическо мрежово устройство (eth0).
Сега задайте конкретно IP/Пристанище за да получавате http заявки, можете просто да го направите, като промените Слушам директива в httpd.conf файл.
[[защитен имейл] ~]# vi /etc/httpd/conf/httpd.conf
Търсете дума „Слушам”, Намирате раздел, в който е написано краткото описание за директивата Слушане. В този раздел коментирайте оригиналния ред и напишете своя собствена директива под този ред.
# Слушайте 80 Слушайте 192.168.0.100:80
Сега създайте секции за виртуален хост и за двата домейна. Отидете в долната част на файла и добавете следните виртуални директиви.
ServerAdmin [защитен имейл] DocumentRoot/var/www/html/example1 Име на сървъра www.example1.com. Регистрационни файлове за грешки/www.example1.com-дневник за грешки. Регистрационни файлове на TransferLog/www.example1.com-access_log. ServerAdmin [защитен имейл] DocumentRoot/var/www/html/example2 Име на сървъра www.example2.com. Регистрационни файлове за грешки/www.example2.com-дневник за грешки. Регистрационни файлове на TransferLog/www.example2.com-access_log.
Сега, тъй като сте променили основния Apache conf файл, трябва да рестартирате http услугата, както е показано по -долу.
[[защитен имейл]~]# услуга httpd рестартиране. Спиране на httpd: [OK] Стартиране на httpd: [OK]
Тествайте вашата IP базирана настройка за виртуален хостинг, като получите достъп до URL адреси в уеб браузъра, както е показано по -долу.
http://www.example1.com. http://www.example2.com
Това е всичко с виртуалния хост на Apache днес. Ако искате да защитите и втвърдите конфигурацията си на Apache, прочетете нашата статия, която ръководства.
Документация за виртуален хост на Apache
Отново ще дойда с някои други съвети и трикове за Apache в бъдещите си статии, дотогава останете Geeky и свързани с Tecmint.com. Не забравяйте да оставите вашите предложения относно статията в нашия раздел за коментари по -долу.