Apache2 может определять хосты по ip-адресам, по доменным именам и по портам.
Мы будем использовать второй вариант, то есть определение хостов по доменным именам.
В папке /etc/apache2/sites-available будут храниться все конфигурационные файлы виртуального хоста.
Затем мы его просто будем включать и выключать по надобности.
Один файл там уже есть, на основе его мы и сделаем свой.
Скопируем под именем example (наш хост будет называться example, и в браузере станет доступен по ссылке http://example)
Код: Выделить всё
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.conf
Теперь надо отредактировать, вновь созданный, файл
Код: Выделить всё
nano /etc/apache2/sites-available/example.conf
Разъяснение настроек:<VirtualHost *:80>
ServerName example
DocumentRoot /home/goodigy/sites/example
<Directory /home/goodigy/sites/example>
Options Indexes FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /home/goodigy/sites/example/error.log
CustomLog /home/goodigy/sites/example/access.log combined
</VirtualHost>
- ServerName example - указание доменного имени по которому будет определяться хост.
- DocumentRoot /home/goodigy/sites/example - привязывает папку к хосту.
Options Indexes FollowSymlinks
AllowOverride All
Require all granted
- </Directory> - это настройки папки,
- Options Indexes FollowSymlinks - если нет индексного файла (index.html, index.php), показывать список файлов, удобно на локальном сервере.
- AllowOverride All - разрешает переопределять настройки в .htaccess.
- Require all granted - доступ разрешен всем.
- ErrorLog - указывает расположение файла с логом ошибок, я их храню в папке с сайтом.
- CustomLog - указывает расположение файла с логом доступа, я их храню в папке с сайтом.
Создаем папки, указанные в конфигурационном файле
Код: Выделить всё
mkdir /home/goodigy/sites
mkdir /home/goodigy/sites/example
Код: Выделить всё
a2ensite example.conf
Код: Выделить всё
a2dissite 000-default.conf
Код: Выделить всё
service apache2 restart
Код: Выделить всё
nano /etc/hosts
Туда надо добавить указание на наш домен example127.0.0.1 localhost
127.0.1.1 googidy-comp
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Сохраняем.127.0.0.1 localhost
127.0.1.1 igy-nout
127.0.0.1 example
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Все, теперь по адресу http://example доступен наш новый хост. В браузере должна отобразиться папка с файлами, так как там отсутствует индексный файл