Як налаштувати Віртуальні хости Apache на CentOS 7

Apache - веб-сервер із відкритим кодом, розроблений для сучасних операційних систем, включаючи UNIX та Windows. Це безпечний, ефективний і розширюваний сервер, який надає послуги HTTP, синхронізовані з поточними стандартами HTTP.

Багато людей використовують його для розміщення своїх веб-сайтів і додатків. Фактично, згідно з останніми статистичними даними, Apache є найпопулярнішим веб-сервером у світі, причому Windows IIS - другий, а третє - російське обладнання Nginx.

Функціональність Apache відмінна, і для його веб-сайту чи програми можна знайти безліч корисних функцій. У цьому підручнику ми надамо вам інформацію про Віртуальний хост Apache через приклади налаштування на a CentOS 7 VPS.

Віртуальний хост, по суті, являє собою одиницю, яка описує окремий домен у грандіозній схемі веб-сервера Apache. Це дозволяє розміщувати кілька веб-сайтів за допомогою одного сервера, який дуже корисний для людей, які мають більше одного веб-сайту.

Кожен домен, налаштований за допомогою віртуальної директиви хоста в конфігурації Apache, спрямовує відвідувача до певного каталогу, де цей веб-сайт розміщений на сервері. Наприклад, можливо, ваш сайт WordPress встановлено в / var / www / wordpress / тому при створенні віртуальної директиви хоста буде встановлено корінь документа для сайту / var / www / wordpress/ який дозволить веб-серверу витягувати дані веб-сайту з відповідного налаштованого каталогу.

Тож давайте зосередитись на нашому завданні зараз.

Вимога

Ми будемо використовувати наш SSD 1 Linux VPS хостинг-план для цього навчального посібника.

Увійдіть на сервер через SSH:

# ssh root @ server_ip

Перш ніж запускати, введіть команду нижче, щоб перевірити, чи встановлена ​​на вашому комп'ютері належна версія CentOS:

# cat / etc / redhat-release

який повинен дати вам під висновком:

CentOS Linux випускає 7.2.1511 (Core)

Оновити систему

Переконайтеся, що ваш сервер повністю оновлено:

# yum update

На наших серверах CentOS 7 за замовчуванням встановлюється Apache. Однак, якщо у вас немає встановленого на сервері Apache, ви можете зробити це за допомогою досить простої команди:

# yum встановити httpd

Включіть Apache і дозвольте йому розпочати завантаження:

# systemctl почати httpd.service # systemctl увімкнути httpd.service

Більшість вебмайстрів сьогодні використовують WordPress як платформу для розміщення свого веб-сайту. А. WordPress сайт запускається з базою даних, тому, якщо ви плануєте використовувати цю статтю для створення віртуальних хостів для веб-сайту WordPress / s (або будь-якої платформи, для якої потрібна база даних), вам потрібно буде встановити MySQL та PHP на вашому сервері, який завершить так званий LAMP (Linux Apache, MariaDB і PHP) стек. У нас є відмінна стаття про те, як встановити LAMP на CentOS 7, щоб ви могли його перевірити тут.

Параметри конфігурації Apache

Apache має глобальний файл конфігурації, де всі параметри за замовчуванням зберігаються та застосовуються до сервера. Віртуальна директива хоста може бути збережена в тому ж за замовчуванням httpd.conf файл або інший, який буде відповідати налаштованому веб-сайту / домену.

Це глобальний файл конфігурації Apache у CentOS 7 /etc/httpd/conf/httpd.conf. Ви можете використовувати текстовий редактор за вашим вибором та перевірити вміст цього файлу, щоб ви могли зрозуміти, як налаштовано Apache.

Файл конфігурації коментує рядки перед кожним налаштуванням, що пояснює їх використання. Так, наприклад, ServerRoot Параметр - це верхня частина дерева каталогів, під якою лежать файли конфігурації Apache.

повне г, повне г,, показали, від, номер, XNUMX Бар Директива зв'язує Apache з певною IP-адресою та портом. Стандартний прослуховуючий порт Apache - це 80.

Значення користувача / групи - це імена користувача / групи, на яких працює HTTPD (apache). У CentOS є користувачем і групою apache / apache і в Ubuntu / Debian ці значення www-data / www-data.

Інший важливий параметр - це DocumentRoot який є каталогом, з якого дані будуть передані відвідувачеві. Зазвичай в більшості дистрибутивів root для Apache для стандартного документа встановлено значення / var / www / html / тому, якщо ви помістіть дані в / var / www / html / ви зможете отримати доступ до цих самих даних через веб-браузер, використовуючи IP-адресу вашого сервера.

Ми розглянули лише швидкий погляд на те, що пропонує компанія Apache своєму користувачеві, тому тепер створіть першу директиву віртуального хосту в Apache. Ви можете створити віртуальний хост всередині основного файлу конфігурації apache, однак для більш чистого та більш організованого налаштування ми створимо новий окремий файл, в якому будуть зберігатися конфігураційні рядки. Є налаштування (ВключитиЗвичайний) в глобальній конфігурації Apache, до складу якого входять окремі файли конфігурації. Наприклад, у CentOS 7 та Apache 2.4 (останню версію Apache з моменту написання цього підручника) ВключитиЗвичайний налаштування встановлено на /etc/httpd/conf.d/ а це означає, що кожен * .conf файл створено в /etc/httpd/conf.d/ буде використовуватися веб-сервером для обробки даних.

Тому створіть a your_domain.conf файл, де ми будемо конфігурувати директиву віртуального хоста для вашого домену. Після входу на сервер введіть таку команду:

# nano /etc/httpd/conf.d/your_domain.conf

Вставте наступний вміст у файл:

<VirtualHost *: 80> Сервер Admin webmaster@your_domain.com "/var/log/httpd/your_domain.com-access_log" комбіновані <Directory "/ var / www / html / your_domain /"> DirectoryIndex index.html index.php Параметри FollowSymLinks AllowOverride Всі вимагають усіх наданих </Directory> </ VirtualHost >

Давайте пояснимо налаштування по одному.

  • <VirtualHost *: 80> - це означає, що ця директива віртуального хоста зв'язується з будь-якою IP-адресою на сервері та на порту 80.
  • ServerAdmin - це адреса електронної пошти, на яку будуть надсилатись повідомлення про проблеми з веб-сервером.
  • DocumentRoot - каталог, в якому зберігатимуться дані веб-сайту, який у вказаному випадку буде / var / www / html / your_domain /. Звичайно, ви можете замінити значення вашого_домену на все, що вам підходить.
  • Ім'я_сервера - це значення дає назву, яку сервер використовує для ідентифікації веб-сайту. Тут ви можете ввести свій фактичний домен.
  • ServerAlias - Директива ServerAlias ​​встановлює альтернативні імена хоста, наприклад: www.your_domain.com. Вона також може містити підстановки, якщо це необхідно.
  • <Directory> і </ Directory> і використовуються для додавання групи директив, які будуть застосовуватися тільки до іменованого каталогу, підкаталоги цього каталогу та файли в відповідних каталогах. Будь-яка директива, яка дозволена в контексті каталогів, може бути використана. Довідник-шлях - це повний шлях до каталогу або рядок диска-картки, використовуючи відповідність стилю оболонки Unix. У нашому випадку ми дозволяємо FollowSymLinks варіант, який буде слідувати символічним посиланням в / var / www / html / your_domain / каталог Ми також встановили AllowOverride директива до всі що означає, що будь-яка директива, яка має .htaccess контекст дозволено в .htaccess файли The Вимагати Директива вибирає, які автентифіковані користувачі можуть отримати доступ до ресурсу.

Такий тип конфігурації можна застосувати до більшості платформ там. Проте іноді конкретна конфігурація сайту WordPress, така, як описана вище, може виявитись недостатньою для інших видів додатків. Наприклад, a Magento сайт потребує додаткових функцій, або Odoo сайт повинен мати налаштований зворотний проксі-сервер.

Одне, що варто згадати (хоча більшість користувачів це знають) полягає в тому, що всі наведені вище налаштування конфігурації повинні бути належним чином налаштовані до або після створення файлу конфігурації Apache. Наприклад, DocumentRoot необхідно створити та зберегти дані в ньому.

Для створення каталогу використовуйте:

# mkdir / var / www / html / your_domain /

Потім завантажте дані, які хочете розмістити в цьому каталозі.

Права та права власності на файли - це ще одне важливе завдання для веб-майстрів. У більшості випадків на серверах без панелі керування права власності на файл та каталог повинні належати до користувача та групи, під якою працює Apache. У CentOS 7 працює Apache апаш як користувач і апаш як група Тому вам доведеться рекурсивно призначити ці значення файлів і каталогам у кореневому документі. Нижче команда робить саме це:

# chown apache: apache-r / var / www / html / your_domain /

Ця команда призначить apache: apache до кожного файла та каталогу / підкаталогу всередині / var / www / html / your_domain /.

За допомогою цієї статті ми просто переглянули конфігурації Apache та віртуальний хост. Щоб отримати додаткові відомості, вам слід звернутися до офіційного представника Apache документація.

джерело

Залишити коментар

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.