<
  • Главная
Статьи

Обслуживайте локальные веб-страницы по имени, а не по IP-номеру.

  1. Назовите свой сервер
  2. Настройте Apache
  3. Попробуйте это

Сегодняшний совет - о встроенном веб-сервере OS X 10.5 и о том, как облегчить доступ к сайтам, на которых вы работаете с этого сервера. Если вы не знали, встроенный веб-сервер OS X является отраслевым стандартом апаш веб-сервер, который обслуживает буквально тысячи веб-сайтов по всему миру. Начиная с OS X 10.5.5, это Apache версии 2.2.9.

Итак, что вы можете сделать со встроенным веб-сервером OS X? Почти все, хотя единственное, что вы, вероятно, не можете сделать, это использовать его для показа веб-страниц во внешний мир, по крайней мере, нелегко. Многие интернет-провайдеры не позволяют веб-серверам работать под стандартной домашней учетной записью, и даже если они это сделают, ваш брандмауэр и / или маршрутизатор могут затруднить доступ пользователей к вашему сайту. Если вы справитесь с этими проблемами, вам все равно придется договориться о том, чтобы доменное имя указывало на ваш домашний компьютер - и опять же, ваш ISP может затруднить это. Вы можете решить некоторые из этих проблем с помощью службы, такой как DynDNS , что позволяет назначать доменное имя постоянно меняющемуся домашнему IP-адресу. Однако у вас по-прежнему будут проблемы, если ваш провайдер не позволит вам размещать сайты.

Так что, если вы не можете обслуживать сайты для внешнего мира, тогда зачем вам в любом случае запускать веб-сервер? Возможно, как и я, ваша работа требует, чтобы вы поддерживали веб-сайт, и вы хотели бы сохранить его локально для тестирования. Или, возможно, вы хотели бы попробовать некоторые из популярных веб-приложений для блогов ( WordPress , Подвижный тип ) или некоторые из сотни систем управления контентом имеется в наличии ( Geeklog Например, какие полномочия macosxhints.com ) на вашем собственном Mac, прежде чем вы решите запустить сайт с веб-хостинговой компанией. (Кроме того, именно так начал работать macosxhints.com - я установил Geeklog локально и запустил его на своем Mac за пару месяцев до того, как запустил сайт для широкой публики. Во многих отношениях встроенная OS X веб-сервер - это одна из технологий, наиболее ответственная за мой запуск macosxhints.)

Сегодняшний совет - о встроенном веб-сервере OS X 10

Безотносительно причины, OS X делает очень простым запуск веб-сервера на вашем собственном Mac. Вы можете включить встроенный веб-сервер, нажав кнопку «Общий веб-доступ» на панели «Системные настройки общего доступа». После включения вы увидите пару ссылок в области справа от всех параметров общего доступа; один перечисляет URL-адрес веб-сайта вашего компьютера, а другой - URL-адрес вашего личного сайта. Для большинства пользователей эти адреса будут отображаться в виде последовательности (IP-адреса) номеров - в моем случае они перечислены как http://192.168.1.44 и http://192.168.1.44/~robg соответственно. Если я открою Safari или любой другой веб-браузер и введу эти URL-адреса, я увижу стандартные страницы, как показано на рисунке справа, - это страница компьютера вверху и моя личная страница внизу.

Хотя это работает достаточно хорошо, разве не было бы лучше получить доступ к вашим локально размещенным сайтам через доменное имя, как вы делаете это в «реальном» Интернете? С парой относительно простых изменений в Терминале, вы можете сделать это. Apache включает поддержку того, что они называют виртуальными хостами на основе имен, и, включив их, вы можете называть свой сервер и размещенные на нем сайты как угодно. Вот что вам нужно сделать.

В этих инструкциях предполагается, что вы будете устанавливать свои сайты в папке «Сайты» своего пользователя и размещать каждый отдельный пакет, который вы хотите использовать (WordPress, Movable Type и т. Д.), В своем собственном подкаталоге, что довольно симпатично. общепринятая практика. Они также предполагают, что вы используете 10,5; этот метод не будет работать в 10.4, так как он не использует Apache 2. Он также предполагает, что вам не нужно обращаться к сайтам, хранящимся в стандартной папке / Library -> WebServer -> Documents - у меня есть относительно простая исправить эту проблему ближе к концу подсказки.

Назовите свой сервер

Первое, что вам нужно сделать, - это придумать имя, которое вы хотели бы использовать для своего сервера, - сделайте его кратким и простым и ограничьте его одним словом без знаков препинания. Вся идея состоит в том, чтобы упростить ввод текста. В этом примере я предполагаю, что сервер будет называться mysites, что позволит вам ввести http: // mysites в адресную строку вашего браузера.

Как только вы придумали имя для своего сервера, вам нужно указать OS X искать это имя локально, прежде чем оно попытается найти его в Интернете. Для этого мы внесем простое изменение в файл / etc / hosts. Мои инструкции предполагают, что вы будете использовать основанный на терминале текстовый редактор, такой как vi или nano, но программы, такие как BBEdit и TextMate этот интерфейс командной строки также может быть использован - действительно, любой текстовый редактор, который позволяет вам редактировать с правами учетной записи root, справился бы с задачей.

