Linux как vhosts conf

Virtual Host под XAMPP в Linux Mint

June 06, 2014

Под локальным сервером XAMPP можно создавать неограниченное количество виртуальных хостов.

Что такое виртуальный хост (Virtual Host)? Применительно в серверу XAMPP — это поддиректории, в которых размещаются отдельные сайты. То есть, имеется директория htdocs , а в ней размещены поддиректории site_1 , site_2 , site_3 (или же так — redface , football , greenpark , название может быть любым).

В каждой из этих поддиректорий распакован и установлен движок CMS WordPress (к примеру). Вот эти поддиректории site_1 , site_2 , site_3 и являются виртуальными хостами под локальным сервером XAMPP.

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

Настройка виртуальных хостов на XAMPP под Linux Mint почти ничем не отличается от подобной настройки под Windows, меняются только пути конфигурационных файлов. Весь процесс настройки можно свести к двум шагам:

  1. Настройка хостов в файле /etc/hosts
  2. Настройка виртуальных хостов в файле /opt/lampp/etc/extra/httpd-vhosts.conf

Ниже на примере расмотрим подробное описание создания одного виртуального хоста на XAMPP под Linux Mint.

Создание поддиректории виртуального хоста (Virtual Host)

Для начала подготовим место, где будет располагаться будущий виртуальный хост. Для этого создадим поддиректорию redface (имя произвольное) и обязательно разместим в ней индексный файл index.html :

Виртуальный хост с именем redface почти создан. Осталось “сказать” об этом локальному серверу XAMPP и операционной системе Linux Mint.

Редактирование файла /etc/hosts

Операционной системе Linux Mint нужно “сказать”, что виртуальный хост redface размещен по адресу 127.0.0.1 . Для этого открываем для редактирования файл /etc/hosts командой:

… и дописываем в нем строку 127.0.0.1 redface.dev :

Окончание .dev является произвольным и служит для того, чтобы вебмастер не забыл, что данный сайт является локальным. Вместо .dev можно использовать .lc и какое угодно другое имя.

Сохраняем Ctrl+O и выходим Ctrl+X из редактора nano .

Включение поддержки виртуального хоста в XAMPP

По умолчанию в настройках XAMPP отключена поддержка виртуальных хостов. Для включения такой возможности нужно отредактировать конфигурационный файл httpd.conf сервера Apache.

Для этого открываем его командой:

В открытом файле httpd.conf нужно найти (в редакторе это сочетание Ctrl+W ) строку # Virtual hosts и раскомментировать (снять знак решетки # ) строку:

Создание виртуального хоста в файле httpd-vhosts.conf

Открываем для редактирования файл httpd-vhosts.conf и знакомимся с его содержимым:

В начале идет много закомментированных строк с кратким описанием виртуального хоста и принципом его создания в данном файле. Можно смело почистить файл httpd-vhosts.conf от этого мусора.

Далее идут два блока с открывающим тегом и закрывающим тегом . Данные блоки являются виртуальными хостами — их два по умолчанию, но можно добавить сколько необходимо.

Эти блоки не рабочие, а всего лишь примеры, как нужно создавать свой собственный виртуальный хост. Внутри тегов / размещена служебная информация — описание виртуального хоста:

Читайте также:  Microsoft windows immersive shell windows 10

Жизненно необходимыми для существования виртуального хоста (Virtual Host) под XAMPP являются две строки:

  • DocumentRoot — путь размещения виртуального хоста в файловой системе
  • ServerName — доменное имя виртуального хоста

Остальные строки носят дополнительный характер:

  • ServerAdmin — e-mail адрес “администратора” хоста
  • ServerAlias — синоним доменного имени ServerName
  • ErrorLog и CustomLog — логи виртуального хоста

Эти два блока-примера можно отредактировать для конкретного случая, а можно создать свой собственный блок (виртуальный хост) на их основе. Давайте пойдем по второму пути и создадим свой собственный блок для виртуального хоста redface :

Обратите внимание, как поменялись значения в этм блоке на конкретные, под хост redface .

Запускаем (если еще не запущен) или перезапускаем (если уже был запущен) локальный сервер XAMPP:

… и “вбиваем” в адресной строке браузера доменное имя созданного нами виртуального хоста redface.dev :

ОК, все работает!

Проблемы с правами доступа на виртуальном хосте

При создании виртуального хоста (Virtual Host) под XAMPP в директории htdocs для создания или редактирования файлов потребуется изменение прав доступа. По умолчанию поддиректория, в которой располагается виртуальный хост, и все файлы внутри этого хоста имеют разрешение только на чтение.

Чтобы можно был вносить в них изменения с правами обычного пользователя, нужно выполнить команду:

Изменение точки монтирования виртуального хоста

В этой статье точка монтирования виртуальных хостов (Virtual Hosts) располагалась по адресу — /opt/lampp/htdocs/ . То есть, поддиректории виртуальных хостов находились внутри директории htdocs .

