Приветствую обитателей форума.
Есть на сервере два пользователя.
У каждого из них в домашней папке есть структура каталогов /home/user/www/public_html
Чтобы каждый из пользователей мог делать свои веб приложения.
80-й порт на сервере открыт только внутри VPN подключения, то есть веб сервер находится по адресу 10.8.0.1:80
Отсюда вопрос, можно ли как то настроить виртуальный хост второго пользователя таким образом чтобы доступ к его папке public_html был по адресу скажем 10.8.0.8?
Или нужно настраивать сам apache на работу с этим адресом?
Подскажите пожалуйста :)
Настройка нескольких виртуальных хостов apache2 на разные ip адреса
i_love_linux, до вечера подождёт? Я могу скопировать часть конфигов с рабочего сервера, убрав имена доменов и немного изменив IP. Там присвоено 3 IP-адреса, висит более десяти сайтов. 3 адреса для SSL.
до вечера подождёт?
Да, спасибо большое *YAHOO*
Добавлено: 05.01.2018 18:44:00
Прошу прощения за ложную тревогу, вроде как настроил уже ))))
Создал два виртуальных хоста со следующим содержимым:
"first"
<VirtualHost *:80>
ServerName first_user
ServerAdmin webmaster@localhost
DocumentRoot /home/first_user/www/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
"second"
<VirtualHost *:80>
ServerName second_user
ServerAdmin webmaster@localhost
DocumentRoot /home/second_user/www/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Потом в файле конфига apache2 /etc/apache2/apache2.conf прописал:
"apache2.conf"
<Directory /home/first_user/www/public_html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /home/second_user/www/public_html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Затем в файле /etc/hosts прописал:
"hosts"
10.8.0.1 first_user
10.8.0.1 second_user
На своём компе тоже подправил файл hosts, там прописал:
"hosts"
10.8.0.1 first_user
10.8.0.1 second_user
Теперь если я ввожу в браузере http://first_user то попадаю в папку /home/first_user/www/public_html, а если ввожу http://second_user то попадаю в папку /home/second_user/www/public_html.
Именно то что мне нужно ))))
Возможно кому то тоже пригодится :)
В общем, смотрите:
/etc/network/interfaces:
Показать
# This configuration file is auto-generated.
# WARNING: Do not edit this file, otherwise your changes will be lost.
# Please edit template /etc/network/interfaces.template instead.
auto lo
iface lo inet loopback
# Auto generated venet0 interfaces
auto venet0
iface venet0 inet static
address 127.0.0.1
netmask 255.255.255.255
broadcast 0.0.0.0
iface venet0 inet6 static
address ::2
netmask 128
up ip -6 r a default dev venet0
auto venet0:0
iface venet0:0 inet static
address %LOCAL_IP%
netmask 255.0.0.0
auto eth1
iface eth1 inet static
address %EXTERNAL_IP_1%
netmask 255.255.254.0
up ip route add default via %GATEWAY_IP%
auto eth1:0
iface eth1:0 inet static
address %EXTERNAL_IP_2%
netmask 255.255.255.0
auto eth1:2
iface eth1:2 inet static
address %EXTERNAL_IP_3%
netmask 255.255.255.0
И один пример файла виртуального хоста из /etc/apache2/sites-available:
Показать
<VirtualHost %EXTERNAL_IP_1%:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
# ServerName www.example.com
ServerName site1.ru
ServerAlias www.site1.ru
ServerAdmin webmaster@localhost
DocumentRoot /var/www/site1.ru
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with a2disconf.
#Include conf-available/serve-cgi-bin.conf
<Directory /var/www/site1.ru>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Это всё. Никаких правок файлов hosts не надо.
P.S. Зачем править свой файл? Вы же можете прописать IP в качестве алиаса или даже имени сервера и напрямую открывать по нему.
i_love_linux, эм так на сервере один ip или все же два 10.8.0.1 и 10.8.0.8?
Ибо если два то Rizado дело говорит. А если один то твоя конфигурация совершенно верна. *SCRATCH*
Rizado, Спасибо за инфу :)
Я настроил так как выше написал, работает и ладно :[
Добавлено: 15.01.2018 13:25:58
эм так на сервере один ip или все же два 10.8.0.1 и 10.8.0.8?
Один 10.8.0.1