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

Как да конфигурирате Apache VirtualHost на Ubuntu 18.04 LTS

Rsdaa 25/01/2022 969

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

Базиран на IP виртуален хост:

В базирания на IP виртуален хост сървърът на Apache има множество IP адреси и отговаря с различни уебсайтове въз основа на IP адреса.

Фигура 1: Apache IP базиран VirtualHost.

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

Фигура 2: Базиран на името на Apache VirtualHost.

В тази статия ще ви покажа как да конфигурирате базирания на име Apache VirtualHost. Ще използвам Ubuntu 18.04 LTS за демонстрацията. Но трябва да работи на всяка модерна дистрибуция на Linux с малка или никаква промяна. И така, да започваме.

Инсталиране на уеб сървър Apache 2:

Уеб сървърът Apache 2 е наличен в официалното хранилище на пакети на Ubuntu 18.04 LTS. Така че можете лесно да го инсталирате с APT мениджъра на пакети.

Първо актуализирайте кеша на хранилището на APT пакети със следната команда:

Сега изпълнете следната команда, за да инсталирате Apache 2 уеб сървър:

$ sudo apt install apache2

Сега натиснете y и след това натиснете, за да продължите.

Уеб сървърът Apache 2 трябва да бъде инсталиран.

Конфигуриране на DNS:

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

Можете да намерите IP адреса на вашия Apache сървър със следната команда:

Както можете да видите, IP адресът в моя случай е 192.168.21.166. За вас ще бъде различно. Така че не забравяйте да го замените с вашия от сега нататък.

Ако искате да научите как да конфигурирате Apache VirtualHost локално, тогава можете да използвате файла /etc/hosts за локално разрешаване на DNS/имена.

За да конфигурирате локална DNS резолюция, отворете файла /etc/hosts с nano, както следва:

Сега добавете към файла реда, както е маркиран на екранната снимка по-долу. След това натиснете + x, последвано от y и за да запишете файла.

Сега локалното разрешаване на имена трябва да работи.

Структури на директории:

Искам да запазя всички данни на уебсайта на моя Apache VirtualHost в конкретна директория /www. Тук искам да създам директория за всеки потребител. Всеки потребител ще има своя собствена директория public_html/ и logs/.

Например, за 3 потребители bob (example1.com), alice (example2.com), linda (example3.com), структурата на директорията е както следва:

/www- example1.com/- www/- public_html/- index.html- logs/- example2.com/- www/- public_html/- index.html- logs/- example3.com/- www/- public_html/- index.html- logs/

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

Първо, копирайте съдържанието на скелетната директория по подразбиране /etc/skel в друга директория /etc/skel-www, както следва:

$ sudo cp -rv /etc/skel /etc/skel-www

Сега отидете до новата скелетна директория, както следва:

След това създайте желаната структура на директорията вътре в скелетната директория, както следва:

$ sudo mkdir -p www/{public_html,logs}

Можете също да създадете файл index.html по подразбиране в директорията public_html/, ако искате.

$ ехо "

Работи

" | sudo tee www/public_html/index.html

Сега създайте директорията /www със следната команда:

Създаване на потребители:

Сега можете да създадете потребител bob за www.example1.com, както следва:

$ sudo useradd --create-home --home-dir /www/example1.com --shell/bin/bash --gid www-data --skel /etc/skel-www bob

По същия начин създайте потребителя alice за www.example2.com, както следва:

$ sudo useradd --create-home --home-dir /www/example2.com --shell /bin/bash--gid www-data --skel /etc/skel-www alice

Отново създайте потребител linda за www.example3.com, както следва:

$ sudo useradd --create-home --home-dir /www/example3.com --shell /bin/bash--gid www-data --skel /etc/skel-www linda

Тук присвоих основната група на всеки потребител на www-data. По подразбиране Apache сървърът работи като тази група. Ако не бях направил това, сървърът на Apache няма да има достъп до файловете в директорията public_html/ и да създава регистрационни файлове в директорията logs/.

Конфигуриране на Apache VirtualHost:

Сега сте готови да конфигурирате Apache VirtualHost за 3 потребители bob (www.example1.com), alice (www.example2.com) и linda (www.example3. com).

Директорията за конфигуриране на сайта на Apache по подразбиране в Ubuntu е /etc/apache2/sites-available.

Сега отидете до директорията /etc/apache2/sites-available/, както следва.

$ cd /etc/apache2/sites-available/

Първо създайте нов конфигурационен файл за bob www.example1.com.conf, както следва:

$ sudo nano www.example1.com.conf

Трябва да се отвори текстов редактор.

Сега въведете следните редове.

Име на сървър example1.comServerAlias ​​www.example1.comDocumentRoot "/www/example1.com/www/public_html"<Директория "/www/example1.com/www/public_html">Опции -FollowSymLinks +MultiViews + IndexesAllowOverride allRequire all grantedErrorLog "/www/example1.com/www/logs/error.log"CustomLog "/www/example1.com/www/logs/access.log" комбинирано

ЗАБЕЛЕЖКА: Променете удебелените текстове според вашите изисквания.

Накрая, конфигурационният файл www.example.com.conf трябва да изглежда по следния начин. Натиснете + x, последвано от y и за да запишете конфигурационния файл.

просто да копирате конфигурационния файл за bob (www.example1.com.conf) и да направите необходимите малки промени.

Копирайте конфигурационния файл на bob за alice и linda със следните команди:

$ sudo cp -v www.example1.com.conf www.example2.com.conf$ sudo cp -v www.example1.com.conf www.example3.com.conf

Сега редактирайте конфигурационния файл на alice, както следва:

$ sudo nano www.example2.com.conf

Сега променете всички срещания на example1 на example2. След това запазете файла.

Направи същото за Линда.

$ sudo nano www.example3.com.conf

Променете всички срещания на example1 на example3 и запазете файла.

Активиране на конфигурации на VirtualHost:

Сега деактивирайте конфигурацията на уебсайта по подразбиране на Apache, както следва:

$ sudo a2dissite 000-default.conf

Сега активирайте конфигурациите на VirtualHost www.example1.com.conf, www.example2.com.conf, www.example3.com.conf, както следва:

$ sudo a2ensite www.example1.com.conf www.example2.com.conf www.example3.com.conf

Накрая рестартирайте услугата Apache, както следва:

$ sudo systemctl рестартирайте apache2

Тестване на VirtualHosts:

Сега опитайте да получите достъп до уебсайтовете www.example1.com, www.example2.com, www.example3.com

Както можете да видите, всички тези уебсайтове работят според очакванията.

ЗАБЕЛЕЖКА: Промених страницата по подразбиране index.html за всеки сайт, така че да е малко по-различна за всеки уебсайт с цел тестване. В противен случай няма да можете да разберете дали конфигурацията на VirtualHost работи или не.

И така, ето как конфигурирате базиран на име Apache VirtualHost на Ubuntu 18.04 LTS. Благодаря, че прочетохте тази статия.


PREV: Свързване към сървър за отчети в Management Studio - SQL Server ...

NEXT: Основи на Reporting Services: Общ преглед и инсталиране - Лесно ...

Popular Articles

Hot Articles
Back to Top