• Дигитални аксесоари
  • сървър
  • Дигитален живот
  • Политика за поверителност
  • Свържете се с нас
  1. Home
  2. Article
  3. Как да управлявате и използвате виртуални хостове Apache в Ubuntu ...

Как да управлявате и използвате виртуални хостове Apache в Ubuntu ...

Rsdaa 02/11/2021 1644

Как да управлявате и използвате виртуални хостове Apache в Ubuntu

От Адарш Соджитра на 20 юли 2019 г

В тази информативна част от съдържанието ще обясня как да използвате виртуални хостове в Apache в операционната система Ubuntu. Ще научим и структурата на директорията на уеб сървъра Apache. До края на това ръководство ще знаете всичко, което трябва да знаете за виртуалните хостове на Apache.

Ще можете да изпълнявате следните задачи много лесно.

Хоствайте множество приложения на един VPS/VM. Четете виртуални хост файлове много лесно. Управлявайте регистрационните файлове за всяко приложение много лесно. Разберете важни директиви като DocumentRoot, ServerName, ServerAlias ​​и много други.

Така че най-накрая можем да започнем с действителен урок. Въпреки това, ако искате да следвате това ръководство на практика, можете да конфигурирате нов виртуален частен сървър в рамките на минути, като използвате InterServer VPS планове.

Най-накрая мисля, че сме готови и можем да започнем с инсталирането на Apache на чисто новия ни виртуален частен сървър.

Инсталиране на Apache на VPS

Много е лесно да инсталирате Apache на виртуални частни сървъри. В повечето случаи просто трябва да изпълните една команда на вашия сървър, за да инсталирате Apache. Ето как можете да го направите на Ubuntu, една от най-популярните операционни системи в момента.

$ sudo apt-get install apache2 -y

Ако вашият сървър е чисто нов, може да се сблъскате с проблеми при инсталирането на apache на вашия сървър. Най-вероятно причината е, че вашият списък с източници все още не е актуализиран. Изпълнете следната команда, за да актуализирате списъка с източници.

$ sudo apt-get update

Проверете инсталацията, като посетите IP адреса на вашия сървър във вашия браузър. Трябва да видите страницата на Apache по подразбиране точно като следното изображение.

Ако можете да видите тази страница, можете да преминете към най-интересната част от това ръководство, разбирайки структурата на директорията на Apache и как работят виртуалните хостове в Apache.

Структура на директория на виртуален хост на Apache

Изпълнете следната команда, за да отидете в директорията, където се съхраняват всички конфигурационни файлове на Apache.

$ cd /etc/apache2

След като влезете, изпълнете командата ls и ще видите няколко файла и директории. Ето някои важни директории и файлове, които ще видите в директорията /etc/apache2.

apache2.conf е основният конфигурационен файл на Apache.conf-available съдържа всички допълнителни конфигурационни файлове.conf-enabled съдържа символни връзки на конфигурационните файлове, които са активирани. Envvars файлът съдържа променливи на средата.mods-available съдържа всички налични Apache modules.mods -enabled съдържа символни връзки на модулите, които са активирани.ports.conf съдържа конфигурацията на порта (на кой порт искате да слушате за заявки?).sites-available съдържа всички виртуални хост файлове, които създаваме.sites-enabled съдържа символни връзки на всички виртуалните хостове, които искаме да активираме.

От всички тези файлове и директории трябва само да се съсредоточим върху директориите с достъпни и активирани сайтове. Тъй като тези директории ще съдържат всички наши конфигурационни файлове за виртуален хост.

И така, защо има две директории за съхраняване на виртуални хост файлове на apache? Има много логична причина зад това. Нека обсъдим подробно директориите с достъпни и активирани сайтове.

Директория за достъпни сайтове на Apache

Директорията за достъпни сайтове съдържа всички виртуални хост файлове, които искаме да управляваме на нашия сървър. Например, да кажем, че имаме две имена на домейни, наречени domain1.com и domain2.com. Това означава, че трябва да създадем два виртуални хост файла в директорията sites-available с имена domain1.conf и domain2.conf.

И двата файла с виртуален хост ще имат съдържание, специфично за конкретното име на домейн. Името на файла обаче може да бъде всяко, всичко, което има значение, са директивите в тези файлове и разширението .conf на виртуалните хост файлове.

Можете да създадете колкото искате виртуални хост файлове. Но тези виртуални хост файлове все още не са активни. Това означава, че само създаването на конфигурационни файлове за виртуален хост в директорията за достъпни сайтове няма да активира нашите сайтове на сървъра.

Директорията за достъпни сайтове е просто директория за съхраняване на всички ваши активни и неактивни виртуални хост файлове. И ние трябва изрично да активираме виртуалните хост файлове, за да поддържат нашите домейни на живо на сървъра.

Можете да изпълните следната команда, за да активирате файловете на VirtualHost.

$ sudo a2ensite {name_of_virtual_host}

Командата a2ensite идва с уеб сървъра Apache. Това е само малък скрипт, който създава символна връзка на вашия основен конфигурационен файл за виртуален хост, съхраняван в сайтове, достъпни за активираната за сайтове директория.

Директория с активирани сайтове на Apache

