Настройка виртуальных хостов apache2(Инструкция)

Сообщения
75
Реакции
66
Помог
1 раз(а)
После написаной статьи настройки виртуального хоста nginx, решил выложить еще и настройку виртуальных хостов в apache2.
Система та же - Ubuntu 16.04.
Поехали.
Обновляем пакеты и устанавливаем сам apache:
Код:
sudo apt update
sudo apt install apache2
Как и раньше - манипуляции проводим в папке /var/www/
Код:
sudo mkdir -p /var/www/example.ru/html
sudo mkdir -p /var/www/example.ru/logs
Где example.ru указываем свое название сайта или поддомена.[/COLOR]
В папке html будут лежать файлы сайта, а в папке logs - логи.
Добавляем не рутового пользователя, в качестве владельца сайта:
Код:
sudo adduser user
Где user указываем имя своего пользователя.
После выполнения данной команды вам нужно будет ввести, а после подтвердить, пароль созданого вами пользователя. Запоминаем или записываем данные. Когда то они нам, возможно, будут нужны.
Создав пользователя нам нужно выдать ему права на директорию сайта, сделаем это:
Код:
sudo chown -R user:user /var/www/example.ru
Где user - имя пользователя, которого вы создали, а example.ru - название вашего сайта или поддомена.[/COLOR]

Теперь у нас есть директория под сайт, а так же ее владелец.
Создадим страницу приветствия нашего сайта:
Код:
sudo nano /var/www/example.ru/html/index.html
Вставив внутрь следующий текст:
Код:
<html>
    <head>
        <title>Приветствуем вас на нашем сайте example.ru</title>
    </head>
    <body>
        <h1>Если вы видите данную страницу, значит всё работает :)</h1>
    </body>
</html>
Сохраняем и закрываем файл index.html

Осталось создать виртуальный хост и включить наш сайт.
По умолчанию, Apache имеет файл виртуального хоста 000-default.conf в папке /etc/apache2/sites-available
Скопируем его:
Код:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.ru.conf
Вместо example.ru опять же указываем имя своего сайта или поддомена. Можно и любое другое, но для простоты выбираем имя нашего сайта.
Отредактируем скопированный файл:
Код:
sudo nano /etc/apache2/sites-available/example.ru.conf
Вставим туда следующее:

Код:
<VirtualHost *:80>
    #Указываем адресс почты
    ServerAdmin [email protected]
    #Меняем на имя домена/поддомена
    ServerName example.ru
    ServerAlias www.example.ru
    #Ресположение корневого каталога домена
    DocumentRoot /var/www/example.ru/html
    #Логи
    ErrorLog /var/www/example.ru/logs/error_apache2.log
    CustomLog /var/www/example.ru/logs/access_apache2.log combined
</VirtualHost>
Сохраняем и закрываем файл.
Включаем наш сайт:
Код:
sudo a2ensite example.ru.conf
Рестартим apache
Код:
sudo service apache2 restart
Переходим на наш сайт: example.ru , и если всё работает, то вы увидите страницу приветствия, которую мы создавали ранее.
На этом всё.
Спасибо за внимание.

p.s. Тема статьи не совсем соответствует разделу, но лучше ничего не нарыл. Просьба перенести тему в случае существования такого раздела.
 
Последнее редактирование модератором:
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
Статьи полезные для тех, кто не умеет пользоваться поиском. :crazy:
Первые же ссылки на настройку apache или nginx...
 
Сообщения
20
Реакции
10
Обьясните новичку, что лучше? nginx или apache?
 
Сообщения
258
Реакции
262
Помог
5 раз(а)
Статьи полезные для тех, кто не умеет пользоваться поиском. :crazy:
Первые же ссылки на настройку apache или nginx...
А вы настраивали сами Nginx? А PHP-FPM на нём? А phpMyAdmin, который находится в другом каталоге, пробовали запустить? А всё это корректно настроить в Dockerfile + docker-compose? То, что вы находите в поиске - это решения тривиальных задач и они не помогут вам, если у вас будет собственная задача. Тут нужно будет вникать во все детали. Ещё один мануал не помешает (если он будет описывать эти детали, хотя бы некоторые).

Обьясните новичку, что лучше? nginx или apache?
Nginx. Apache уходит (или уже ушёл) в прошлое.
16 Июл 2017
П.с.: мб, кому-то будет полезно: GitHub - Subb98/Docker-Web-Environment: Simple environment on the Docker for your web application
 
Сообщения
75
Реакции
66
Помог
1 раз(а)
Endzhey, Зависимо что требуется. Для банлиста и статистики nginx+php-fpm самое то. Но тут стоит обратить внимание на версию пхп, так как все бесплатные статистики не работают на версиях выше 7, по крайней мере, не встречал таких.
 
Сообщения
82
Реакции
83
Помог
5 раз(а)
Endzhey, Апач уже давно в прошлом. Да, многие его используют, но это как в случае с PHP либой mysql_* - полно гайдов и статей в интернете, поэтому остается жив до сих пор. Так же, думаю хостингам апач более удобен. Но если мы говорим о виртуальной машине, явно нужно отдавать предпочтение nginx.
Одна из моих старых закладок в браузере:
Я медленно удаляю apache с сервера

На данный момент, лично для меня nginx ничем не уступает апачу в плане возможностей. В плане гибкости настроек и производительности, nginx явно в топе. Единственное, в чем nginx уступает - документация. И то, доков хватает, их просто намного меньше чем апачевых, и меньше "живых" примеров.
В целом, я на nginx переехал около 5-и лет назад - с апачем знаться нет желания больше =)

Subb98, докер отдельная тема, как раз решаем подобную задачу на работе =) Возьму в качестве примера =)))
17 Июл 2017
zerg, как у уже сказал, самая стабильная, производительная и правильная, в конце концов реализация - nginx + php-fpm. Что касается PHP, однозначно PHP 7, и уже когда мы поймем что что-то работает не так или не работает вовсе из-за версии, можно обратиться к знатокам, и в два счета все поправить под новый пых.
 
Сообщения
75
Реакции
66
Помог
1 раз(а)
oxoTHuk, Я не имел ввиду, что виновата версия пхп(наоборот отдаю голос в сторону 7 версии), виноваты недоскрипты(хотя от халявы ожидать ничего не стоит). После нескольки лет использования апача сейчас пользуюсь связкой nginx+php-fpm устраивает более чем.
 
Сообщения
82
Реакции
83
Помог
5 раз(а)
zerg, ну почему же сразу "недоскрипты". В PHP 7 есть много чего, что нужно править, даже если изначально вроде хорошо написано. Например, стоит уделить внимание функции list();
Трудности при переезде на PHP7 растут прямо пропорционально объему проекта.
Все, что есть в паблике, если немного покрутить, встанет на PHP 7 без особых проблем, я думаю.
 
Сообщения
3,582
Реакции
1,570
Помог
137 раз(а)
zerg, сбрось форматирование текста на дефолтное, там где это чёрный текст. На тёмной теме не представляется возможным читать.

17831
 
Сообщения
75
Реакции
66
Помог
1 раз(а)
sbelov020, он же и был по дефолту :beee:
Спасибо модераторам за помощь.
 
Последнее редактирование:

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу