Авторизация

IT технологии

Переходим на домашний веб сервер. Знакомство с linux.

Начну с того, что несколько лет назад на работе мне пришли и сказали "сделай сайт нашего учреждения". От блин! Да я даже не знаю как эта хреновина выглядит с обратной стороны экрана! Ну что ж, делать надо. Поизучав тему хостинга и доменных имен перешел к теме самого сайта. Изучение с нуля PHP, HTML и т.д. за три дня меня ни разу не порадовало. Оказалось есть куча различных CMS, которые существенно могли облегчить мне жизнь. Больше всего меня привлекла Joomla (тогда еще 1.6). Бесплатная и с огромной кучей расширений. Поизучал и потестил joomla, но оказалось, что она не будет работать ни на одном бесплатном хостинге. Ну нет так нет, ищем самый дешевый хостинг с поддержкой Joomla (на этот то денег давали скрипя зубами). Прошел примерно год и я задумался... Хостинг поддерживает до 5 доменов и неограниченное количество поддоменов. Хм... Ну а почему бы и воспользоваться. В качестве экспериментов я лепил и потом бросал за ненадобностью сайты пачками. Потом както поостыл, да и со временем совсем трудно стало и все притихло. А тут недавно вспомнил, что есть у меня практически халявный хостинг. Ну и почему бы не воспользоваться и не сделать парочку сайтов для дохода. Ну сказано - сделано. И тут всплыли косячки хостера... Они и раньше частенько были, но не особо придавал этому значение. А тут видимо накопилось... Частые падения серверов, падения скорости, переодические жалобы на нагрузку сервера, жесткие ограничения на размер дискового пространства постоянно заставляли контролировать размер разширений и контента, а еще както на все мои проекты ктото загнал массу вирусных страниц, да еще хостер на меня же и наехал, что я не обеспечил безопасности. Как?! Техподдержка в общении мягко ушла от ответов на произошедшее. Еще бы не ушла, явно было видно, что их косяк.

 

 Короче надоело мне это. Полез в сеть. Вполне себе человечки ставят домашние веб сервера уже много лет и не парятся с ограничениями и др. мягко скажем проблемами хостеров. Да, рассчитывать после этого только на себя, да многое зависит от трафика, железа и стабильности бабайки в розетке. Зато если мне надо будет под проект 10гб, сделаю 10Гб. Надо будет 200Гб, сделаю 200Гб. А если учесть, что современые серверные ОСи работают по принципу "поставил, настроил и забыл", так вообще замечательно. Но нужно оговориться, последнее относится к ОСям на Linux. Вот его то я как раз видел можно сказать лишь на картинке. Ну и ходить мы все не с рождения начали. Надо изучать да копаться.

Так как изначально мне был нужен стабильный веб сервер, то выбор ОС конечно очень быстро сузился. На карандаш попали лишь те, которые уже годами отработаны и надежны как автомат Калашникова:

- ubuntu

- debian

- centos.

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

Ubuntu и debian... Ну работают люди. Многие в восторге.

Но приглянулась мне все же Centos. Являясь бесплатным полным аналогом-близнецом платного RedHat, который используют банки и другие серьезные структуры под большие и важные проекты невольно наводит на мысль о стабильности и... Ну после освоения такой ОСи в банк меня не возьмут конечно, но чем черт не шутит.

Скачал на всякий случай все три дистрибутива, принес домой и начал устанавливать... Самое смешное, что нормально не заработала ни одна! Ubuntu выдавала ошибки при инсталляции, debian установилась, но при загрузке все время срывалась пятнистый экран. Более менее нормально удалось поставить лишь centoc и то в консольном режиме. Как я ни бился, графическое ядро не заработало. Именно бился, знаний то никаких, все черпал с нета через телефон. Как я в итоге понял, проблема оказалась в возрасте моего железа. Оказываетс я в последних версиях ОСей они тупо повыбрасывали поддержку старого железа. Моя видеокарта как раз попала в рязряд "старого железа". Зато usb wifi свисток от D-Link определился еще на этапе установке. Оно конечно кто я такой чтобы судить, но логики я както не вижу. На кой отключать "устаревшие драйвера" и встраивать поддержку usb wifi свистков на серверной ОС?!

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