Директорията с активирани сайтове съдържа символни връзки на виртуалните хост файлове, съхранени в директорията за достъпни сайтове. Ако проверите основния конфигурационен файл на apache, намиращ се в /etc/apache2/apache2.conf, ще видите, че всички конфигурационни файлове, съхранени в директорията с активирани сайтове, са включени в средата за изпълнение.

Това означава, че можете да съхранявате колкото искате виртуални хост файлове, но можете да ги активирате според вашите нужди. Например, можете да създадете файл с виртуален хост за режим на поддръжка, който сочи към някакъв друг DocumentRoot и можете да активирате файла с виртуален хост за поддръжка, когато искате да поставите сайта си на поддръжка.

Можете да деактивирате конфигурацията на виртуалния хост, като използвате следната команда.

$ sudo a2dissite {name_of_virtual_host}

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

Имайте предвид, че командите a2ensite и a2dissite ще активират и деактивират конфигурациите на виртуалния хост, но ефектите не са в реално време. Трябва да рестартираме или презаредим услугата Apache, за да приложим промените. Можете да изпълните следната команда, за да презаредите основната конфигурация на Apache.

$ sudo service apache2 reload

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

Създаване на виртуални хостове на Apache

Накрая ще създадем виртуални хост файлове за нашите две имена на домейни domain1.com и domain2.com. Можете просто да замените тези имена на домейни с ваши собствени имена на домейни и всичко трябва да работи според очакванията.

И така, изпълнете следната команда, за да създадете първия виртуален хост файл в директорията за достъпни сайтове.

$ sudo nano /etc/apache2/sites-available/domain1.conf

Сега поставете следното съдържание във файла на виртуалния хост. Ще обясня тези директиви подробно по-късно в това ръководство.

ServerAdmin support@example.comServerName domain1.comServerAlias ​​www.domain1.comDocumentRoot /var/www/domain1.com/public_htmlErrorLog /var/www/domain1.com/logs/error.logCustomLog /var/www/domain1.com/logs/access .log комбиниран

Не забравяйте да замените domain1.com с името на вашия домейн. Нека първо разберем директивите, използвани в този файл с виртуален хост.

ServerAdmin: Имейлът, който предоставяте в тази директива, ще бъде показан, ако потребителят срещне вътрешна грешка на сървъра. Така че те могат да се свържат директно с вас чрез имейл. Име на сървъра: Това е вид основен домейн на вашето приложение. Тук използвам domain1.com. Можете да го замените с каквото име на домейн искате да хоствате на вашия сървър. Псевдоним на сървъра: Тази директива съдържа всички допълнителни домейни/поддомейни, които искате да използвате за достъп до сайта. Тук можете да добавите множество имена на хостове, разделени с интервал. DocumentRoot: В тази директива трябва да дефинирате директорията, в която искате да маршрутизирате заявките, идващи за този файл с виртуален хост, ако е активиран. Това означава, че заявките, идващи на domain1.com, ще бъдат насочени към /var/www/domain1.com/public_html directory.ErrorLog: В тази директива трябва да дефинирате пътя на регистрационния файл за грешки. Всички грешки, открити по време на изпълнение, ще бъдат регистрирани във файла, споменат тук. CustomLog: Този път към регистрационния файл, който споменавате тук, ще съдържа всички регистрационни файлове за достъп.

И... е блокът за виртуален хост. Можете да създадете множество такива блокове в един файл domain.conf за множество домейни и той пак ще работи!

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

ЗАБЕЛЕЖКА: Apache ще провери дали директориите, споменати във файла с виртуален хост, присъстват. Ако някоя от директориите, споменати във файла Virtual Host, липсва, целият сървър на apache може да спре, докато не отстраните проблема.

Нека първо създадем директориите за нашия примерен сайт. След това ще активираме конфигурационния файл на виртуалния хост на apache. Изпълнете следната команда, за да създадете директории domain1.com, public_html и logs за нашия сайт.

$ sudo mkdir -p /var/www/domain1.com/{public_html,logs}

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

$ sudo a2ensite domain1 # ИЛИ sudo a2ensite domain1.conf

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

$ sudo service apache2 reload

Ако не виждате никакво съобщение за грешка, докато презареждате конфигурацията, вашият виртуален хост е активен и файловете ще бъдат сервирани на уеб браузъра от директорията, спомената в директивата DocumentRoot.

Можете да създадете колкото искате виртуални хост файлове. Можете дори да добавите допълнителна конфигурация на Apache във виртуалните хост файлове според вашите изисквания.

Заключение: Apache Virtual Hosts са много мощни конфигурационни файлове, които ви позволяват да хоствате множество домейни с различни конфигурации на една и съща машина. Има стотици различни директиви, които можете да използвате, за да дефинирате различни неща, специфични за виртуалния хост. Така че има безкрайни възможности! Може да отнеме известно време, за да разберете как точно работи Apache и може да се сблъскате с някои проблеми, докато започнете, но винаги можете да използвате секцията за коментари, дадена по-долу, за да се свържете директно с нас за помощ!

Оставете отговор


PREV: Топ 5 начина за коригиране на грешката „Не можете да се свържете с вашия DHCP сървър“ на ...

NEXT: Поправка: Невъзможност за свързване с вашия DHCP сървър Грешка на Windows 7, 8 ...

Popular Articles

Hot Articles

Navigation Lists

Back to Top