- +

Автор: abarmodd Тема: Помогите с настройкой виртуальных хостов для апача, xub 16.04  (Прочитано 568 раз)

Оффлайн abarmodd

  • Начинающий
  • *
  • Сообщений: 2
  • Репутация: +0/-0
    • Просмотр профиля
когда то настраивал вирт. хосты на 12.04, проблем не возникало, потом ставил 14.04, были сложности, но как то решал, сейчас уже и не помню, теперь поставил 16.04 и хоть убейся не могу настроить апач, точнее вирт.хосты. то на локалхост перебрасывает, то форбидтен выкинет, что только не пробовал, не выходит. Скиньте пжлст рабочий конфиг, вирт хоста, что бы папки в домашней директории были, apache2.conf, и hosts. Незнаю куда копать в логах ничего познавательного нет, апач стартует, релоадится без ошибок, a2ensite без ошибок, а не работает

Оффлайн mastergx27

  • Начинающий
  • *
  • Сообщений: 9
  • Репутация: +0/-0
    • Просмотр профиля
виртуальных хостов для апача, xub 16.04  - а в гугле хотябы первые три ссылки читал?

Оффлайн butjapka

  • Global Moderator
  • Старожил
  • *****
  • Сообщений: 1194
  • Репутация: +117/-0
  • Xubuntu 16.04 LTS
    • Просмотр профиля
виртуальных хостов для апача, xub 16.04  - а в гугле хотябы первые три ссылки читал?
если есть информация, помогаем, в гугл не стоит отправлять, запросите у ТС чего не хватает вам для помощи, вывод ошибок и т.п.
Сам не шарю в этой теме

Оффлайн oermolaev

  • Начинающий
  • *
  • Сообщений: 42
  • Репутация: +6/-0
    • Просмотр профиля

Оффлайн Anaken Madsen

  • Начинающий
  • *
  • Сообщений: 2
  • Репутация: +0/-0
    • Просмотр профиля
Вот очень хорошая статья о настройке вэб сервера. Подробно и со скриншотами.

https://habrahabr.ru/post/220181/

Я бы дополнил ее  вот такой командой для установки компонентов:

sudo apt install apache2 mysql-server php phpmyadmin libapache2-mod-php php-mcrypt php-mbstring php-gettext php-simplexml php-gd

И еще полезный скрипт для автоматического создания виртуального хоста в домашней папке:

#!/bin/bash


VHOST="$1"


WEB_SERVER_CONFIG_PATH="/etc/apache2/sites-available"
WEB_SITE_DIR="/home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/web"


cd "$WEB_SERVER_CONFIG_PATH"
FILENAME="$VHOST".conf
touch "$FILENAME"
echo "<VirtualHost *:80>" >> "$FILENAME"
echo "ServerAlias ${VHOST}.dev www.${VHOST}.dev" >> "$FILENAME"
echo "DocumentRoot ${WEB_SITE_DIR}/${VHOST}.dev" >> "$FILENAME"
echo "<Directory ${WEB_SITE_DIR}/${VHOST}.dev/>" >> "$FILENAME"
echo "AllowOverride All" >> "$FILENAME"
echo "Require all granted" >> "$FILENAME"
echo "</Directory>" >> "$FILENAME"
echo "</VirtualHost>" >> "$FILENAME"


cd "$WEB_SITE_DIR"
mkdir -p "${VHOST}.dev"
chmod -R 777 "${VHOST}.dev"

a2ensite "$VHOST"

service apache2 restart

echo "127.0.1.1 ${VHOST}.dev" >> /etc/hosts


Использование скрипта:

sudo ИмяСкрипта ИмяХоста

В результате сайт будет доступен по адресу http://ИмяХоста.dev/


Оффлайн abarmodd

  • Начинающий
  • *
  • Сообщений: 2
  • Репутация: +0/-0
    • Просмотр профиля
Цитировать
echo "127.0.1.1 ${VHOST}.dev" >> /etc/hosts
Почему адрес 127.0.1.1, если локалхост 127.0.0.1? А для советчиков посмотреть в гугле, отвечу что перечитано много еще пару лет назад, да только что то не так.
И если папки с проектами хранятся в домашней папке, надо ли в apache2.conf создавать дополнительную секцию <Directory>, где как пишут, не могу понять. Создавал, но все равно было форбидтен
« Последнее редактирование: Август 14, 2017, 17:08:48 от abarmodd »

Оффлайн Anaken Madsen

  • Начинающий
  • *
  • Сообщений: 2
  • Репутация: +0/-0
    • Просмотр профиля
document root указывает на корень для виртуального хоста, что-то типа basedir, т.е. при работе сайта вся адрсация при указании пути типа "/index.html" будет производиться именно от того места, которое указано в document root.

directory указывает где именно физически лежат файлы сайта, та папка, в которой апач будет искать сайт.

почему 127.0.1.1 не знаю. с 127.0.0.1 у меня не заработало, изучать вопрос не стал, сделал как было сказано в инструкции.

насчет forbidden - явно дело в правах, тоже особо не вникал. по логике папку сайта создавал тот же пользователь, который и пытается посмотреть сайт через браузер, но это кажется на первый взгляд. обращение к папке сайта идет от лица другого пользователя, который не имеет отношения к созданию и владению этими папками и файлами, потому для него нужны допольнительные права. что это за пользователь мне лень искать. если сайт для тестов в домашних условия - смело можно ставить права 777 и не париться. если сайт вывешивается в инет - то читаем инструкцию к движку, там всегда пишут что к папкам права 755, к файлам 644, ко всяким временным папкам нужно указывать какие-то особые права, об этом всегда пишут в инструкциях к движкам.