... После долгих мучений, скачанных и нарезанных на приличную пачку дисков ОСей и их версий, установки по 3-10 раз каждой версии, выяснилось следующее - не поддерживают старое и относительно старое железо только последние версии. Так Centos 7 нормально устанавливается лишь в текстовом режиме, а centos 6 прекрастно чуствует себя уже в графическом и на интегрированной карте и на GeForce 7300 GS. Ubuntu так же. 14-я версия категорически отказалась показывать рабочий стол, зато 12-я версия встала без проблем. Но... начитавшись "знающих" твердо решил, что на сервере будет именно Centos. И остановился я на версии 6.6, как наиболее стабильной и поддерживаемой.

Пока шли эксперименты ушел от говеного Ростелекома и подключил себе инет на 60Мбит/с. И получилось даже чуть дешевле! Не буду упоминать провайдера дабы не быть обвиненным в рекламе. Знаете, для нашей "деревни" это действительно нереальная скорость. Даже жена сказала - "теперь наш интернет быстрее нашего компьютера". Ну теперь на таком тарифе можно и домашний хостинг узать. Хотя ложка г... дегтя есть. Провайдер поставил свой роутер с закрытой прошивкой. Теперь настраиваю его удаленно через техподдержку. Каждую малюсенькую настроетку надо менять через техподдержку! Ну нравится им этот гимор - пусть настраивают так. Теперь я прикинусь блондинкой и весь мозг им вынесу с этими настройками.

Далее при помощи чтения форумов и статей (для этого и нужна была графическая оболочка, чтобы не бегать от экрана к экрану) поставил PHP, Appach и MySQL. Потом пошло прописывание настроек под сайты. Через некоторое время до меня наконец начало доходить... А если мне потом понадобится добавить еще сайт, а если 3-4?... И каждый раз лазить по всей системе и прописывать то тут, то там все настройки вручную! Както мне такая перспектива не понравилась. Зачем заниматься все время таким гимором если есть панели управления хостингом, которые делают все автоматом? Параллельно перебору ОСей я курил тему панелей управления. У моего хостера стоит CPanel и она меня вполне устраивает. Но... она платная и довольно дорогая. Есть бесплатные панели, но в большинстве своем их нужно изначально очень прилично допиливать при установке и они нестабильны. Насколько я понял, из бесплатных панелей большое признание получила VestaCP русского разработчика. Ставит сразу полный комплект для веб сервера и устанавливается в два-три шага. После установки в админке даже можно включить русский язык. Но, опять "НО". Нет файлового менеджера, но это пережить можно. И... у меня она отказалась устанавливаться. Инсталлятор сказал мне, что мой mail неправильный! Семь лет везде был правильный и работал, а тут неправильный. Баг насколько я понял нечастый, но проблема появилась не вчера и до сих пор разработчиком не решена. Вроде есть костыли для обхода, но пока я их не подобрал. Еще одна проблемка заключается в том, что весту надо ставить на девственно чистую только установленную систему. Так что в идеале, если инсталлятор панели не завершил корректно работу надо сносить все и опять ставить систему с нуля. Какая прелесть! Ну надо так надо,будем сносить и ставить пока не заработает.

Некоторое время спустя разобрался, что баг с почтой у VestaCP явление довольно частое и вроде чаще всего проявляется на домашних серверах работающих через роутер. Корявеньким решением является командаecho "nameserver 8.8.8.8" > /etc/resolv.conf"  запущенная перед установкой, но данные на почту все равно не пришли.

И вот... панель установлена. В панели создал три домена. Перенес сайты от хостера (БД экспорт/импорт + скопировал каталоги из бэкапа). Поменял у одного сайта А запись со ссылкой на свой IP - сайт бодренько открывается)). Решил остальные не перенаправлять пока системник не займет свое место на балконе и не протянутся провода. Системник конечно хоть и получился очень тихим, но все равно его слышно. Меня не напрягает, а вот выслушивать от домашних - "Че он там трещит?!" не охота. А он именно трещит. Винчестером. Два кулера на 120мм в хорошем тяжелом корпусе звука практически не издают. Вот когда разживусь финансами и куплю SSD... хотя нет, это уже будет новый сервер, на беззвучной и крайне экономичной Cubieboard... хотя это уже другая история и она пока только в планах.