Отредактируйте файл hosts в Терминале, введя sudo nano / etc / hosts, а затем введите свой пароль при появлении запроса. Откроется редактор nano, отображающий что-то вроде этого:

## # Host Database # # localhost используется для настройки интерфейса обратной связи # при загрузке системы. Не меняйте эту запись. ## 127.0.0.1 test.super 127.0.0.1 localhost 255.255.255.255 broadcasthost ...

Добавьте строку чуть выше строки 255.255 ..., нажав Return с курсором в начале этой строки, затем используйте клавиши со стрелками для перемещения вверх и добавьте эту запись:

127.0.0.1 миститы

Замените mysites тем именем, которое вы выбрали для своего сервера, а затем сохраните файл и выйдите из редактора (нажмите Control-X, чтобы выйти, Y, чтобы сохранить изменения, и затем Return, чтобы принять имя файла, если вы используете nano) ,

Настройте Apache

Теперь, когда вы назвали свой сервер, вам нужно указать Apache, как конвертировать mysites в IP-адрес вашего Mac, чтобы он мог отображать ваши веб-страницы. Файл, который нужно изменить, можно найти в / etc / apache2 / users, поэтому сначала перейдите в cd / etc / apache2 / users. В этой папке вы найдете файл «.conf» для каждого пользователя на вашем Mac. Вы хотите отредактировать файл для своего пользователя, снова с правами суперпользователя; введите sudo nano username.conf (где username - это ваше короткое имя пользователя) и введите свой пароль при появлении запроса. Переместите курсор в конец файла и добавьте следующие строки:

NameVirtualHost *: 80 <VirtualHost *: 80> DocumentRoot / Пользователи / имя пользователя / Сайты Имя_сервера mysites </ VirtualHost>

Замените имя пользователя коротким именем пользователя и замените mysites на имя сервера, которое вы использовали при редактировании файла hosts. Сохраните файл и выйдите из редактора.

Если вам также нужен доступ к сайтам в стандартной папке / Library -> WebServer -> Documents, вам нужно отредактировать один дополнительный файл. Сначала перейдите в нужный каталог с помощью cd / etc / apache2 / extra, а затем отредактируйте файл httpd-vhosts.conf (снова с помощью sudo). Добавьте эти строки в конце:

NameVirtualHost *: 80 <VirtualHost *: 80> DocumentRoot / Библиотека / WebServer / Сервер документовName localhost </ VirtualHost>

Сохраните файл, и вы сможете получить доступ к этим сайтам, введя http: // localhost в адресной строке URL, а при использовании вашего именованного сервера страницы будут отображаться в папке сайтов вашего пользователя.

Попробуйте это

Это единственные необходимые изменения. Однако, чтобы ваши изменения вступили в силу, вам нужно сделать две вещи. Во-первых, поскольку Leopard кеширует DNS-запросы, нам нужно очистить кеш, чтобы он снова прочитал наш файл hosts. В Терминале введите эту команду, затем нажмите Return: dscacheutil -flushcache. Другая вещь, которую вам нужно сделать, это перезапустить веб-сервер Apache. Это можно сделать на панели «Настройки общего доступа», включив и снова включив веб-общий доступ, или в Терминале, используя эту команду: sudo apachectl graceful.

Как только Apache перезапустится, протестируйте ваш новый именованный сервер, открыв ваш любимый браузер и введя имя вашего сервера в строке URL: http: // mysites. Если вы еще не заменили страницу по умолчанию в папке «Сайты» своего пользователя, это то, что вы должны увидеть при загрузке страницы. Теперь, когда вы устанавливаете различные веб-пакеты в подпапки, вы можете получить к ним доступ как http: // mysites / wordpress или http: // mysites / geeklog и т. Д. (При желании вы можете даже назвать свои подпапки как полностью разделенные сайты - просто продублируйте вышеуказанные изменения в файлах hosts и .conf, но с новым именем сервера и путем к папке.)

Если у вас дома есть другие компьютеры Mac, которые вы хотели бы использовать для доступа к обслуживаемым страницам, вы также можете сделать это легко. Просто отредактируйте файл hosts на другом Mac, как указано выше, но вместо использования 127.0.0.1 в качестве адреса сервера используйте IP-адрес Mac, на котором запущен веб-сервер (который можно легко найти на панели «Настройки системы общего доступа к веб-сети»). Не забудьте очистить кеш после редактирования файла, и затем вы сможете получить доступ к обслуживаемым страницам хоста Mac, используя определенное имя сервера.

Я надеюсь, что вышеизложенное ясно и легко следовать - я протестировал его здесь на двух разных компьютерах Mac, и он работает, как описано. Если у вас возникли проблемы с его работой, пожалуйста, напишите вопрос, и я сделаю все возможное, чтобы ответить на него. Помните, что эта подсказка предназначена только для сайтов, размещенных внутри, и ничего не делает для предоставления доступа пользователям за пределами вашей локальной сети.

Так что, если вы не можете обслуживать сайты для внешнего мира, тогда зачем вам в любом случае запускать веб-сервер?
Хотя это работает достаточно хорошо, разве не было бы лучше получить доступ к вашим локально размещенным сайтам через доменное имя, как вы делаете это в «реальном» Интернете?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

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

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью