В этой статье я покажу вам, как можно настроить Apache, что бы на одном IP адресе работало несколько сайтов, делается это очень просто, добавлением виртуальных хостов в апач.
Для этого нужно:
1) Создать папки для сайтов, например в директории /var/www, создадим 2 папки – site1.loc и site2.loc
mkdir /var/www/site1.loc
mkdir /var/www/site2.loc
Создадим в этих папках файлы index.html (sudo nano /var/www/site1.loc/index.html) с примерно таким содержанием:
<html>
<head>
<title>site1.loc</title>
</head>
<body>
<h1>this is site1</h1>
</body>
</html>
Изменим владельца папок на пользователя Apache:
sudo chown -R www-data:www-data /var/www/*
И зададим необходимые разрешения на эти папки:
Sudo chmod –R 664 /var/www/*
После этого нужно добавить виртуальные сайты в Apache:
sudo nano /etc/apache2/sites-enabled/site1.loc.conf
В нем нужно написать строчки:
<VirtualHost *:80>
ServerAdmin admin@site1.loc
ServerName site1.loc
ServerAlias www.site1.loc
DocumentRoot /var/www/site1.loc/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
И нужно добавить файл для второго сайта – site2.loc.conf, содержание будет такое же как и для первого, только за место site1 нужно везде вписать site2.
После этого перезапускаем апач:
/etc/init.d/apache2 restart
Если он перезапустился, то можно проверить его работу, добавляем на компьютере в файл hosts адрес сервера с привязкой к сайтам, и удостоверяемся, что откроется правильный сайт.
Видео по теме


И зададим необходимые
И зададим необходимые разрешения на эти папки:
может всетаки 755 ?
А дальше? вбиваю я IP и мне
А дальше? вбиваю я IP и мне открывает дефолтную страницу apache которая лежит в /var/www/html
прописываю ip/site1 и мне пишет, что не найдено. как мне увидеть остальные сайты?
На остальные нужно заходить
На остальные нужно заходить по имени, предварительно сделав записи на днс сервере.
Спасибо. получил адреса для
Спасибо. получил адреса для сайта на no-ip, прикрутил, пробросил адреса и все норм заработало. Просто первый раз делал.
Спасибо огромное! Разобрался!
Спасибо огромное! Разобрался! Была банальная ошибка и не внимательность. Спасибо огромное! Разобрался!
РЕБЯТА! Для тех, у кого не получается правильно настроить апач в 24 году по этой статье, вот решение:
1 ОШИБКА [ Sudo chmod –R 664 /var/www/* ] меняем на -> sudo find /var/www/ -type d -exec chmod 775 {} \;
2 Нужно создать симлинки на эти файлы в директории /etc/apache2/sites-enabled с помощью команды a2ensite:
a2ensite site1.loc site2.loc
И вуаля!