Ну сказано - сделано. Прихожу с работы, а мои собираются уходить. Дабы долго и упорно не объяснять необходимость компьютера с интернетом на балконе и использовать момент, инструмент в зубы и минут через 15 кабель проложен по стенам и каналу плинтусов и обжат. Заодно осещение на балкон провел, которое собирался сделать уже года 2-3)). И вот торжественный момент - жму кнопку и... светодиоды на сетевой плате молчат! Прозваниваю кабель на замыкание - нет замыкания. Прозваниваю кабель на обрыв - нет обрыва. Включаю - нет связи. Нарвался думаю на "хороший" кабель. Но там всего 16-17 метров! И тут осенило - обжал одну сторону в зеркальном отображении! А запасной коннектор и не взял. Расковырял, вынул, вставил нормально, обжал - есть контакт! Тест скорости - 16-24 Кбит/с при разовом запросе и в зависимости от мудрености скрипта. Маловато... У моего хостера 12-50 Кбит/с. Ну так это... У хостера стоят серверные ssd винты да еще в рейде, а у меня пока один древнейший IDE, тогда все логично и отлично. К тому же поведение роутера для меня до сих пор является большой загадкой. Никогда не ведитесь на установку роутера от провайдера с их логотипами и прошивками!!! Ни настроить не сможете нормально, ни посмотреть чем он там вообще занимается. Пожалуй идеальмым было бы подключение SSD, но пока текущая скорость вполне комфортна.  (потом оказалось, что те сайты действительно медленные, а который грузился у хостера 12-50 у меня стал 30-40, так что все даже лучше чем ожидалось) 

Отдельной проблемой оказалась настройка dns. Сайт не открывался по www. Без www - моментально, с ним - вообще никак. По http тоже открывался. Пришлось курить тему dns. Скажу честно - до конца еще не разобрался, но поиграв с записями победил проблему. У меня А-запись www была, а вот с серверами имен была каша.

Пожалуй эту историю можно и заканчивать. Сервер работает, сайты бодренько крутятся, в квартире тишина, да и на балконе если честно тишина (теневая сторона - кулеры толком не раскручиваются). Я не стал приводить подробных инструкций с командами. Почему? Сначала хотел, иногда сам хочешь пользоваться такими, чтобы быстро и не напрягаясь, но потом передумал. Во первых иногда бывает куча нюансов, которые не укладываются в такую скромную инструкцию, да и когда находишь кусочки нужной разрозненной инфы, попутно читаешь много другого полезного. Немного проблемным для меня был поиск портов, которые нужно открыть в роутере. В настройках роутера сразу пробросьте порты 20, 21, 22, 80, 8080 и привяжите локальный ip к mac-адресу сетевухи, чтобы потом не ломать голову почему пропала связь, когда роутер назначит вашему девайсу новый ip.

Да, железо далеко не серверное - Athlon 64 X2 5000+, старенькая мать Asus, DDR2 2Gb в двухканальном режиме, HDD 80 Gb (IDE) с кэшем 8Mb. Да только во сколько мне выльются такие ресурсы у хостеров? К тому же мне ничего не стоит раздобыть пару HDD SATA и загнать их в рейд, который материнка поддерживает аппаратно. Да, приверженцы аренды хостнига и серверов в чем то правы - сервер мотает счетчик, от перебоев канала и напряжения в сети никто не застрахован, отказ оборудования может серьезно подпортить жизнь и репутачию. Но. Мой сервер в том виде, в котором сейчас мотает не более 50Вт/ч (сервера в датацентрах мотают куда больше). В запасе своего часа ждет зверский бесперебойник, который для данной комплектации именно зверский (на борту 12v 14Ah). Ломаться там на ненагруженном оборудовании с новыми кулерами особо нечему. Канал провайдера по отзывам знакомых стабилен как никогда. Даже если и вылезут проблемы из перечисленного, то по сравнению с постоянными падениями, переездами на новые сервера и регламентными работами моего хостера это просто ерунда. К тому же весь этот (я бы сказал довольно успешный) "проект" скорее эксперимент и работать ему максимум месяцев 12, которые он с легкостью выдержит. Но все же для дома даже такое потребление электричества мне кажется немного расточительным и в планах переезд на экономичное, холодное, полностью лишенное кулеров и гудящих HDD оборудование.

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

You have no rights to post comments

Яндекс.Метрика