Веб-сервер на дому
В сегодняшней статье мы поговорим об организации своего домашнего веб-сервера. Шаг за шагом установим программное обеспечение, подключим нужные услуги у интернет-провайдера и протестируем сервер. Ну а перед тем, как перейти к реализации задуманного, буквально несколько слов о том, зачем все это вообще нужно. Неужели сторонних серверов недостаточно или цены на аренду/хостинг слишком велики?
Во-первых, домашний веб-сервер очень удобно использовать для отладки скриптов и тестирования определенных сайтов, не закачивая их при этом в Сеть. Просто, быстро, а самое главное — надежно. Ведь нередко кража скриптов происходит именно на стадии тестирования на стороне хостера. Сделали вы, скажем, скрипт, плохо его защитили, кто-то воспользовался брешью в системе безопасности вашей разработки — и вот у вашего творения уже новый владелец. Если же вы отлаживаете разработку на локальной машине, то этой проблемы нет, ведь доступ к компьютеру есть только у вас.
Во-вторых, свой сервер можно использовать для временной передачи больших объемов информации. Скажем, ваш друг попросил максимально быстро передать ему увесистый архив. У вас обоих быстрый интернет. Как поступить в данной ситуации? Разбить архив на несколько десятков или сотен мелких фрагментов и передать их товарищу по e-mail? Воспользоваться услугами платных хранилищ уровня Rapidshare, откуда «на халяву» файлы придется вытягивать несколько часов? А может быть, прибегнуть к P2P-сетям?
Можно, но ни один из перечисленных способов не является универсальным. Однако есть один очень интересный вариант решения этой проблемы. Развертываете домашний веб-сервер, открываете доступ к нужным файлам и передаете своему приятелю линк на скачку определенного файла со своей машины.
И, наконец, в-третьих, домашняя веб-станция — идеальный вариант для содержания огромного портала типа www.igromania.ru. Почему? Ну а какой хостинг-провайдер предоставит вам, скажем, 80, 100, а то и все 500 Гб для размещения модов, артов и 3D-моделей собственного производства, видеоматериалов и другой полезной информации? Можно арендовать выделенный сервер топ-конфигурации, но это лишь в том случае, если вы готовы ежемесячно отдавать за это от 1,5 до 15 тыс. рублей.
И не забывайте о главном! Имея в распоряжении мощный компьютер и договорившись предварительно со своим интернет-провайдером, вы вполне можете организовать собственный полноценный хостинговый центр, то есть попробовать себя в роли хостинг-провайдера.
Самое необходимое
Для организации полноценного веб-сервера на домашнем компьютере нам понадобятся:
1. Выделенный IP-адрес. Уникальный статичный цифровой адрес вида 87.176.117.42, который присваивается исключительно вашей машине при работе в интернете. Фактически именно он используется для доступа ко всем веб-серверам, однако зачастую для более удобного обращения к определенным порталам к нему привязывается короткое и легко запоминающееся доменное имя вида www.igromania.ru. Постоянный IP — платная услуга, подключается исключительно на стороне вашего интернет-провайдера.
2. Веб-сервер Apache для Windows/Linux. Один из самых надежных, популярных и, что немаловажно, бесплатных веб-серверов с открытым исходным кодом (Apache носит статус open source проекта). Именно этот сервер использует около 70% крупных интернет-станций. Главный и единственный недостаток серверного пакета — отсутствие удобного администраторского интерфейса.
3. PHP 4 или 5. Специальный интерпретатор для подключения к вашему серверу возможности обработки PHP-сценариев любой сложности.
4. MySQL. Удобная система управления базами данных (СУБД). Очень шустрая, практически безошибочная и предельно простая в использовании.
Привязка домена к IP-адресу — зачем и как? | |
Многие интернетчики задаются вопросом: зачем привязывать какой-то конкретный домен к IP-адресу, что за ересь такая, ведь домен — он и в Африке домен (то есть адрес сайта в Сети)? На самом деле такие пользователи не очень хорошо представляют себе схему работы большинства веб-серверов. Любой человек, перейдя по определенному адресу, например www.igromania.ru, автоматически перенаправляется на длинный цифровой адрес (IP) конечного веб-сервера. Иными словами, файлы, сайты и другие компоненты проживают не по каким-то буквенным адресам. Располагаются они как раз на машине, которой присвоен уникальный IP, а к нему, в свою очередь, привязан какой-то конкретный домен. Зачастую из-за описанного выше непонимания случаются следующие проблемы: «На сайте размещен нелегальный контент, надо связаться с администратором и удалить домен». И вот тут-то пользователь будет в корне неправ: а что если этот самый домен был сдан в аренду и просто припаркован к определенному серверу со своим IP? В таком случае всю ответственность несет исключительно хостинг-провайдер, но ни в коем случае не администратор (владелец) домена. Итак, давайте подведем итог всему сказанному и ответим на вопрос, зачем же нужна привязка доменов к буквенным названиям. Во-первых, это крайне удобно: конечному пользователю, то есть посетителю, не нужно запоминать сложные цифровые комбинации вида 85.129.178.38, достаточно просто держать в голове адрес, ссылающийся на данный IP. Во-вторых, трудно вычислить реальный IP ресурса (вы же знаете только название сайта — домен), а следовательно, относительно сложно его атаковать. Ну и, в-третьих, к одному IP можно прикрутить сколько угодно доменов, то есть, заходя на любой из сайтов, привязанных к вашему IP, пользователь будет попадать на один и тот же портал. А теперь давайте ответим на вопрос «как?», то есть поговорим о практической реализации привязки домена к конкретному IP-адресу. Первым делом зарегистрируйте на себя определенный домен. Сделать это лучше всего у тех регистраторов, которые позволяют пользователям самостоятельно изменять данные о зарегистрированных доменах сразу же после их делегирования, например, «Джино» (www.jino.ru) или WebNames.ru (www.webnames.ru). После этого зайдите в контрольную панель, перейдите в раздел управления доменами — управление DNS (в случае с «Джино») или DNS-сервера (в случае с WebNames) и переназначьте IP-адреса вида 217.107.217.17 на нужные вам — скажем, на IP собственного веб-сервера. Изменения вступят в силу по прошествии нескольких часов с момента окончания правки DNS-параметров. Ручная сборкаДавайте рассмотрим создание сервера вручную с использованием всех вышеописанных компонентов. Первым делом подключите услугу «Анонсированный IP-адрес» у своего интернет-провайдера. Как правило, цена на нее составляет около 150 рублей в месяц. Далее загляните на официальный сайт проекта Apache (http://httpd.apache.org) и загрузите последнюю версию веб-сервера под Windows (мы будем организовывать сервер исключительно под управлением этой операционной системы). Запустите исполняемый файл и следуйте инструкциям по инсталляции. Не забудьте в ходе установки указать анонсированный IP-адрес вашей машины. Ведь именно он будет использоваться для подключения к вашему серверу через интернет. Веб-сервер Apache — один из самых быстрых и надежных, на нем исправно функционирует порядка 70% крупных интернет-сайтов. После того как установили программу, приступаем к настройке сервера. Перейдите в каталог \conf с установленным Apache (как правило, это директория C:\Program Files\Apache Group\Apache\conf). В данной директории содержится несколько конфигурационных файлов сервера. Нас интересует лишь один из них — httpd.conf. Он включает в себя базовые настройки серверной станции типа директорий хранения документов, блокировки заданного диапазона или отдельно взятых IP-адресов, название машины, блоки, которые отвечают за активацию независимых модулей. Исправим основные характеристики сервера, заключенные в тело данного файла. Откройте «Блокнотом» файл httpd.conf. Задайте определенное имя своей веб-станции. Для этого отыщите в httpd.conf ключевое слово ServerName, впишите после него произвольное название сервера, удалите значок решетки (#) в начале строки перед директивой, чтобы данный атрибут (название сервера) не игнорировался компилятором. Затем модифицируйте путь, прописанный после директивы DocumentRoot, скажем, DocumentRoot «C:/Program Files/Apache Group/Apache/htdocs» на наиболее удобный для вас, например: «C:/www/docs». После выполнения данного действия не забудьте создать одноименный каталог на диске для хранения HTML-документов, в противном случае Apache наотрез откажется запускаться. Следующий шаг — установка или настройка скриптовых псевдонимов. Отыщите строку ScriptAlias /cgi-bin/ «C:/Program Files/Apache Group/Apache/cgi-bin/» и поправьте указанный в ней путь на C:/www/cgi-bin/ (ведь основной-то путь мы изменили). Зачем это нужно? Для того чтобы при вводе в адресной строке интернет-браузера ссылки вида http://localhost/cgi-bin выполнялось обращение к реальной директории C:/www/cgi-bin/, содержащей определенные CGI-файлы. Выполним окончательную привязку ряда настроек для каталога C:\www. Найдите в файле конфигурации httpd.conf следующий блок параметров: Узнать свой выделенный IP можно, введя в командной строке Windows ключевое слово ipconfig и нажав Enter. Домашний веб сервер за 5 минут!На днях мне один человек написал комментарий, что у него не получает установить веб сервер LAMP, как я описывал это в своей статье, пишет: невозможно загрузить веб страницу так как не поступили данные от сервера. Тогда я не смог ему ничего ответить, так как на тот момент у меня web сервер не был установлен. Но из его слов я тогда уже догадался, что сервер apache2 что-то изменил в своей конфигурации, так как конфигурационные файлы, которые он мне присылал, сильно изменились. Но вот я вчера решил установить сервер на домашнем компьютере, чтобы тестировать и дорабатывать свой сайт. (Если вы хотите поставить веб сервер прямо на windows, то читайте эту статью) Но не тут то было, моя инструкция и вправду не работала, и мне так и не удалось с ходу настроить сервер apache. Я подумал и решил установить сервер nginx, который все нахваливают. Но его настройка оказалось ещё более сложной, и с ходу мне настроить сервер nginx не удалось. Я решил не тратить время впустую, а подойти к проблеме с другого боку: установить сервер на своем компьютере на виртуальной машине. У этого подхода есть много преимуществ, да и делается все не так сложно, даже не нужно заканчивать курсы для системного администратора. Как сделать свой Веб-сервер с сайтом и доступом в интернет?Хотя пройти онлайн курсы Cisco, для общего развития, было бы не плохо:) Веб-сервер на виртуальной машине — ПЛЮСЫ:
2. Локальный web сервер можно будет запускать только по необходимости, и домашний сервер не будет постоянно забирать ресурсы компьютера. 3. Виртуальный web сервер можно легко перенести на другой компьютер. Но как вы понимаете, устанавливать полноценный Linux для этого нет смысла, так как он будет забирать тоже много ресурсов. Лучше установить серверную версию Linux, например, Ubuntu Server. Но в этом случае все придётся долго устанавливать (сам сервер в том числе) и потом настраивать. А для неопытных это вообще не тот, что нужно. Но есть более простой и удобный вариант: установить специальный mini linux дистрибутив, на котором уже всё установлено и настроено. И такие есть. Домашний веб сервер за 5 минут!Есть такой замечательный сайт — turnkeylinux.org , который предлагает БОЛЕЕ СТА таких сборок на все случаи жизни. Есть уже готовый Linux с установленным веб сервером и вордпрессом! Это как раз то, что мне и нужно. И самое замечательное, что есть готовые образы для виртуальных машин, в том числе и для стоящей у меня сейчас VMWARE. Чтобы скачать эту версию, можно пройти по этой ссылке . Как видите, файл весит всего 220 мегабайт, так как там нет ничего лишнего, так что можно установить и на слабом компьютере. Я запустил эту виртуальную машину и вот что я увидел. А не увидел я ничего, так как оказалось, что моя виртуальная машина не поддерживает версию AMD-64, а сайт предлагает только такую сборку. Я уже было расстроился, но потом стал искать альтернативную x86 сборку и нашёл: скачать можно ТУТ ISO файлы, а ТУТ файлы для виртуальной машины — я скачал файл turnkey-wordpress-13.0-wheezy-i386-vmdk.zip (не забудьте раз архивировать файл) Ну вот, теперь другое дело, сервер запустился, и вот что первое он мне выдал после начальной загрузки: Устанавливаю свой пароль, его вводить придётся много раз: на сервер, на базу данных, на wordpress и всё по два раза. Так что поставьте везде один не сложный пароль, чтобы потом не запутаться. Далее система спросит почтовый адрес, а после API KEY. Я пока не понял, зачем это нужно и поэтому шаг этот пропустил — думаю на локальной машине этого не нужно. После этого предстоит самый важный шаг — настроить сеть — выбираем статический IP адрес. У меня по умолчанию на этой виртуальной машине сетевая карта стоит в режиме Bridged. Это значит, что виртуальная машина, а значит и сервер, будут использовать диапазон адресов, который использует ваша сетевая карта на компьютере. Как узнать, какие адреса нужно писать? Наберите в терминале команду: Теперь посмотрите адрес вашей сетевой карты. У меня ноутбук, работающий по wifi, поэтому моя сетевая карта обзывается wlan0 и имеет адрес 192.168.1.4 Поэтому я настраиваю сервер так: Вы делайте по аналогии, думаю, что сут вам понятна. После этого нажимаете пункт Apply и все готово. Далее вы увидите пункт REBOOT — перезагрузите сервер. После перезагрузки машина загрузится до такого состояния. Тут нам ещё раз подсказывают наш IP адрес, который я выбрал произвольно, и по которому будет доступен сервер из основной системы — 192.168.1.30 Набираем это адрес в строке браузера и попадаем на наш сервер, где уж установлен WordPress:) Напомню, что логин admin и пароль тот, который вы придумали при установке. Вот и всё. Хотя нет, ещё не всё. Если вы наберёте в браузере такой адрес _https://192.168.1.30:12321/, то попадете в WEBMIN, панель управления сервером. Там много интересного, и вы можете почувствовать настоящим системным администратором. Ещё очень полезно настроит FTP сервер, без этого вы не сможете обновлять систему и плагины. Чтобы FTP заработал, нужно вписать не 127.0.0.1, как в статье, а адрес сервера. Но можно подключиться к серверу через SSH, который тут точно должен работать. Открываем наш файловый менеджер и в адресную строку вписываем: После этого вас попросят ввести пароль, и если всё хорошо, то вы увидите все фалы вашего сервера, с которыми вы можете работать, как с «родными». Наверное, что я сделаю, так это русифицирую WordPress:) Но это уже отдельная тема. Будут вопросы — пишите, помогу чем могу. Лайки и твиты приветствуются! |