sonyps4.ru

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

Для общего доступа.

Известно, что для запуска сайта на своём компьютере необходимо настроить локальный сервер и установить ряд программ (Apache, PHP, MySql, Zend Optimizer, Perl). Если их устанавливать по отдельности, потребуется много времени и профессиональных знаний в администрировании серверов, что не каждому под силу.

Облегчили жизнь разработчикам сайтов программисты, которые объединили основные программы сервера в один установочный пакет — «Denwer». Достаточно скачать и установить одну программу «Denwer» и Ваш локальный сервер в считанные минуты будет готов к работе. Запустить сайт на локальном компьютере или даже флешке можно всего за несколько минут!

«Denwer»

«Denwer» (он же, «Денвер», «Denver») — это установочная программа, включающая в себя пакет всех программ необходимых для запуска локального сервера. Сами разработчики называют своё детище более красиво: «Д жентльменский Н абор W eb-Р азработчика». Собственно, от этого и пошло название пакета — «Д.н.w.р», читается «Денвер».

Где скачать?

Скачивать дистрибьютив программы «Денвер» рекомендуем с сайта разработчиков — www.denwer.ru . На сайте Вы сможете скачать базовый пакет , который весит немного более 5.5 Мб. А так же пакеты расширений , которые необходимы для решения сложных задач.

Состав базового пакета

Базовый пакет включает в себя следующие программы:

  • Инсталлятор (поддерживается инсталляция на flash-накопитель!).
  • Сервер Apache с поддержкой SSL , SSI , mod_rewrite , mod_php .
  • PHP с поддержкой GD , MySQL , sqLite .
  • Perl . Скрипты следует помещать в директорию cgi-bin. В первой строке скриптов нужно прописывать стандартный путь к интерпретатору Perl, что и при запуске на сервере Unix (#!/usr/bin/perl).
  • Сервер баз данных MySQL с поддержкой транзакций.
  • Удобная система управления виртуальными хостами , основанная на шаблонах. Чтобы создать новый хост (сайт), Вам нужно лишь добавить соответствующую директорию в каталог /home. Править конфигурационные файлы не требуется! По умолчанию уже поддерживаются схемы именования директорий многих популярных хостеров; новые можно без труда добавить.
  • Система управления запуском и завершением всех компонентов Денвера.
  • phpMyAdmin — система управления MySQL через Web-интерфейс.
  • Эмулятор sendmail и SMTP-сервера (отладочная «заглушка» на localhost:25, складывающая приходящие письма в /tmp в формате.eml); поддерживается работа совместно с PHP, Perl, Parser и т. д.

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

Установка сервера

Запускается установка «Денвера» аналогично любой другой программе. В процессе установки Вам будет предложено выбрать путь для установки или букву виртуального диска — всё это важно для специалистов. Вы же можете выбирать все значения настроек «по умолчанию».

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

После окончания установки, на рабочем столе появится три ярлыка:

  1. «Run» — используется для запуска веб-сервера. В панели задач появится соответствующая узнаваемая иконка сервера Apache.
  2. «Stop» — остановка веб-сервера.
  3. «Restart» — рестарт сервера совмещает в себе выполнение двух последовательных операций: «Stop» и «Run». Рестарт сервера необходимо делать после внесения любых изменений в конфигурационных файлах, например, php.ini или vhosts.conf

Запустите сервер (выбрав ярлык «Run») и убедитесь, что всё работает. Для этого в браузере наберите localhost или адрес 127.0.0.1 , должна открыться страница приветствия от «Denwer». Если всё в порядке, то самое время запустить свой локальный сайт.

На заметку! На странице приветствия описаны все основные возможности сервера Денвер и приведены ссылки для проверки работы таких программ как phpMyAdmin, Perl, sendmail и т. п. Вы всегда можете зайти на стартовую страницу и найти интересующую информацию по работе сервера. Главное, не забудьте предварительно запустить сам веб-сервер.

Запуск сайта на сервере «Denwer»

После того, как работы по установке и запуску сервера закончены, самое время разместить сайт и проверить его работоспособность. Рассмотрим процесс запуска сайта на примере бесплатной CMS «Joomla».

Выполните следующие действия:

  1. Скачайте архив готового «движка» сайта;
  2. Зайдите в директорию /home веб-сервера и создайте в ней вложенную директорию, например, vashmaster.loc;
  3. В директории vashmaster.loc создайте директорию www , т.е. путь к директории www будет таким /home/vashmaster.loc/www;
  4. В директорию www распакуйте архив «движка» с установочными скриптами php;
  5. Запустите веб-сервер с помощью ярлыка «Run». Если же сервер уже был запущен, то обязательно сделайте рестарт, чтобы добавление нового сайта под названием vashmaster.loc вступило в силу;
  6. В программе «phpMyAdmin» создайте базу данных (например, dbvashmaster ), которая будет использоваться Вашим сайтом. Если потребуется логин и пароль для подключения к базе данных, то следует использовать логин «root» и пустой пароль (значения доступа к базе данных по умолчанию, после установки пакета «Денвер»). Практически всем современным сайтам для работы необходима база данных. При желании, Вы можете установить другой пароль к базе данных . На этом подготовка к установке CMS закончена — архив распакован, пустая база данных создана;
  7. Запустите процесс инсталляция сайта. У CMS «Joomla» может быть, например, вот такой адрес для установки vashmaster.loc/installation/ ;
  8. В процессе установки Вас попросят указать название базы данных, логин и пароль доступа к базе данных, а так же задать логин и пароль доступа в интерфейс администрирования будущего сайта;
  9. После окончания установки сайта, можете зайти на него, по адресу vashmaster.loc ;
  10. Вот и всё. Балуйтесь!

На заметку! Некоторым сайтам, например, демо-версиям на CMS «Битрикс», «Shop-Script» для запуска необходимо предварительно скачать и установить «Zend Optimizer» .

В примере с настройкой собственного локального сайта, мы не случайно указали в качестве домена хитрое расширение .loc (а не .ru или .net ). По специфике нашей работы , часто приходится делать копии существующих в Интернете сайтов и локально их отлаживать и дорабатывать. Использование разных доменных имён позволяет нам заходить на сайты и проверять их работоспособность при запущенном сервере «Денвера». Иначе, мы бы видели результат работы только одноимённого локального сайта! И приходилось бы постоянно отключать веб-сервер, чтобы оценить работу сайта, размещённого в Интернете.

Популярные аналоги

Денвер одна из самых известных и удобных установочных программ для Windows в среде разработчиков сайтов, но не единственная в своём роде.

Аналоги веб-сервера Денвер:

  • XAMPP — кроссплатформенная сборка веб-сервера, содержащая Apache, MySQL, интерпретатор скриптов PHP, язык программирования Perl и большое количество дополнительных библиотек, позволяющих запустить полноценный веб-сервер. Существуют готовые сборки XAMPP для всех популярных операционных систем.
  • — высокопрофессиональный и простой в установке набор, состоящий из Apache, PHP, MySQL, SQLite (встраиваемый движок баз данных), SQLiteManager (многоязычная веб-утилита для управления БД SQLite), PhpMyAdmin и Zend Optimizer (который увеличивает производительность запущенных процессов на 40%) для платформы Windows.
  • EasyPHP — очередной установочный набор, состоящий из Apache, PHP, MySQL для платформы Windows и возможностью установки на флеш-накопитель.
  • AppServ — готовая сборка программ Apache, PHP, MySQL, phpMyAdmin для платформы Windows.
  • MoWeS — бесплатное приложение, позволяющее быстро установить и настроить пакет программ WAMP (Windows, Apache, MySQL and PHP) под Windows. Пакет включает такие «движки» как TYPO3, MediaWiki, Wordpress, Joomla и др. Кроме бесплатного решение, есть и более продвинутые платные расширения сборки MoWeS, которые позволяют создавать демо-сайты на CD и флеш накопителях.
  • WampServer — готовый бесплатный пакет программ WAMP под Windows для веб-разработчиков. WampServer включает всё самое необходимое.

На заметку! Отдельное внимание следует уделить сборкам, которые можно установить на USB-флеш . Такой возможностью обладают не многие программы. Денвер и EasyPHP одни из лучших сборок, поддерживающих возможность установки на флешку. Также не стоит забывать и про MoWeS .

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

Вот в принципе мы рассказали Вам, что такое пакет «Denwer», где его скачать и как установить. Перечислили наиболее популярные аналоги, которые можно скачать абсолютно бесплатно. Пользуйтесь на здоровье.

Каждый разработчик сайтов обязан знать, что такое «Денвер»!


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

Что такое локальный сервер?

Локальный сервер – программное обеспечение, позволяющее сделать отладку сайта на локальном (домашнем) компьютере, без выхода в интернет. Локальный сервер полностью имитируют работу хостинга и имеет аналогичный функционал.

Те, кто занимался сайтостроением с использованием лишь html и css знают, что необходимости в локальном сервере нет, так как браузер прекрасно обрабатывает и понимает язык гипертекстовой разметки и таблицы каскадных стилей. Но, стоит добавить какой-нибудь PHP скрипт и Вас тут же ждет конфуз – браузер не выдаст результат работы PHP. А происходит это потому, что браузеры не понимают PHP. И чтобы пользователь увидел страницу сайта в том виде, в котором эта страница должна быть, необходимо, чтобы сервер обработал и преобразовал PHP код в html.

Все CMS а-ля WordPress и Joomla содержат в себе PHP скрипты. Соответственно, чтобы сайты, созданные с помощью систем управления содержимым, могли работать на домашнем компьютере, необходим локальный сервер.

Мой сайт создан с помощью WordPress, постоянно приходится тестировать какие-то плагины, расширения, копаться в PHP коде. Вполне логично, что рано или поздно, такие действия могут привести к утрате работоспособности сайта, из-за допущенной ошибки. Само собой большинство хостингов поддерживает восстановление (бек ап) сайта и базы данных. Да и грамотные веб мастера держат, на всякий случай, запасную на своем компьютере. Я вообще параноик, кроме хостинга и моего компьютера, еще и на флешку записал. Надо будет еще куда-нибудь на облачный сервис закинуть =).

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

Собственно говоря, с перечисленными задачами и проблемами (и не только) поможет справиться локальный сервер.

Как создать локальный сервер?

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

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

Один из самых популярных и стабильных локальных серверов – Денвер (Denwer) . Название расшифровывается как: джентльменский набор веб разработчика – Д. н. в. р. Его установку мы то и рассмотрим.

Базовый пакет содержит:

  • Инсталлятор.
  • Сервер Apache.
  • PHP 5.
  • MySQL5, поддерживающая транзакцию.
  • phpMyAdmin - система управления MySQL, позволяющая работать с базами данных через браузер.
  • Эмулятор sendmail и SMTP-сервера – имитация функции отправки почты. Все отправленные письма будут расположены в директории Z:\tmp\!sendmail в формате.eml, а не отправляться на указанную почту.

Одним из плюсов можно назвать то, что сервер можно установить на флеш-накопитель. И где бы вы ни оказались, вы сможете работать над своими проектами.

Ну и, конечно же, самый главный плюс – Denwer абсолютно бесплатен.

Установка Denwer

    1. Запускаем скачанный файл и соглашаемся с установкой базового пакета.

    2. Затем, откроется окно браузера, которое необходимо закрыть для продолжения или отмены установки.
    3. Для продолжения установки нажимаем Enter.

    4. Затем, необходимо указать директорию, в которой будут расположены файлы. По умолчанию: C:\WebServers. Смело жмем Enter и продолжаем.

    5. Следуя инструкции, жмем Enter.
    6. Далее, инсталлятор предложит выбрать букву виртуального диска. По умолчанию предлагается буква Z. Если на компьютере нет диска с таким именем, то можно смело продолжать установку, нажав Enter, если же есть – то выбираем другую.

    7. После того как все файлы дистрибутива будут скопированы, предложат на выбор 2 варианта создания виртуального диска:
    1. Виртуальный диск создавать при включении компьютера.
    2. Создавать виртуальный диск только при явном вызове, то есть – при клике ярлыка старта на рабочем столе (я выбрал этот вариант).

Вот собственно и все, на этом установка Денвера окончена.

Теперь можно протестировать работу локального сервера. Если все сделано верно, то на рабочем столе появятся 3 ярлыка: Start Denwer, Stop Denwer, Restart Denwer.

Нажимаем Start Denwer для запуска. Если зайти в мой компьютер, то можно увидеть, что появился выбранный локальный диск. А в трее (возле часов) появятся 2 значке в виде шляпы и пера.

Откройте окно браузера и в адресную строку введите следующее: http://localhost/

Откроется окно с сообщением: «Ура, заработало!», символизирующее, что все сделано правильно и можно смело приступать к роботе с локальным сервером.

Открывшаяся страничка содержит много полезного:

  1. Можно найти необходимую документацию по PHP, MySQL, Apache, Perl, PostgreSQL, воспользовавшись соответствующим поиском.
  2. Так как Денвер – бесплатный софт, то для поддержания проекта, создатели принимают от благодарных пользователей пожертвования. Ну, и я заметил партнерскую ссылку на хостинг «Джино».
  3. Можно проверить работу компонентов, перейдя по следующим ссылкам:

subdomain.localhost/ssl.php - проверяем активен ли SSL.

subdomain.localhost/ - проверяем "не-Интернет" домены второго уровня, а также SSI

test1.ru/ - проверка доменов второго уровня.

subdomain.test1.ru/ - проверка поддоменов (субдоменов)

localhost/Tests/phpnotice/index.php - можно проверить перехват PHP Notice.

localhost/Tests/PHP5/index.php5 - информация по PHP 5.

localhost/Tools/phpMyAdmin - доступ к phpMyAdmin и MySQL.

custom-host:8648 - проверяем хост с другим IP-адресом и портом (127.0.0.2:8648)

localhost/Tests/sendmail/index.php - проверяем работу sendmail (отправка почты).

Сайт в Денвере отображается иероглифами

Проблема с иероглифами иногда случается, если используется кодировка utf-8. В Опере и Хроме, вместо моего текста выводились жуткие наскальные надписи. А Internet Explorer, как ни странно, все показывал как надо. Но как бы там ни было, проблему надо решать. И сделать это можно следующим способом:

Создать в корневой директории сайта (в папке www) файл.htaccess и прописать там следующее: AddDefaultCharset UTF-8

Если же файл уже есть, то просто добавляем туда эту строчку.

Как удалить Денвер?

Удалить через панель управления – удаление программ Денвер не получится, так как он не пишет файлы в директорию Windows и не оставляет записей в реестре, соответственно деинсталлятор не нужен. Поэтому, просто удаляем папку с файлами локального сервера (предварительно остановив работу Денвера с помощью ярлыка на рабочем столе): C:\WebServers, удаляем ярлыки с рабочего стола и из Автозагрузки.

Как сделать локальный сервер Denwer доступным в сети интернет.

Прежде всего, стоит усвоить, что Денвер предназначен для локального использования. И разработчики предупреждают, что сделав локальный сайт видимым в интернете, можно подвергнуть локальную машину опасности быть взломанной, так как Denwer – не есть надежный и полноценный сервер.

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

Если же вы грамотный администратор и полностью понимаете, что вы делаете, то что бы открыть доступ к локальному сайту следует:

  1. Прежде всего, необходимо иметь статический ip адрес. Динамические айпишники будут меняться при перезагрузке машины (роутера).
  2. В Windows есть встроенный антивирус - брандмауэр, который блокируют доступ с внешних компьютеров. Для того, чтобы сделать локальный сайт доступным, эту блокировку необходимо отключить в Пуск - брандмауэр Windows. Следует понимать, что это так же снизит защиту компьютера.
  3. Ну, и последнее, что нужно сделать – создать на виртуальном диске Денвера такую иерархическую структуру из папок: /home/192.168.0.1/www

Вместо указанного в предыдущем пункте ip адресе, необходимо указать свой, выданный вашим интернет провайдером.

В случае если провайдер предоставляет, кроме айпишника, еще и привязанный к нему домен, то сайт будет доступен по нему.

В следующей статье рассмотрим установку WordPress на локальный сервер.

ВСЕХ С НАСТУПАЮЩИМ 2014 НОВЫМ ГОДОМ!!!

У меня (как и у многих web-разработчиков) имеется с десяток сайтов которые необходимо где-то размещать (хостить).

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

В то-же время в наличии имеется:

  • Домашний сервер на Ubuntu
  • Быстрый ethernet-интернет от МТС
Но не имеется ключевого - статического IP. Если бы он был, то все было-бы намного проще и данную статью я бы точно не писал. А выдавать статический IP мой МТС абсолютно не желает (если только я не подключусь как бизнес-клиент).

Разумеется есть всем известные Dynamic DNS сервисы вроде noip.com , но они успешно решают лишь задачу удаленного доступа к нашему серверу (по SSH или FTP), но для хостинга совершенно нам не подходят, поскольку в настройках домена на DNS-сервере нам нужно обязательно прописать A-запись с реальным IP-адресом (а не ссылку на наш виртуальный домен).

Что делать?

Я не буду останавливаться на том, как настроить linux сервер (и тем более как его выбрать), поскольку предполагаю, что он у вас уже есть. Также я не буду подробно расписывать настройки nginx и Apache, поскольку опять-таки предполагаю, что вы с этим справитесь самостоятельно.

Первое с чем у меня возникли проблемы - это как перенаправить посетителей с моих доменов (у меня есть 2 домена) на мой домашний сервер. То есть чтобы клиент который набрал domain.com попал ровно на мой домашний сервер с учетом того, что на нем каждый день меняется IP-адрес.

Для решения нам нужно настроить DNS-сервер, а именно следующие записи: SOA, NS, MX, A, CNAME. Важно чтобы мы имели возможность настройкой TTL (time to live), поскольку время жизни наших записей должно быть очень небольшим, буквально 60-120 секунд. В противном случае при смене IP-адреса сервера пользователи долго не смогут попасть на наш сервер (из-за кеширования).

Итак, нам нужен DNS сервер, варианты решения:

Рассмотрим оба варианта.

Используем сервисы которые предоставляют нам DNS-хостинг

Для этого есть ряд бесплатных сервисов, из которых самым популярным является freedns.afraid.org . На таких сервисах можно добавить свой домен(ы) и получить возможность через API обновлять у них A-запись при помощи небольшого скрипта.

Выглядит вполне неплохо, но подвох в том, что эти сервисы оставляют за собой право довешивать к вашему домену поддомены третьего уровня. То есть вы зарегистрировали у них user.ru, а они спокойно довешают свои сайты вида hello.user.ru, shop.user.ru и так далее. Разумеется от этого можно отказаться, но… за деньги. Платить деньги за такие сервисы смысла я не вижу, поскольку за сравнимые деньги вы можете купить полноценный хостинг на каком-нибудь провайдере без всяких плясок вокруг DNS настроек.

Остальные сервисы рассматривать не будем, а сосредоточимся на втором варианте.

Используем собственный DNS-сервер в связке с DDNS-доменом

Для этого варианта у нас, во-первых, должен быть DDNS-домен (который обновляется при смене IP), например, domain.ddns.net, а во-вторых, придется установить и настроить BIND на нашем сервере.

Всего необходимо сделать ровно 5 шагов. Везде под словами «domain» или «domain.ru» подразумевается ваше имя домена (короткое или полное).

1. Настроить 2 или 3 DDNS-поддомена
Почему 2 или 3? Потому, что ряд регистрантов не разрешит вам использовать домен только с одним NS-сервером. Самое обидно, что не все про это скажут - ваш домен просто не будет работать, но вы не будете понимать почему.

Тут все просто - идем на noip.com , там регистрируем аккаунт и добавляем 3 бесплатных поддомена (больше 3 не даст).

2. Настраиваем собственный DNS-сервер
Устанавливаем BIND:

$ sudo apt-get install bind9
Создаем зоны (по одной зоне на каждый наш домен):

$ sudo nano /etc/bind/zones.my
с содержимым:

Zone "domain.ru" { type master; file "/etc/bind/db.domain.ru"; };
и собственно файл с настройками зоны:

$ nano /etc/bind/db.domain.ru
и пишем внутри:

; ; BIND data file for local loopback interface ; $TTL 60 @ IN SOA domain.ru. admin.domain.ru. (1477015437 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 1800) ; Negative Cache TTL @ IN NS domain.ddns.net. @ IN NS domain.ddnsking.com. @ IN NS domain.myftp.biz. @ IN MX 10 mx.yandex.net. @ IN A 1.2.3.4 mail IN CNAME domain.mail.yandex.net. * IN CNAME domain.ru.
Примечание: обращаю внимание, что TTL устанавливаем равным 60 секунд. В файле /etc/bind/named.conf.local добавляем подключение нашей зоны:

Include "/etc/bind/zones.my";
Все, рестартуем BIND:

$ sudo service bind9 restart
И глянем /var/log/syslog чтобы там не было сообщений об ошибках

3. Настроить наш домен(ы)
Идем в панель управления регистратора и там в настройках нашего домена в качестве NS-серверов указываем созданные DDNS-поддомены:

Nameserver1 = domain.ddns.net nameserver2 = domain.ddnsking.com nameserver3 = domain.myftp.biz
После этого возможно придется подождать несколько часов (или даже сутки) пока настройки среплицируются между всеми серверами.

4. Настроить периодическое обновление IP-адресов
Мой роутер поддерживает обновление IP-адреса на одном домене, но мне нужно это делать сразу для 3-х доменов. Плюс нам надо обновлять IP-адрес в конфиге BIND"а, поэтому напишем скрипт который будет делать:
  1. Определять наш внешний IP-адрес
  2. Проверять изменился ли IP адрес, если не изменился, то ничего делать не надо
  3. Обновлять IP-адрес у всех DDNS-поддоменов через API сервиса noip.com
  4. Прописывать новый IP адрес в конфиг BIND"а
  5. Перезапускать BIND
Сам скрипт пусть будет на шелле:

