Apache HTTP

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

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

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

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

Фигура 2: VirtualHost, базиран на име на Apache.

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

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

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

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

$ sudo apt актуализация

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

$ sudo apt инсталирайте apache2

Сега натиснете у и след това натиснете продължавам.

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

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

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

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

$ ip a | egrep "inet"

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

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

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

$ sudo nano / etc / hosts

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

Сега местната резолюция на имената трябва да работи.

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

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

Например за 3 потребители bob (пример1.com), алиса (пример2.com), linda (пример3.com), структурата на директориите е както следва:

/ www
- пример1.com /
- www /
- public_html /
- индекс.html
- трупи /
- пример2.com /
- www /
- public_html /
- индекс.html
- трупи /
- пример3.com /
- www /
- public_html /
- индекс.html
- трупи /

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

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

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

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

$ cd / etc / skel-www

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

$ sudo mkdir -p www / public_html, дневници

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

$ ехо "

Работи

"| sudo tee www / public_html / index.html

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

$ sudo mkdir / www

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

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

$ sudo useradd --create-home --home-dir / www / example1.com - черупка
/ bin / bash --gid www-data --skel / etc / skel-www bob

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

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

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

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

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

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

Сега сте готови да конфигурирате Apache VirtualHost за 3 потребители Боб (www.пример1.com), Алис (www.пример2.com) и линда (www.пример3.com).

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

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

$ cd / etc / apache2 / sites-available /

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

$ sudo nano www.пример1.com.конф

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

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

Име на сървър пример1.com
ServerAlias ​​www.пример1.com
DocumentRoot "/ www / example1.com / www / public_html "

Опции -FollowSymLinks + MultiViews + Indexes
AllowOverride all
Изискване на всички предоставени
ErrorLog "/ www / example1.com / www / logs / error.регистрация "
CustomLog "/ www / example1.com / www / logs / access.дневник "комбиниран

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

И накрая, конфигурационният файл www.пример.com.конф трябва да изглежда както следва. Натиснете + х последвано от y и за да запазите конфигурационния файл.

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

Копирайте конфигурационния файл на Боб за Алис и линда със следните команди:

$ sudo cp -v www.пример1.com.conf www.пример2.com.конф
$ sudo cp -v www.пример1.com.conf www.пример3.com.конф

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

$ sudo nano www.пример2.com.конф

Сега променете всички случаи на пример1 да се пример2. След това запазете файла.

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

$ sudo nano www.пример3.com.конф

Променете всички случаи на пример1 да се пример3 и запазете файла.

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

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

$ sudo a2dissite 000-по подразбиране.конф

Сега активирайте конфигурациите на VirtualHost www.пример1.com.конф, www.пример2.com.конф, www.пример3.com.конф както следва:

$ sudo a2ensite www.пример1.com.conf www.пример2.com.conf www.пример3.com.конф

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

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

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

Сега опитайте да влезете в уебсайтовете www.пример1.com, www.пример2.com, www.пример3.com

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

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

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

Как да променяте настройките на мишката и тъчпада с помощта на Xinput в Linux
Повечето дистрибуции на Linux се доставят с библиотека “libinput” по подразбиране за обработка на входни събития в системата. Той може да обработва вх...
Пренастройте бутоните на мишката си по различен начин за различен софтуер с X-Mouse Button Control
Може би се нуждаете от инструмент, който може да промени контрола на мишката с всяко приложение, което използвате. Ако случаят е такъв, можете да изпр...
Преглед на безжична мишка на Microsoft Sculpt Touch
Наскоро прочетох за Microsoft Sculpt Touch безжична мишка и реших да я купя. След като го използвах известно време, реших да споделя опита си с него. ...