Однако, у локального сервера XAMPP имеется возможность переопределить местоположение виртуальных хостов внутри файловой системы Linux Mint. Например, можно расположить все хосты в домашней директории пользователя. Плюсом такого выбора является то, что нет необходимости настраивать права доступа для папок и файлов.

Вся настройка для переопределения точки монтирования виртуальных хостов (Virtual Hosts) сводится к одному действию — изменить значение строки DocumentRoot . Но, к моему сожалению, мне не удалось настроить XAMPP на своем ноутбуке подобным образом.

Все попытки переименовать значение строки DocumentRoot приводили к тому, что XAMPP не мог открыть индексную страницу.

В чем причина подобного отказа со стороны XAMPP, я так и не разобрался. Может быть, внимательный читатель подскажет, в чем причина?

P.S. от 09.09.2014

Добавил в статью комментарий пользователя Alexandr. Сам комментарий мне понравился — подробный и ценный. Поэтому перенес его в статью, как есть. Ниже привожу полный текст, с небольшими стилистическими правками.

Так можно добавить в рабочую папку с проектами на другом диске (например, для использования на Linux и Windows отдельно):

1. Файл httpd.conf

Найти строки и заменить (Имя пользователя):

  • User (username)
  • Group (по умолчанию или username)

2. Создаем мягкую ссылку:

Права на мягкую ссылку “opt/lampp/htdocs/domains” д. б. 777 ( или около того )

3. Файл httpd-vhosts.conf

4. Файл /etc/hosts

5. Меняем владельца файла

Меняем владельца файла /opt/lampp/htdocs/xampp/lang.tmp :

Иначе localhost xampp дальше стартовой страницы может не загрузиться.

6. Перезапуск сервера

… и проверка в браузере: http://mydomain/

Каждый раз при запуске компьютера, сайты будут не доступны, до тех пор пока диск не примонтирован к системе (для этого нужно просто зайти на тот диск, с помощью файл-менеджера или придумать свой способ).

Если каким-то образом, диск в Linux откажется монтироваться, нужно в Windows отключить быструю загрузку (Fast Boot) в параметрах электропитания.

Для тестирования IE в Linux ставится виртуальная машина (например, VirtualBox), куда устанавливаем Windows7 и любимый браузер IE. В самой Windows редактируем файл hosts также как и в Linux, с одним условием – нужно вписывать другой IP, вместо 127.0.0.1, нужно вписывать 10.0.2.2.

Читайте также:  Как удалить папку windows через cmd

Сайт через виртуальную машину будет также доступен.

TypeScript — размеченные объединения

> Пользовательское объединение типов — что это и как можно использоватьПомимо объединения **примитивных** типов данных (например):<% high. … Continue reading

Источник

Настройка виртуальных хостов Apache в Arch Linux

Что такое виртуальные хосты?

Виртуальные хосты используются для размещения нескольких доменов на одном IP-адресе. Это особенно важно для пользователей, которые хотят запустить несколько сайтов на одном сервере. На один сервер можно добавить неограниченное количество виртуальных хостов.

Требования

Для выполнения руководства нужна учетная запись пользователя с расширенными привилегиями или привилегиями root. Подробнее об этом можно узнать в статье «Начальная настройка сервера Arch Linux».

Кроме того, нужно предварительно установить Apache. Для этого используйте команду:

sudo pacman -S apache

1: Создание нового каталога

Сначала нужно создать каталог, в котором будет храниться информация нового сайта. Это – так называемый root-каталог (раздел Document Root в файле конфигурации Apache).

sudo mkdir /srv/http/domain1.com
sudo mkdir /srv/http/domain2.com

На данном этапе нужно указать доменное имя или IP-адрес, чтобы проверить работу виртуальных хостов. В данном руководстве в качестве доменных имен используются domain1.com и domain2.com.

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

2: Создание страницы

Создайте тестовую страницу в новом каталоге хоста.

sudo nano /srv/http/domain1.com/index.html

Внесите в файл следующий код, чтобы при переходе на IP на странице отображался некоторый контент.

Источник

Linux как vhosts conf

Как установить локальный сервер на linux

Хаюшки! В данной статье рассмотрена установка и настройка локального веб сервера со связкой apache, php, mysql в операционной системе linux. Погнали!

Если вы веб программист то наверняка знаете такие программы как denver или open server. Они по сути создают на ПК локальный сервер и позволяют гибко им управлять. В linux к сожалению подобных программ нет и здесь требуется немного другой подход к развертыванию локального сервера.

Для начала вам необходимо скачать пакеты XAMPP для linux.

По итогу скачается подобный файл xampp-linux-x64-7.2.29-1-installer.run который нужно сделать исполняемым и запустить! Открываем консоль в папке с данным файлом. И выполняем команду:

Данная команда сделаем файл исполняемым. И затем запустим под root правами.

Далее откроются окна установки пройдя которые по данному пути ‘/opt/lampp’ будут установлены все файлы локального сервера.

Для проверки можно запустить локальный сервер выполнив в консоли команду:

и затем открыть в браузере следующий адрес ‘http://localhost/’. Перейдя по такому адресу ‘http://localhost/phpmyadmin/’ откроется панель phpmyadmin для работы с базами данных Mysql.

Чтобы остановить локальный сервер достаточно выполнить команду.

Для перезапуска используется команда restart.

Данная команда сначала останавливает локальный сервер а затем запускает.

Идем далее. Рассмотрим как разместить сайт на нашем локальном сервере.

Переходим в папку ‘htdocs’, она находится по такому пути ‘/opt/lampp/htdocs’. В данной директории размещаются локальные хосты сервера. Если вы работали с open server то эта альтернатива папке ‘domains’.

Если директория htdocs не пустая, то все от туда удаляем и создаем новую папку ‘newdomain’ это будет наш локальный домен сайта. В папке создадим файл index.php в который просто пропишем.

Данный код выведет в консоль информацию о конфигурациях php.

Затем необходимо добавить наш новый домен (newdomain) в конфигурации сервера. Находим и открываем файл хостов ‘hosts’ (/etc/hosts).

Читайте также:  Windows server или microsoft sql server

Для начала можно все из него удалить и прописать такую вот строку.

127.0.0.1 localhost lampp xampp — это строка стандартная и постоянная, после нее идет перечисление хостов(доменов) которые мы хотим добавить. В нашем случае домен один это newdomain. Если доменов несколько то просто перечисляем их через пробел, пример.

С этим разобрались! Сохраняем изменения в файле hosts и переходим к файлу httpd-vhosts.conf (/opt/lampp/etc/extra/httpd-vhosts.conf).

В нем также все удаляем и прописываем следующее.

Здесь нас интересуют строки:

DocumentRoot ‘/opt/lampp/htdocs/newdomain/’ — указывается путь к файлам нашего сайта на хосте ‘newdomain’.

ServerName newdomain — указывается домен ‘newdomain’

ServerAlias www.newdomain — указывается поддомен www ‘newdomain’

Остальные строки можно всегда оставлять как есть. Еще обратите внимание ‘127.0.0.1:80’ что мы подключаемся по 80 порту http.

Сохранив изменения можно запускать локальный сервер.

После запуска, в адресной строке браузера вводим адрес нашего локального хоста ‘http://newdomain’ и вуаля. Сайт запущен!

Результатом будет вывод на странице конфигураций php.

Это конечно все хорошо но что если мы к примеру хотим запустить сайт под https? Рассмотрим как это можно сделать!

Для закрепления материала создадим еще один сайт.

В папке htdocs создаем директорию ‘site’ в ней файл index.php

Обновляем файл ‘hosts’

Обновляем файл ‘httpd-vhosts.conf’

Обратите внимание что для хоста ‘site’ мы прописали две конфигурации для http ‘127.0.0.1:80’ и https ‘127.0.0.1:443’.

После сохранения изменений перезапускаем сервер.

И пробуем перейти на сайт ‘https://site/’ при первом переходе у вас может вылезти предупреждение о небезопасности соединения, игнорируем его и переходим.

В результате сайт будет работать под https. В некоторых браузерах в частности google chrome рядом с адресной строкой может отображаться что соединение не защищено.

На это можно не обращать особого внимания так как основные технологии которые работают только под https будут работать и этого вполне достаточно для тестирования.

Вот все что я вам хотел рассказать про работу с локальным сервером (apache + php + mysql) в linux. В принципе этих знаний уже достаточно для работы веб программисту.

Напоследок хочу дать небольшой бонус по автоматизированному запуску сайтов на локальном сервере. Согласитесь что так добавлять новые сайты на локальный сервер не очень удобно, необходимо как минимум внести изменения в два файла hosts и httpd-vhosts.conf. В качестве решения этой проблемы мной был разработан скрипт на Python для автоматического запуска.

Файл web-server.py и его содержимое:

Кто разбирается в Python для тех не составит особого труда разобраться что делает данный код. При запуске данного файла перебираются все папки в директории htdocs при этом данные в ‘hosts’ и ‘httpd-vhosts.conf’ обновляются, локальный сервер перезапускается.

Для большего удобства файл можно сделать исполняемым.

и разместить в ‘/usr/bin’. В результате этих действий вы сможете запускать и перезапускать локальный сервер простой командой в консоли.

В результате вам больше не придется лазать в файлы ‘hosts’ и ‘httpd-vhosts.conf’. И заметьте что каждый сайт на локальном хосте будет доступен под http и https.

На этом у меня все. Надеюсь данная статья оказалась для вас интересной и полезной! Не забывайте подписываться в группу Вконтакте и переходите на мой канал Youtube.

Желаю вам успехов и удачи! Пока.

Оцените статью:

Статьи

Комментарии

Внимание. Все комментарии проходят модерацию перед публикацией!

В данном разделе пока нет комментариев!

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm

Источник

Оцените статью