0
Найти на сайте: параметры поиска

 

 

настройка локального сервера apache2 на LInux

  
Сообщений: 0
Доброго времени суток! Совсем недавно пересел на LinuxMint сейчас стоит 18 версия. Переход был связан с началом изучения php. Так вот ребром встал вопрос настройки локального сервера так, что бы виртуальные домены запускались из одноименных папок (по примеру OpenServer на Windows) То есть, сейчас при загрузки фалов в папку mysite.com которая расположена по адресу /var/www/html доступ к ней происходит через localhost/mysite.com, а хотелось бы что бы адрес был mysite.com/ Я нашел подобную настройку на этом сайте, но тогда просто базовая папка вместо localhost меняется на mysite.com и все файлы должны находится в ней, но если нужно создать параллельно второй локальный сайт? есть ли подробная инструкция по настройке сервера что бы виртуальный сайт открывался именно по имени папки в которой он находится?
Спасибо!
Сообщений: 0
Здравствуйте. В Apache для этого используются виртуальные хосты. Об их использовании можно почитать здесь. Обратите внимание на 4-й, 5-й и 6-й шаги.

Процитирую здесь на случай, если ссылка перестанет работать.
Спойлер
Редактировалось: 1 раз (Последний: 17 сентября 2016 в 17:49)
Сообщений: 0
nimms:

Здравствуйте. В Apache для этого используются виртуальные хосты. Об их использовании можно почитать здесь. Обратите внимание на 4-й, 5-й и 6-й шаги.

Процитирую здесь на случай, если ссылка перестанет работать.
[spoiler=Спойлер]
Шаг 4 - Создание файлов нового виртуального хоста

Файлы виртуальных хостов задают их конфигурацию, и определяют, как именно веб-сервер Apache будет отвечать на запросы к разным доменам.

По умолчанию, Apache имеет файл виртуального хоста 000-default.conf, который мы можем использовать в качестве отправной точки. Мы собираемся скопировать его, чтобы создать файлы виртуального хоста для каждого из наших доменов.

Мы начнем с одного домена, сконфигурируем его, скопируем для другого домена, и затем снова сделаем необходимые правки. Конфигурация Ubuntu по-умолчанию требует, чтобы каждый файл виртуального хоста заканчивался расширением .conf.
Создание файла первого виртуального хоста

Начнем с копирования файла для первого домена:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

Откройте новый файл в редакторе с root-правами:

sudo nano /etc/apache2/sites-available/example.com.conf

Файл будет похож на этот (мы удалили комментарии, чтобы сделать его более читабельным):


ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined


Как видите, файл совсем небольшой. Мы поправим его для нашего первого домена и добавим некоторые новые директивы. Эта секция конфигурации виртуального хоста относится к любом запросам, которые сделаны по 80 порту (порт по-умолчанию для HTTP).

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

ServerAdmin admin@example.com

Затем мы должны добавить две новые директивы. Первая, ServerName, устанавливает основной домен, который должен соответствовать названию виртуального хоста. Это должно быть ваше доменное имя. Вторая, ServerAlias, определяет другие имена, которые должны интерпретироваться так, как будто это основной домен. Это удобно для использования дополнительных доменных имен, например, с использованием www:

ServerName example.com
ServerAlias www.example.com

Единственная вещь, которую нам осталось изменить в базовом файле виртуального хоста, это расположение корневого каталога этого домена. Мы уже создали нужную директорию, так что нам осталось изменить директиву DocumentRoot так, чтобы она ссылалась на созданную нами директорию:

DocumentRoot /var/www/example.com/public_html

Теперь наш файл виртуального хоста должен выглядеть следующим образом:


ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined


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

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

Начните с копирования:

sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf

Откройте новый файл в редакторе с правами root-пользователя:

sudo nano /etc/apache2/sites-available/test.com.conf

Теперь вам нужно поправить всю необходимую информацию для второго домена. Когда вы закончите, файл должен выглядеть похожим образом:


ServerAdmin admin@test.com
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined


Сохраните и закройте файл после внесения правок.


Шаг 5 - Включение новых виртуальных хостов

Теперь, когда мы создали файлы наших виртуальных хостов, мы должны их включить. Apache содержит инструменты, позволяющие нам это сделать.

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

sudo a2ensite example.com.conf
sudo a2ensite test.com.conf

После завершения необходимо перезапустить Apache, чтобы изменения вступили в силу:

sudo service apache2 restart

Скорее всего, вы получите сообщение, похожее на это:

* Restarting web server apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

Это сообщение безобидно и не влияет на наш сайт.


Шаг 6 - Настройка файла локальных хостов (опционально)

Если до этого вы использовали не реальные доменные имена, которыми вы владеете, а тестовые, вы можете протестировать работоспособность виртуальных хостов, временно изменив файл hosts на вашем локальном компьютере.

Это позволит перехватывать любой запрос к доменам, которые вы настроили и перенаправлять его на ваш VPS сервер так, как это сделала бы система DNS в случае использования реально зарегистрированных доменов. Это будет работать только с вашего локального компьютера и используется только для тестирования.

Убедитесь, что дальнейшие шаги вы будете проделывать на вашем локальном компьютере, а не на VPS сервере. Вам необходимо знать пароль администратора или быть членом группы администраторов.

Если вы используете компьютер с Mac или Linux, вы можете редактировать локальный файл с правами администратора, введя команду:

sudo nano /etc/hosts

Если у вас компьютер с Windows, вы можете найти инструкции по редактированию файла хостов здесь.

Вам необходимо добавить в файл публичный IP-адрес вашего VPS сервера и, следом, доменное имя, по которому вы хотите обращаться к этому VPS.

Для доменов, используемых в этом руководстве, предположим, что IP-адрес нашего VPS 111.111.111.111. В этом случае мы можем добавить следующие строки в конец файла hosts:

127.0.0.1 localhost
127.0.1.1 guest-desktop
111.111.111.111 example.com
111.111.111.111 test.com

В результате этого любые запросы к example.com и test.com с нашего компьютера будут перенаправляться на наш сервер по адресу 111.111.111.111. Это удобно для проверки правильности настройки наших виртуальных хостов для случая, когда мы не являемся реальными владельцами этих доменных имен.

Сохраните и закройте файл.
[/spoiler]
Да, я уже находил подобные инструкции в сети, делал все пошагово, но, почему то, не работает! (((
Сообщений: 0
Вот, посмотрите здесь Достаточно подробно расписано и все работает.
В начало страницы 
|
Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.