Я говорил, что напишу про то как настроить виртуальные хосты в Ubuntu и изменить каталог для размещения сайтов. Ну вот, пишу.
В интернете много написано о виртуальных хостах и о том, как их настроить. Но где-то информация устаревшая, где то на половину рабочая. В итоге процедура, которая занимает от силы пять минут, растягивается на несколько часов. У меня та было. Поэтому, для того, чтобы снова не тратить много времени в следующий раз, когда мне это понадобится я и пишу эту статью.
Настройка корневого каталога для сайтов
По умолчанию Apache ищет интернет страницы в /var/www/html . Но для пользователя это может быть неудобно. Поэтому при желании корневой каталог можно сменить. Я например, для своих сайтов буду использовать папку public_html в домашнем каталоге. Кроме того, я сразу же создам папку для тестового сайта testsite.loc и непосредственно папку, в которой будут находится файлы сайта www . То есть нужно создать такую структуру каталогов: /public_html/testsite.loc/www/ . Можно сделать это через файловый менеджер, можно через терминал:
Mkdir -p public_html/testsite.loc/www
Сразу создаем простую тестовую страницу index.html
Привет!!
И сохраняем ее в папку www.
Теперь редактируем файл виртуального хоста 000-default.conf , чтобы указать Apache где мы теперь размещаем сайты:
Sudo gedit /etc/apache2/sites-available/000-default.conf
В открывшимся файле находим строчку, которая начинается с DocumentRoot и меняем путь на новый: /home/user/public_html/ . Где user — ваше имя пользователя.
Сохраняем файл и закрываем редактор.
Внесем изменения в файл настроек apache2.conf :
Sudo gedit /etc/apache2/apache2.conf
Добавляем в открывшийся файл такой блок:
Опять же, не забываем заменить user на свое имя пользователя. Сохраняем файл.
Создаем файл конфигурации нового хоста. Для этого скопируем стандартный файл 000-default.conf и переименуем его на testsite.conf :
Sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/testsite.conf
Теперь отредактируем его:
Sudo gedit /etc/apache2/sites-available/testsite.conf
Для удобства можно удалить все закомментированные строки (которые начинаются с #)
Добавляем «ServerName testsite.loc»
Добавляем «ServerAlias www.testsite.loc»
В DocumentRoot указываем путь к каталогу с файлами сайта.
Сохраняем изменения.
И включаем сайт:
Sudo a2ensite testsite.conf
Перезагружаем Apache:
Service apache2 reload
Файл hosts
Для того, чтобы перенаправлять запросы браузера на наш сервер. Отредактируем файл hosts:
Sudo gedit /etc/hosts
В первой строке через пробел, рядом с localhost дописываем домены нашего сайта testsite.loc и www.testsite.loc
Сохраняем изменения
Можем проверить результат нашей работы. Набираем в браузере адрес нашего сайта — testsite.loc .
Права на папки
Сервер Apache работает от группы и пользователя www-data . В домашнем каталоге же, владелец файлов текущий пользователь. Поэтому, чтобы не возникало проблем, нужно на файлы и папки внутри public_html и на ее саму изменить права. Для этого вводим в терминале.
Работая в других OC вы может уже и знаете где находится файл hosts, но перейдя на Ubuntu Linux, вы можете немного потеряться где данный файл находится и как его редактировать.
Что такое файл hosts? Где он находится в Ubuntu и как его редактировать, вам интересно, читаем материал ниже.
HOSTS - это текстовый файл, который содержит базу данных доменных имен и используется для их трансляции в сетевые адреса узлов. Запрос к этому файлу играет очень важную роль и имеет очень высокий приоритет перед обращением к DNS-серверам. В отличие от DNS который обновляется от 30 минут до 2-3 суток, содержимое файла контролируется администратором компьютера и может обновляться в любой момент при необходимости.
Работая в других OC, вы может уже и знаете где находится файл hosts, но перейдя на любую другую, например Ubuntu Linux, вы без подсказки будете долго искать, а где данный файл находится и как его редактировать.
- C:\WINDOWS\system32\drivers\etc - в Windows
- /etc/hosts - В Ubuntu
Для открытия файла hosts на редактирование в Ubuntu, откройте терминал (CTRL+ALT+T) и выполните команду:
Sudo gedit /etc/hosts
после чего данный файл откроется в стандартном редакторе удобном для редактирования, стандартное содержимое файла:
127.0.0.1 localhost 127.0.1.1 your-pc # 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
Если вы хотите прописать нужный вам домен и айпи, можете писать сразу же после второй строки в самом начале файла, прописав все необходимое, нажмите в редакторе Gedit кнопку сохранить и готово, компьютер перезагружать не нужно.
Файл hosts имеет следующий формат:
{IP - IP адрес узла} {Название хоста - имя узла в домене}.{Домен - доменное имя} {Алиас - определяет дополнительное имя узла}
Более подробную информацию по работе с файлом hosts вы можете получить выполнив в терминале команду man hosts .
Пример записи:
193.109.247.234 linuxsoid.com 88.212.202.38 li.ru
вот так все просто, вносим изменения, сохраняем и готово, будут вопросы, спрашивайте в комментариях к материалу.
Как изменить и управлять файлом hosts в Linux Малоизвестная возможность под названием "файл hosts" может быть использована для модификации вашей системы в зависимости от ваших нужд. Нужно ли вам создать сокращения, заблокировать веб-сайты или что-то еще, все это вы можете сделать с помощью hosts-файла.Но как производить в нем изменения? Здесь мы расскажем вам, как, и приведем несколько примеров использования, чтобы вы могли начать использование файла прямо сейчас.Что такое файл hosts?Если говорить понятным языком, то hosts-файл - это простой текстовый файл, который используется в любой операционной системе для перевода имен хостов в IP-адреса. Когда вы набираете имя хоста - например, facebook.com или myubuntu.ru - ваша система проверит файл hosts, чтобы получить IP-адрес, который требуется для соединения с соответствующим сервером. Но если вы откроете этот файл у себя на компьютере, вы быстро обнаружите, что там не хранится каталог всех сайтов Интернета. Там может быть всего лишь пара строк и ничего более. Ваша система сначала всегда проверяет hosts-файл, и все, что не задано в нем, будет найдено на DNS-серверах, заданные в ваших настройках сети (обычно это сервера вашего Интернет-провайдера).Но это также означает и то, что вы можете использовать файл Hosts, чтобы добавлять в него адреса, которые не могут быть предоставлены DNS-серверами (например, это могут быть алиасы различных местоположений в вашей домашней сети, что иначе будет доступно только в том случае, если у вас в локальной сети установлен и настроен собственный DNS-сервер), или для обхода IP-адресов, предоставляемых вашими DNS-серверами по-умолчанию.Например, если вы просите ваш браузер открыть facebook.com , DNS-сервера вернут IP-адрес Facebook на ваш компьютер. Но если вы вдруг захотите заблокировать Facebook на своем компьютере, вы можете добавить в hosts-файл запись, которая укажет вашему компьютеру, что все запросы на facebook.com нужно перенаправлять на какой-то другой IP-адрес, который отличается от настоящего IP-адреса Facebook. Чтобы заблокировать эту социальную сеть, вы можете просто прописать перевод запросов на facebook.com на IP-адрес 127.0.0.1 , который будет всегда возвращаться к вашей системе. Вы много чего можете сделать с помощью этого файла, а это лишь самый простой пример - все зависит от вашего желания и потребностей.Как отредактировать hosts-файлВ операционных системах Linux вы можете найти hosts-файл в /etc/hosts. Поскольку это обычный текстовый файл, вы можете просто использовать обычный текстовый редактор (неважно, терминальный или графический). К сожалению, есть только один графический инструмент, который предоставляет частичное управление файлом hosts - это приложение Domain Blocker от Linux Mint.Эта программа работает, добавляя записи в ваш hosts-файл, которые перенаправляют указанные вами домены на 127.0.0.1 - то есть на ваш компьютер. Так или иначе, это все, что вы можете сделать с помощью Domain Blocker - все остальные способы использования файла hosts требуют от вас ручного редактирования файла с помощью текстового редактора.Поскольку hosts - это системный файл, вам потребуются административные права, чтобы сохранять изменения в этот файл. Впрочем, вы можете отредактировать его с помощью команды терминала, такой как sudo nano /etc/hosts или gksu gedit /etc/hosts. Вам нужно использовать терминал, чтобы вы могли таким образом запустить требуемое приложение с административными правами. Вы также можете заменить nano или gedit на команду для запуска вашего любимого текстового редактора. Когда вы закончите редактирование файла в nano, вы можете нажать Ctrl+X, а затем y, чтобы подтвердить перезапись измененийКак понять формат содержания файла hosts?В файле hosts каждая запись находится на своей собственной строчке. Для целей нашей статьи вы можете использовать очень простой синтаксис - вы набираете IP-адрес, на который хотите перенаправлять имя хоста (домен), затем символ табуляции и собственно домен. Например, чтобы заблокировать Facebook, вы можете ввести 127.0.0.1facebook.com , где - нажатие Tab-клавиши на вашей клавиатуре. Чтобы убедиться в правильности ввода, вы можете также посмотреть на скриншот и сравнить его с тем, что находится у вас в файле.Приведем другой пример использования этой возможности. Например, если у вас в домашней сети есть компьютер (допустим, его IP-адрес 192.168.1.10), на котором работает простой веб-сайт, делающий что-то полезное для вас. Вы можете ввести следующее в файл hosts: 192.168.1.10homeserver. Теперь, если вы откроете ваш браузер и просто введете в адресную строку http://homeserver, он автоматически отобразит вам содержание хоста 192.168.1.10 . Это намного проще, чем вводить IP-адрес каждый раз.Потенциальные проблемыЕдинственная проблема, на которую я наткнулся, связана с работой браузера Chrome. Он стремится игнорировать hosts-файл, если вы не сделаете как минимум одну из двух возможных вещей:вводить http:// перед каждым адресом. Например, если у вас заблокирован Facebook через hosts-файл, Chrome обойдет блокировку, если вы просто введете
Author Shekin Reading 6 min Published by July 21, 2015
A little-known feature
called “
the hosts file
” can be used
to modify
your system
depending on
your needs.
Whether you need to create
abbreviations
to block
websites
or something else
, all of this can
be done using the
hosts
file.
But
how can I make
changes to it
? Here we will tell
you how
, and provide some examples
, so you can start using the file
right now
.
What is the hosts file?
If we talk in plain language, the hosts file is a simple text file that can be used on any operating system for translating host names into IP addresses. When you type a host name – for example, facebook.com or сайт – your system will check the hosts file to get the IP address, which is required for connecting to the appropriate server. But if you open this file on your computer, you will quickly find that there is not stored a directory of all websites on the Internet. There may be just a few lines and nothing more. Your system is always first checks the hosts file, and everything not specified in it, will be found on the DNS servers configured in your network settings (usually a server of your Internet provider).
But it also means that you can use the Hosts file to add addresses that cannot be provided DNS servers (for example, it may be aliases of different locations on your home network that otherwise would be available only if the local network is installed and configured your own DNS server), or to bypass the IP addresses provided by your DNS servers by default.
For example, if you ask your browser to open facebook.com the DNS server will return the IP address of Facebook on your PC. But if you suddenly want to block Facebook on your computer, you can add to hosts file entry that points to your computer that all requests for facebook.com need to redirect to some other IP address that is different from the real IP address of Facebook. To block this social network, you can simply register a transfer of requests facebook.com the IP address 127.0.0.1 , which will always return to your system. You can do a lot with this file, and this is just a very simple example – it all depends on your desires and needs.
Warning : keep in mind, hosts this is a system file , edit it only if you know what you’re doing it !
How to edit hosts file
In Linux Mint you can find hosts file in /etc/hosts
. Since this is a plain text file, you can just use a plain text editor (whether terminal or graphical). Unfortunately, there is only one graphic tool that provides partial control of the hosts file is the application Domain Blocker
for Linux Mint.
This program works by adding entries to your hosts file which redirects your specified domains to 127.0.0.1 – that is on your computer. Anyway, that’s all you can do with Domain Blocker – all other use of the hosts file require you to manually edit the file with a text editor.
As hosts it is a system file , you’ll need administrative rights to save changes to the file. However, you can edit it using terminal commands such as
sudo nano / etc/hosts
sudo gedit /etc/hosts
You can also replace the nano or gedit on the command to start your favorite text editor . When you’re finished editing the file in nano , you can press Ctrl +X and then y to confirm the overwriting of changes.
How to understand
the format
of the contents
of the hosts file
?
In the hosts file
each record
is on its own
line.
For the purposes
of our article
you can use a very
simple syntax
– you type
the IP
address to which you
want to redirect
the host name
(domain)
, then
the tab character (TAB)
and the actual
domain
. For example
, to block
Facebook
, you
can enter
127.0.0.1-facebook.com
where
is –
the Tab
key
on your keyboard
. To make sure
it is entered correctly
, you can also
look at the screenshot
and compare it
with what
is in your file.
Hosts – change and manage the /etc/hosts file
Here is another example of use of this opportunity . For example , if your home network is the computer (for example, its IP address is 192.168.100.1 ) running a simple website that makes something useful for you. You can enter the following in the hosts file : 192.168.100.1 –myhomeserver . Now , if you open your browser and just type in the address bar http://myhomeserver it will automatically show you the contents of the host 192.168.100.10 . It is much easier than to enter the IP address every time.
Potential problems
The only problem that I came across, related to the work of the Chrome browser. Chrome tends to ignore the hosts file, if you don’t do at least one of two possible things:
– to enter http://
in front of each address. For example, if you blocked Facebook via hosts file, Chrome will bypass the lock if you simply enter facebook.com in the address bar. If you enter http://facebook.com in the address bar, Chrome “listen” hosts file and block the website of this social network.
– disable the option “Use a web service to help resolve navigation errors
” in the Chrome settings, and then you don’t have to type http://
before the address each time
Try it!
Hosts
is a small
magic
file, which offers
several
useful features.
Even
if you don’t need
any features
that it provides
(although, perhaps
, you think
), to see how it works
will be very helpful.
If you
ever
get into a situation
where you
could use the hosts file,
you are familiar
with them
and
know how to configure.
What is in your hosts file ? Are there any unique cases of such use ? Tell us in the comments !
Если нужно конфигурировать сетевую карту, то выберите IP-адрес, полное доменное имя (FQDN), а также возможные алиасы, которые будут указываться в файле /etc/hosts . Синтаксис следующий:
IP_address myhost.example.org aliases
Если не требуется, чтобы компьютер был виден в интернете (т. е. имел зарегистрированный домен и допустимый диапазон назначенных IP-адресов — у большинства пользователей их нет), просто проверьте, чтобы IP-адрес находится в диапазоне приватных сетевых адресов IP. Допустимые диапазоны:
Диапазон приватных сетевых адресов Обычный префикс 10.0.0.1 - 10.255.255.254 8 172.x.0.1 - 172.x.255.254 16 192.168.y.1 - 192.168.y.254 24
x может быть любым числом в диапазоне 16 - 31. y может быть любым числом в диапазоне 0 - 255.
Допустимым приватным IP-адресом может быть 192.168.1.1. Допустимым полным доменным именем FQDN для этого IP может быть lfs.example.org.
Даже если сетевая карта не используется, полное доменное имя FQDN все еще может потребоваться. Оно необходимо в некоторых программах для того, чтобы они работали должным образом.
Создайте файл /etc/hosts следующим образом:
Cat > /etc/hosts < "EOF"
# Begin /etc/hosts (network card version)
127.0.0.1 localhost
<192.168.1.1>
Значения <192.168.1.1> и
Если не требуется конфигурировать сетевую карту, создайте файл /etc/hosts следующим образом:
Cat > /etc/hosts < "EOF"
# Begin /etc/hosts (no network card version)
127.0.0.1
Предыдущий раздел: |