Віртуальні хости apache2, доступні з локальної сетіблог merinovkv, блог merinovkv

З недавніх пір довелося потурбуватися доступом до сайтів на локалхосте з локальної мережі. Кому-то его потішити, кому-то дати доступ до внутрішньокорпоративного порталу, кому-то просто, щоб удома можна було працювати не тільки за одним комп'ютером.
Отже, поїхали.

Будемо вважати, що у нас є сайт на віртуальному хості. Наприклад. нехай це буде site.loc. Також дано два комп'ютера - один під Open SUSE (Apache2 + PHP + MySQL, IP: 192.168.0.100. Наприклад), другий - під WinXP (нехай це буде ноутбук, якщо комусь цікаво). Мені потрібно, щоб я міг зайти в phpMyAdmin і працювати з адмінкой site.loc c ноутбука. Ну, або просто подивитися з-під вінди, як воно буде виглядати 🙂

налаштуємо мережу

Для початку, на комп'ютері, звідки хочемо отримати доступ (в нашому випадку, з WinXP), відкриваємо файл C: / Windows / System32 / drivers / etc / hosts і додаємо рядок після 127.0.0.1:

Якщо другий комп'ютер на Linux - файл буде / etc / hosts. дії - ті ж.

phpMyAdmin

Віртуальні хости

site.loc. відповідно, живе на віртуальному хості, який прописаний так:

Всі прекрасно працює на локалхосте, але при спробі зайти на site.loc cо другого комп'ютера, нас чекає облом. Відкриється сторінка, що знаходиться в папці WWW (за замовчуванням там буде написано «It worws!"). Ось тут-то ми і починаємо.

Для початку, апачі потрібно сказати, які порти слухати і на яких інтерфейсах (він таки не телепат, правильно?). Відкриваємо файл /etc/apache2/listen.conf і бачимо там щось таке (виключаючи коммментаріі, звичайно):

До цього всього добра треба вказати Апач слухати два інтерфейси - локальний (127.0.0.1), щоб можна було дивитися сайт на локалхосте як раніше, і зовнішній (192.168.0.100), щоб апач брав запити ще й з того інтерфейсу, який дивиться в локалку .

Можна додати це в самий кінець файлу, можна в початок.

Щоб апач слухав все інтерфейси на 80 порту - замість того, що вище, додаємо

Цей варіант хороший саме в нашому випадку, коли у нас по суті 2 інтерфейсу (значущих для справи) - 127.0.0.1 і 192.168.0.100

Щоб все інтерфейси на всіх портах (а чи треба?)

Тепер відкриваємо відомий нам уже файл /etc/apache2/vhosts.d/site.loc.conf і додаємо в нього блок:

Таким чином, повинно вийти так:

Власне, залишилося перезапустити апач:

і перевіряти. Все повинно працювати на обох комп'ютерах.

подивіться і в тих, і в інших. Щоб вивести останні записи:
tail -f / path / to / error_log

site.loc.conf повинен бути тут: /etc/apache2/vhosts.d/site.loc.conf (саме тут апач зберігає конфіги для віртуальних хостів)

папка site.loc може зберігатися де завгодно, у мене вона лежить в папці /srv/www/vhosts/site.loc
де вона повинна лежати у вас - дивіться конфіг самого Апача. Мені зручніше було змонтувати окремий розділ під цю справу і складати все туди.

У файлі site.loc.conf за замовчуванням лежить конфиг, який я навів у статті. Описав, як повинен виглядати конфиг після правки.

[Notice] caught SIGTERM, shutting down - це повідомлення інформаційне. Воно повідомляє про те, що апач завершився.
Там же напевно ДО цього рядка є якесь пояснення, чому він «shutting down».
Що ви написали в site.loc.conf?

sudo nano /etc/apache2/vhosts.d/Like.loc.conf

DocumentRoot /srv/www/my_test/Like.loc/Main.html
ServerName МОЄ доменне ім'я
ServerAdmin МОЄ МИЛО

AllowOverride All
Order allow, deny
Allow from all

ErrorLog /var/log/apache2/error.log
LogLevel notice
CustomLog /var/log/apache2/access.log combined
UserDir public_html

DocumentRoot /srv/www/my_test/Like.loc/Main.html
ServerName МОЄ доменне ім'я
ServerAdmin МОЄ МИЛО

AllowOverride All
Order allow, deny
Allow from all

ErrorLog /var/log/apache2/error.log
LogLevel notice
CustomLog /var/log/apache2/access.log combined
UserDir public_html

Тільки у мене веб-сайт не site.loc, а Like.loc. І файл conf відповідно так само називається

ErrorLog /var/log/apache2/error.log
LogLevel notice
CustomLog /var/log/apache2/access.log combined

цю частину сам додав. Може через неї всі проблеми?))

спробуйте в listen.conf вказати не IP, a * для NameVirtualHost

Все одно не оре (

/ Srv / www / htdocs /
і
/ Srv / www / my_test /
нічого не нагадує?

що за my_test?
Звідки він взявся? Він взагалі є в конфіги апача?

/ Srv / www
це мій шлях. У вас він такий же?

я створив каталог my_test в каталозі etc / www

а в my_test закинув папку з сайтом

все одно не працює (

А до внесення змін взагалі сайти якісь працювали на локалхосте?
До того, як з'явилися спроби віртуальний хост в мережу вивести, він взагалі працював?
Щось мені підказує, що не працював ...

Так, на localhost раніше все працювало ...

А віртуальні хости? Віртуальні хости працювали?

Ахаха)) Виявилося, що вся справа в брандмауері) Все виправив, ЗАПРАЦЮВАЛО. Спасибі, merinovkv, Ви мені дуже допомогли;)

футиблін))))
нема за що 🙂 заходите ще))

парсер, такий парсер!
VirtualHost *: 80