#!/bin/sh # This script works via noip.com service + local Bind server # Settings ZONES_CONFIG=zones.my IP_FILE=./current_ip.txt DDNS_USER=user DDNS_PASS=password DDNS_HOST=domain.ddns.net DDNS_HOSTS=domain.ddns.net,domain.ddnsking.com,domain.myftp.biz # Start DATE=$(date +"%Y-%m-%d %H:%M:%S") # detect an external IP IP=$(dig +short $DDNS_HOST) if [ $? -ne 0 ] || [ -z $IP ] || [ $IP = "0.0.0.0" ] ; then echo "$DATE Can"t detect a remote IP. Aborting." exit 1 fi # verify IP changing PREV_IP="(unknown)" if [ -e $IP_FILE ] ; then PREV_IP=$(cat $IP_FILE) fi if [ $IP = $PREV_IP ] ; then echo "$DATE IP "$IP" has not changed" else echo "$DATE IP has been changed from "$PREV_IP" to "$IP"" echo "$DATE IP will be updated on DDNS server" /usr/bin/curl -u $DDNS_USER:$DDNS_PASS "https://dynupdate.no-ip.com/nic/update?hostname=$DDNS_HOSTS&myip=$IP" fi echo $IP > $IP_FILE # check BIND config cd /etc/bind if [ ! -e $ZONES_CONFIG ] ; then echo "$DATE File $ZONES_CONFIG not found!" exit 1 fi # read the list of active zones ZONE_FILES=$(grep file $ZONES_CONFIG | grep -v ^# | perl -ne "/file "(.+)"/ && print "$1\n"") for ZONE_FILE in $ZONE_FILES; do echo "$DATE Process the zone config $ZONE_FILE" cat $ZONE_FILE | perl -ne "s/([\t ]+IN[\t ]+A[\t ]+)[\d\.]*/\${1}${IP}/; print \${_}" > $ZONE_FILE.tmp if [ $(diff -w $ZONE_FILE $ZONE_FILE.tmp | wc -l) -ne 0 ] ; then # update serial number STAMP=$(date +%s) cat $ZONE_FILE.tmp | perl -ne "s/\d+(?=.+Serial)/$STAMP/; print \${_}" > $ZONE_FILE # reload BIND service bind9 reload echo "$DATE Config $ZONE_FILE is updated" else # nothing to do rm $ZONE_FILE.tmp echo "$DATE Config $ZONE_FILE is NOT changed" fi done
Скрипт нужно запускать под рутом (чтобы ему хватило прав обновлять конфиги BIND"а и рестартовать его). Добавляем в crontab рута его запуск каждую минуту:

* * * * * cd /home/root && ./update_bind_config.sh >> /var/log/update_bind_config.log
Пару слов про определение текущего IP-адреса. В скрипте выше это делается через резолвинг DDNS-поддомена domain.ddns.net. То есть сначала наш роутер его туда прописывает, а потом мы читаем. Это не очень хороший вариант, поскольку мы завязываемся на роутер и можем потерять несколько минут пока на DDNS-поддомене обновится IP-адрес на актуальный. Все это время наш сервер будет недоступен.

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

IP=$(perl -le "use LWP::UserAgent; my $content=LWP::UserAgent->new->get("http://router")->decoded_content(); $content =~ q(([\d\.]+)); print $1")
В данном варианте мы загружаем главную страницу роутера (через http), дальше регэкспом находим на ней текущий IP-адрес. Разумеется, этот вариант подходит далеко не всем, но на DD-WRT прошивках работает.

5. Настройка роутера
Про необходимость настроить обращение к DDNS-сервису я уже писал, но еще не забывайте про необходимость настроить форвардинг портов на вашем роутере:
  • HTTP - TCP, 80-ый порт
  • DNS - TCP+UDP, 53 порт

Вывод

Итак, что я получил в итоге:
  • Мои сайты живут на домашнем сервере, за который я никому не плачу;
  • Мои домены резолвятся через мой собственный DNS-сервер, время жизни записей 1 минута, то есть обновление происходит очень быстро;
  • В качестве NS-записей указаны не реальные IP-адреса (которые у меня часто меняются), а DDNS-поддомены;
  • Актуальность записей в DDNS-поддоменах и в конфиге моего DNS-сервера обеспечивается автоматически, без какого-либо вмешательства со моей стороны.
По моим замерам, когда МТС (мой провайдер) обновляет мне IP-адрес, то мои сайты начинают работать спустя где-то 2 минуты. Это вполне приемлемо для меня.

P.S. Если кому-то понравилась данная заметка, то я могу написать вторую часть, где расскажу как настроить работу с использованием DNS-хостинга Яндекса. Это позволит отказаться от собственного DNS-сервера, отказаться от DDNS-поддоменов, плюс чуть улучшит надежность работы (поскольку DNS-сервер никогда не будет менять свой IP). Именно такую схему я использую в настоящий момент.

На данный пакет можно устанавливать как обычные , так и движки . Денвер имеет установленный сервер, поддержку php, Zend optimizer, MySQL. Таким образом, денвер незаменимым инструментом для размещения сайта на локальном компьютере .

Начните процесс установки денвера. Для этого щелкните два раза по ярлыку скаченной программы. Начнется процесс инсталляции. Установка автоматическая, от времени вам необходимо выбирать варианты. Для начала выбирайте диск для размещения денвера. Затем нажмите несколько раз клавишу «Enter». Процесс установки занимает примерно пять минут. По окончанию согласитесь с размещением ярлыков на вашем рабочем столе.

Запустите денвер с помощью ярлыка «Run». Начнется запуск служб и серверов. Теперь необходимо файлы вашего сайта денвера. Для этого откройте , в которую вы установили набор. Найдите каталог «home». Создайте папку с названием вашего сайта . Откройте эту папку. Создайте еще одну с названием «www». Именно в эту папку копируйте все содержание вашего сайта . Если вы ставите движок, то его файлы также инсталлируйте в папку «www». Нажмите «Restart» чтобы перезапустить сервер. Введите в адресной строке название вашего сайта . Он откроется и вы сможете работать.

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

Инструкция

На любом из жестких дисков своего создайте папку, в которой будут храниться файлы для вашего . Дайте ей любое название. Внутри этой папки создайте еще одну папку и назовите ее Images – в ней будут храниться графические элементы сайта, рисунки, кнопки, меню, и другое.

Зайдите в созданную папку и в меню выберите вкладку «Сервис», а затем – «Свойства папки». В открывшемся окне перейдите на вкладку «Вид» и в списке найдите строку «Скрывать для зарегистрированных типов файлов». Снимите галочку с этой строки, после чего нажмите ОК.

Теперь, когда вы включили отображение расширений, снова перейдите в папку и, кликнув правой клавишей мыши, вызовите контекстное меню, в котором выберите пункт «Создать>Текстовый документ». В папке появится новый файл блокнота. Этот файл станет основой для первой и главной страницы вашего сайта. Так как вы только что включили расширения, файл должен отображаться в папке как «Текстовый документ.txt».

Переименуйте текстовый файл – удалите все название, включая расширение, и поменяйте на index.htm. Подтвердите переименование. Откройте полученный html-файл с помощью любого браузера, а затем в соответствующем меню браузера откройте исходный код страницы. Скопируйте увиденный код и вставьте в файл index.htm, открыв его с помощью блокнота – этот код станет основой для страницы, и в него вы будете встраивать все остальные .

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

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

На сегодняшний день существует множество локальных серверов, но какой же из них выбрать?

Я долгое время пользовался джентльменским набором «Денвер», в состав которого входят php, базы MySql и PhpMyAdmin. Подробнее с данным пакетом вы можете ознакомиться на официальном сайте разработчика . Денвер является одним из популярных пакетов локального сервера для web-разработчиков.

Но от денвера мне пришлось отказаться, когда я открыл для себя Open Server . На мой взгляд с данным приложением намного удобнее работать, тем более, что в последних версиях разработчик включил в его дистрибутив большое количество нужным программ, необходимые вебмастеру: браузеры, редактор кода, файловый менеджер и еще др.

Распространяется Open Server абсолютно бесплатно. Единственно, вы можете отблагодарить автора за такой супер полезный продукт для вебмастера, переведя произвольную сумму на электронный кошелек. Как говорит автор, пожертвования очень важны, ведь проект не коммерческий. Ну, оно и понятно, без денег сегодня никуда… В общем, я лично перевел сколько было не жалко.

Преимущества Open Server

Что я могу выделить в пользу данного сервера? Вообще много чего могу сказать хорошего об Open Server да боюсь статья слишком большой получится. Поэтому выделю важные для моменты.

Продукт поставляется в 3 версиях: Ultimate, Premium, Basic. Вообще чем отличаются можете посмотреть на сайте разработчика, но я сделал скрин и прикрепил его к статье.

Именно наличие нескольких версий я считаю плюсом, т.к. скачать можно именно то, что вам нужно. Обратите внимание на версию Ultimate в распакованном виде — 5 с лишним Гб. У меня лично постоянно проблемы со свободным пространством на жестком диске. У кого с этим проблем нет + нужны дополнительные модули и программы, то можете качать смело Ultimate.

Наличие бесплатных программ , как уже было отмечено. Какие именно программы? Я опять сделал скрин.

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

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

Портативная версия программы. Программа по сути работает без установки. Можно ее носить на флешке и при необходимости работать на другом компьютере.

Богатые возможности программы. Ниже я вставил скрин окна настроек Open Server. Глянув на этот скрин, вы поймете, что данный сервер содержит в себе все, что может потребоваться вебмастеру при разработке сайте. FTP-сервер, работа с почтой (php mail, smtp mail), алиасы (для ), домены (создание дополнительного алиаса домена), планировщик задач (правда я его еще не использовал).

Отличная документация + форум поддержки. Руководство написал разработчик достаточно емким. Более того, любые интересующие вопросы вы можете задать на форуме поддержки . В общем, для старта есть все. Нужно просто чуточку уделить внимание, чтобы разобраться во всем этом.

Пока с преимуществами я завершу, но это далеко не весь список. Более подробно об Open Server’e вы можете ознакомиться на официальном сайте разработчика — http://open-server.ru .

Установка локального сервера Open Server

Для начала нам необходимо скачать дистрибутив с сайта разработчика. Какую версию скачать решать вам. На работу локального сервера это никак не влияет. Дистрибутив представляет собой самораспаковывающийся архив. Двойным щелчком распаковываем архив куда нибудь на жесткий диск компьютера, а вообще желательно в корень жесткого диска. Все, можно запустить программу. Теперь зайдите в папку, куда вы распаковали open-server и сразу создайте ярлык на рабочем столе для главного загрузочного файла. Вы найдете две версии загрузочного файла — один предназначен для 32-х битной операционной системы (Open Server x86.exe), второй для 64-х (Open Server x64.exe). Создаем ярлык в соответствии с вашей системой. Например, я выбрал «Open Server x64.exe», т.к. у меня 64-х разрядная ОС. Для создания ярлыка щелкните правой кнопкой мыши по файлу, далее Отправить -> Рабочий стол (создать ярлык).

При первом запуске программа вам попросит выбрать язык и далее всплывет диалоговое окно, в котором будет предложено установить Microsoft Visual C++ Runtime & Patches, если вы запускаете Open Server на данном компьютере первый раз.

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

Запустить Open Server можно, щелкнув двойным щелчком по ярлыку, который мы отправили на рабочий стол. После запуска у вас в трее (рядом с часами) появится красный флажок , это будет означать, что программа локального сервера запущена, но сам сервер не активирован. Прежде чем активировать заглянем сначала в настройки.

Первое, что нам нужно сделать, это чтобы локальный сервер запускался при запуске приложения (в принципе это уже на ваше усмотрение). Для этого в настройках во вкладке «Основные» ставим галочку «Автозапуск сервера».

Во вкладке «Модули » вы можете посмотреть установленные модули для локального сервера и при желании можно поменять. Например, по умолчанию версия php используется 5.5. Если вам нужно 5.6.xx или php-7, то можно без проблем поменять, выбрав нужную версию из выпадающего списка.

Также во вкладке «Сервер » советую выбрать опцию «Всегда использовать вирт. диск «. Это нужно для того, чтобы при запуске сервера создался виртуальный диск. Букву диска можете выбрать любую.

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

Теперь можно запустить сервер — щелкаем по иконке красного флажка в трее (достаточно один клик левой кнопкой мыши) и в меню программы выбираем зеленый флажок . Что означают цвета этих флажков?

  • Зеленый — сервер запущен;
  • Оранжевый — сервер запускается/останавливается;
  • Красный — сервер остановлен.

После запуска у вас должен появиться виртуальный диск — W (если конечно в настройках вы не указали другую метку). Хочу отметить, что при первом запуске у вас может попросить одобрения брандмауэр Windows, если он у вас включен. Окошко одобрения может выскочить несколько раз и все время мы даем добро брандмауэру на выполнение действий Open Server’ом. Иначе, сервер у вас не запуститься.

Заходим в виртуальный диск W и в папке «domains » создаем папку для своего будущего проекта и заливаем туда все файлы вашего сайта. Папку «WWW» в папке сайта создавать не нужно, как это делается в Денвере. После того, как файлы залиты, перезапускам сервер, щелкнув по оранжевому флажку для того, чтобы сервер определил новую папку сайта.

Чтобы запустить сайт после установки в меню Open Server переходим в «Мои сайты » и в выпадающем списке сайтов щелкаем по нужному. После этого откроется браузер, который установлен по умолчанию в Windows — если используете упрощенную версию, и если используете полную версию, то откроется браузер, который установлен в настройках локального сервера.

В данной статье я описал как устанавливать локальный сервер «Open Server». Список настроек, по которым я пробежался далеко не полный… Про остальные возможности и настройки поговорим как-нибудь в другой статье, а пока на этой ноте пожалуй я закончу.

Удачи и приятного вам сайтостроения!



Загрузка...