Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний VPS / VDS сервер на швидких SSD за 1 хвилину!
Кращий хостинг:
- захистить дані від несанкціонованого доступу в охоронюваному європейському ЦОДі
- прийме оплату хоч в bitcoin.
- дозволить поставити свій дистрибутив
- захист від DDos-атак
- безкоштовний backup
- Uptime 99,9999%
- ЦОД - TIER III
- провайдер - TIER I
Підтримаємо російською мовою 24/7/365 Працюємо з юрособами і фізособами. Вам прямо зараз потрібно 24 ядра і 72 Gb RAM. Будь ласка!
Наші вигідні тарифи доведуть, що дешевий хостинг ви ще не знали!
Хвилинна справа: виберіть конфігурацію, оплатіть і CMS на VPS готова.
Money Back - 30 днів!
Банківськими картами, електронною валютою, через термінали Qiwi, Webmoney, PayPal, Новоплат і ін.
Задайте питання в службу підтримки 24/7/365
Знайдіть відповіді в нашій базі і познайомтеся з рекомендаціями
Пропозиція від 8host.com
Продуктивний Apache на сьогоднішній день є найпопулярнішим веб-сервером, він обслуговує більше половини активних сайтів.
Функції Apache розподіляються між його компонентами, які можна налаштовувати індивідуально. Основним таким компонентом, який містить налаштування кожного окремого сайту, є віртуальний хост. Віртуальні хости (англ. Virtual host) дозволяють розміщувати декілька доменів або сайтів на одному віртуальному виділеному сервері.
Кожен домен буде направляти користувача до окремого каталогу, який містить інформацію про сайт; при цьому користувач не дізнається про те, що цей сервер обслуговує ще кілька сайтів. Кількість віртуальних хостів на одному сервері обмежена виключно ресурсами самого сервера.
У цьому посібнику йтиметься про налаштування віртуальних хостів на виділеному сервері Ubuntu 14.04, що дозволить обслуговувати різний контент в залежності від запитуваної домену.
вимоги
Також потрібно попередньо встановити Apache. Для цього використовуйте стандартний менеджер пакетів apt-get:
sudo apt-get update
sudo apt-get install apache2
Примітка. У керівництві використовуються умовні домени example.com і test.com; не забудьте замінити їх своїм доменним ім'ям.
Якщо у вас немає доменного імені, в кінці керівництва показано, як протестувати настройку з фіктивними значеннями.
1: Створення структури каталогів
Для початку потрібно створити структуру каталогів, в якій будуть зберігатися дані сайту.
Каталог document root (каталог, що містить контент для Apache) за замовчуванням знаходиться в / var / www; в ньому потрібно створити окремий каталог для кожного віртуального хоста. У кожному такому каталозі буде розміщений каталог public_html, в якому будуть знаходитися потрібні файли. Завдяки цьому хостинг стає більш гнучким.
Необхідні каталоги можна створити за допомогою наступних команд:
sudo mkdir -p /var/www/example.com/public_html
sudo mkdir -p /var/www/test.com/public_html
Примітка. Не забудьте вказати свої доменні імена в командах.
Структура каталогів готова, але всі вони належать користувачеві root. Щоб не-рутовий користувач міг вносити зміни в файли веб-каталогу, потрібно змінити права на ці файли за допомогою наступної команди:
sudo chown -R $ USER: $ USER /var/www/example.com/public_html
sudo chown -R $ USER: $ USER /var/www/test.com/public_html
Змінна $ USER прийме ім'я поточного користувача. Після цього підкаталоги каталоги public_html, що містять контент сайтів, будуть належати активного користувача.
Також потрібно змінити привілеї і відкрити веб-каталог і весь його вміст для читання, в іншому випадку сторінки будуть відображатися некоректно.
sudo chmod -R 755 / var / www
Тепер все права встановлені вірно; можна приступати до створення контенту в спеціальних каталогах.
3: Створення демо-сторінок для віртуальних хостів
Створіть тестовий контент; для пробної настройки хостів простих сторінок буде досить. Просто створіть сторінки index.html для кожного сайту.
У цьому файлі створіть простий HTML-документ, який вказує, до якого сайту підключена сторінка. В даному випадку цей файл виглядає так:
Збережіть і закрийте файл.
Потім можна скопіювати цей файл і використовувати його як шаблон для другого сайту:
cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html
Відкрийте скопійований файл і внесіть відповідні корективи:
nano /var/www/test.com/public_html/index.html
Збережіть і закрийте файл. Тепер тестові сторінки готові.
4: Створення файлів віртуальних хостів
Файли віртуальних хостів задають настройки окремих сайтів і допомагають Apache коректно відповідати на запити.
Apache поставляється зі стандартним файлом хоста по імені 000-default.conf, який можна використовувати в якості шаблону. Скопіюйте його, щоб створити віртуальний хост для кожного доменного імені.
Примітка. За замовчуванням Ubuntu вимагають, щоб файли віртуальних хостів закінчувалися на .conf.
Спочатку потрібно перенести файл для першого домену:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
sudo nano /etc/apache2/sites-available/example.com.conf
ServerAdmin webmaster @ localhost
DocumentRoot / var / www / html
ErrorLog $ / error.log
CustomLog $ / access.log combined
Як бачите, файл не такий вже об'ємний. Тепер потрібно внести дані про першому домені і додати кілька директив. Цей віртуальний хост буде відповідати на запити, надіслані на стандартний HTTP-порт 80.
Після цього потрібно додати дві директиви. Перша - ServerName, яка визначає базовий домен, для якого призначений хост. Друга - ServerAlias, яка визначає псевдоніми домену (наприклад, домен з префіксом www):
ServerName example.com
ServerAlias www.example.com
Залишилося внести в файл хоста остання зміна - вказати знаходження document root цього домену. Вкажіть в DocumentRoot раніше створений каталог:
В результаті файл хоста виглядає так:
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog $ / error.log
CustomLog $ / access.log combined
Збережіть і закрийте файл.
Скопіюйте щойно створений файл і використовуйте його як шаблон для віртуального хоста другого сайту, відредагувавши відповідні дані.
sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf
sudo nano /etc/apache2/sites-available/test.com.conf
Тепер залишилося відредагувати відповідні дані, щоб файл міг обслуговувати другий домен. В результаті другий файл віртуального хоста має такий вигляд:
ServerAdmin [email protected]
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
ErrorLog $ / error.log
CustomLog $ / access.log combined
Збережіть і закрийте файл.
5: Включення віртуальних хостів
Створивши файли віртуальних хостів, потрібно включити їх. Apache надає для цього спеціальні інструменти.
Наприклад, для цього можна використовувати a2ensite:
sudo a2ensite example.com.conf
sudo a2ensite test.com.conf
Перезапустіть Apache, щоб активувати зміни:
sudo service apache2 restart
Швидше за все, на екрані з'явиться повідомлення:
* Restarting web server apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
Це повідомлення нешкідливо і не впливає на роботу сайту.
6: Налаштування локальних хостів (опціонально)
Якщо у вас немає доменного імені, і замість справжнього ви використовували умовний домен, ви можете протестувати настройки, тимчасово відредагувавши файл hosts на локальному комп'ютері. він буде перехоплювати запити на налаштовані раніше домени і направляти їх на VPS (тобто, виконувати роботу DNS). Але цей метод працює тільки на локальній машині і підходить тільки для тестування.
Примітка. Переконайтеся, що ви перейшли на локальну машину. Для виконання даного розділу потрібні облікові дані адміністратора.
У системах Mac або Linux відредагуйте файл hosts з привілеями адміністратора.
sudo nano / etc / hosts
Примітка. Користувачі Windows можуть знайти необхідні інструкції за цим посиланням.
127.0.0.1 localhost
127.0.1.1 guest-desktop
111.111.111.111 example.com
111.111.111.111 test.com
Збережіть і закрийте файл.
7: Результати
Щоб протестувати налаштування віртуальних хостів, просто відкрийте домени в веб-браузері:
В даному випадку на екрані з'явиться повідомлення:
Success! The example.com virtual host is working!
Примітка. Результат, що з'явився на екрані, залежить від змісту файлу, створеного в розділі 3.
Точно так само потрібно перевірити і другий сайт:
На екрані з'явиться наступний результат:
Success! The test.com virtual host is working!
Якщо обидва сайти працюють, значить, віртуальні хости успішно налаштовані. Якщо файл hosts на локальному комп'ютері був змінений, після тестування видаліть внесені в нього рядки, щоб не засмічувати файл непотрібними записами.
висновок
Тепер сервер Ubuntu 14.04 LTS підтримує два сайти на окремих доменах. В цілому, кількість хостів, яке може підтримувати Apache, залежить тільки від ресурсів сервера; в разі потреби просто повторіть весь вищеописаний процес, щоб додати на сервер новий віртуальний хост.
Спасибі за докладний мануал. В мене все працює. Уже давно намагаюся освоїти веб програмування але дуже важко самотужки. Іноді потрібна специфічна інформація у вигляді ради або напоумлення і не у кого спитати. Спасибі що так толково все розписали.