Сервер на платформі Debian.
Виникла необхідність на сервері організувати два сайти з різними адресами. Мережна карта на сервері для локальної мережі одна (друга для виходу в Інтернет). В даній статті пояснюється процес налаштування сервера для роботи на ньому другого сайту.
Для мережного інтерфейсу, який зв’язаний з локальною мережею створюємо віртуальний інтерфейс з іншою ip-адресою. Ця адреса буде використовуватись для другого сайту.
ifconfig eth2:1 192.168.0.254 netmask 255.255.255.0 up
Пояснення до команди:
Ip-адресу можна вказати іншу. Визначити, який інтерфейс має вихід до мережі можня командою route в терміналі. Буде виведено таблицю інтерфейсів і приписані до них ip-адреси. Зняючи ip-адресу сервера в мережі, ви дізнаєтесь відповідний інтерфейс (наприклад: eth2). Після інтерфейсу через ":" вказується номер віртуального інтерфейсу (eth2:1).
Створюємо теку для сайту (наприклад /var/sitelocal). За необхідністю встановлюємо права "Читати" для всіх користувачів. У створеній папці організовуємо файли сайту. Для початку можна створити файл index.htm з певним реченням (наприклад "Вітаю на сайті!").
Заходимо у папку /etc/apache2/sites-available. Створюємо файл з іменем, що співпадає із назвою сайта (для зручності) та записуємо в ньому наступний зміст:
<VirtualHost 192.168.0.254:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/sitelocal/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory '/var/www/sitelocal/'>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Пояснення до змісту:
<VirtualHost 192.168.0.254:80> - ви вказуєте ip-адресу, за якою будете заходити на цей сайт з мережі. Порт 80 не міняєте.
DocumentRoot /var/sitelocal/ - вказуєте теку, в якій знаходяться файли сайту.
<Directory '/var/www/sitelocal/'> - вказуєте теку, в якій знаходяться файли сайту.
Все інше набираєте без змін .
У теці /etc/apache2/sites-enabled створюємо символічне посилання:
ln -s /etc/apache2/sites-available/sitelocal sitelocal
Можна спробувати увімкнути ЧПУ модуль на web сервера:
/etc/init.d/apache2 reload
Виникла необхідність на сервері організувати два сайти з різними адресами. Мережна карта на сервері для локальної мережі одна (друга для виходу в Інтернет). В даній статті пояснюється процес налаштування сервера для роботи на ньому другого сайту.
Для мережного інтерфейсу, який зв’язаний з локальною мережею створюємо віртуальний інтерфейс з іншою ip-адресою. Ця адреса буде використовуватись для другого сайту.
ifconfig eth2:1 192.168.0.254 netmask 255.255.255.0 up
Пояснення до команди:
Ip-адресу можна вказати іншу. Визначити, який інтерфейс має вихід до мережі можня командою route в терміналі. Буде виведено таблицю інтерфейсів і приписані до них ip-адреси. Зняючи ip-адресу сервера в мережі, ви дізнаєтесь відповідний інтерфейс (наприклад: eth2). Після інтерфейсу через ":" вказується номер віртуального інтерфейсу (eth2:1).
Створюємо теку для сайту (наприклад /var/sitelocal). За необхідністю встановлюємо права "Читати" для всіх користувачів. У створеній папці організовуємо файли сайту. Для початку можна створити файл index.htm з певним реченням (наприклад "Вітаю на сайті!").
Заходимо у папку /etc/apache2/sites-available. Створюємо файл з іменем, що співпадає із назвою сайта (для зручності) та записуємо в ньому наступний зміст:
<VirtualHost 192.168.0.254:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/sitelocal/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory '/var/www/sitelocal/'>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Пояснення до змісту:
<VirtualHost 192.168.0.254:80> - ви вказуєте ip-адресу, за якою будете заходити на цей сайт з мережі. Порт 80 не міняєте.
DocumentRoot /var/sitelocal/ - вказуєте теку, в якій знаходяться файли сайту.
<Directory '/var/www/sitelocal/'> - вказуєте теку, в якій знаходяться файли сайту.
Все інше набираєте без змін .
У теці /etc/apache2/sites-enabled створюємо символічне посилання:
ln -s /etc/apache2/sites-available/sitelocal sitelocal
Можна спробувати увімкнути ЧПУ модуль на web сервера:
a2enmod rewrite
Пов’язуємо назву сайту з ip-адресою. Для цього у файл /etc/host додаємо рядок:
192.168.0.254 sitelocal
Потрібно зазначити, що у мене сайт всеодно відкривається тільки за ip-адресою.Перезавантажуємо Apache2:
/etc/init.d/apache2 reload