З недавніх пір довелося потурбуватися доступом до сайтів на локалхосте з локальної мережі. Кому-то его потішити, кому-то дати доступ до внутрішньокорпоративного порталу, кому-то просто, щоб удома можна було працювати не тільки за одним комп'ютером.
Отже, поїхали.
Будемо вважати, що у нас є сайт на віртуальному хості. Наприклад. нехай це буде 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