Как поднять сервер с нуля

Домашний веб-сервер, или сам себе хостинг-провайдер

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

Делать сервер буду из старого нетбука Samsung N102SP со сломанной клавиатурой, для небольших нагрузок его вполне достаточно, к тому же он маленький и совсем не шумит. Интернет дома у меня раздаётся wifi роутером tp-link TL-WR840N, через него и буду подключать свой сервер.

Ставить буду Centos 7, качаем отсюда минимальный образ (Minimal ISO), образ записываю на флешку с помощью программы Rufus. Теперь надо загрузить нетбук с флешки, и тут возникает первая проблема, так как клавиатура не работает, не могу войти в биос, внешнюю usb клавиатуру он не видит, сброс биоса решает проблему (в нетбуке Samsung N102SP биос сбрасывается замыканием контактов rtc reset под крышкой memory, замыкать надо на 30 секунд), выбираем в биосе приотритетную загрузку с флешки и начинаем установку, даже при минимальной версии Centos 7 устанавливается в графическом режиме. Никаких сложностей с установкой возникнуть не должно, удаляем все старые разделы на диске и отдаём все под Centos, устанавливаем пароль root и прописываем настройки сети, в моем случае подключаемся к домашней сети wifi (это можно сделать и потом с помощью команды nmtui), несколько минут и Centos 7 установлен.

Заходим под root. Останавливем firewall командой «systemctl stop firewalld», отключаем firewall из автозагрузки командой «systemctl disable firewalld». Пока он нам не нужен, настроим firewall позже. Еще надо обязательно отключить спящий режим при закрытии крышки нетбука, для этого надо в файле /etc/systemd/logind.conf заменить строку «#HandleLidSwitch=suspend» на строку «HandleLidSwitch=ignore», затем перезапустить командой «systemctl restart systemd-logind».

Теперь можно мой нетбук поставить в удаленный угол и забыть про его физическое существование, все дальнейшие действия со своим домашним веб-сервером можно произвоить через ssh.

Теперь нужно настроить wifi роутер, в случае с tplink открываем tplinkwifi.net логин и пароль по умолчанию admin, в разделе «Состояние» смотрим состояние WAN, IP адрес должен быть статическим и не должен начинаться с 192.168.х.х, 172.х.х.х, 10.х.х.х, в противном случае свяжитесь с провайдером и попросите предоставить внешний IP, скорее всего это можно сделать и через личный кабинет, мой провайдер предоставил мне IP за 90 рублей в месяц. Все новые настройки нужно прописать в разделе «Сеть/WAN». Теперь нужно зарезервировать внутренний IP адрес на роутере для нашего сервера, заходим в раздел «DHCP/Список клиентов DHCP» и находим там наш сервер (чтобы узнать IP на сервере наберите команду ifconfig), после копируем MAC-адрес и переходим в раздел «DHCP/Резервирование адресов» и добавляем там MAC-адрес нашего сервера и его IP. Всё, теперь роутер всегда будет выделять для нашего сервера этот IP. Теперь надо пробросить порты, чтобы при обращении из интернета роутер отправлял запросы на домашний веб-сервер, заходим в раздел «Переадресация/Виртуальный сервер» и добавляем 80 порт. Также добавляем 22 порт, чтобы можно было подключаться к серверу через ssh. У меня при добавлении 80 порта возникала ошибка «Порт удалённого управления веб-интерфейсом конфликтует с портом виртуального сервера». Чтобы этого избежать предварительно изменим порт удалённого управления на 8080, для этого откроем вкладку «Защита/Удалённое управление». Теперь управление роутером доступно по адресу tplinkwifi.net:8080/

Для удалённого управления веб-сервером качает утили Putty с www.chiark.greenend.org.uk/

Теперь для полнофункционнальной работы веб-сервера установим необходимые компоненты, первым делом подключим репозиторий Epel, там есть практически всё необходимое для автоматической установки, вводим команду «yum install epel-release». Затем для отслеживания состояния сервера устанавливаем htop командой «yum install htop», для удобной работы с файлами усталавливаем midnight commander, командой «yum install mc», теперь ставим Apache, для этого вводим «yum install httpd», запускаем и ставим в автозагрузку командами «systemctl start httpd» и «systemctl enable httpd», теперь установим MariaDB командой «yum install mariadb-server», аналогично запускаем и ставим в автозагрузку «systemctl start mariadb» и «systemctl enable mariadb», производим первичные настройки при помощи команды «mysql_secure_installation», устанавливаем root пароль, удаляем анонимного пользователя и тестовую базу, затем нужно устанавить PHP с необходимыми модулями «yum install php php-mysql php-common php-mbstring php-mcrypt php-devel php-xml php-gd», перезагружаем httpd командой «systemctl restart httpd». Теперь при вводе в браузере IP адреса видим приветственную страницу Apache. Корневой каталог находится в «/var/www/html/». Вот теперь наш домашний веб-сервер доступен с любой точки планеты.

Источник

Как создать свой первый безопасный веб-сервер, готовый к продуктиву

В этом руководстве мы рассмотрим некоторые из лучших методик создания своего первого безопасного сервера. Мы пошагово разберём весь процесс, и в результате получим сервер, полностью готовый к использованию в продуктиве для вашего приложения. Конечно, это не исчерпывающее руководство. Безопасный сервер — это постоянный поиск новых ресурсов и бесконечные улучшения. Но с этим материалом вы можете начать создавать собственную инфраструктуру.

Для прогона тестов мы будем использовать Amazon EC2, но можно взять и Amazon LightSail, Digital Ocean, Vultr или другой сервис. Все они конфигурируются одинаково, так что выбирайте тот, который вам по душе.

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Создаём публичный и приватный SSH-ключи

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

SSH-ключи мы будем создавать с помощью ssh-keygen.

В результате получим два файла: id_rsa и id_rsa.pub (приватный и публичный ключи). Никогда и никому не передавайте свой приватный ключ.

Подробную инструкцию по созданию ключей вы найдёте здесь.

Импорт публичного ключа в Amazon

Импортируем только что созданный публичный ключ в платформу Amazon.

Создаём свою виртуальную машину

Установим в Amazon EC2 виртуальную машину под управлением Ubuntu. Настройка подробно описана здесь:

Подключаемся к новому серверу

Обращаемся к виртуальной машине по SSH.

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

Даём доступ новому пользователю

Создадим новый аккаунт пользователя по имени “wizard”:

Дадим “wizard” разрешение выполнять sudo. Откроем файл:

И зададим содержимое:

Скопируем публичный ключ (PATH-TO-PUBLIC-KEY) и вставим в удалённый экземпляр /home/wizard/.ssh/authorized_keys. Настроим разрешения:

Обеспечиваем безопасность

Обновляем все установленные пакеты.

Меняем SSH-порт с 22 на 2201. Для конфигурирования файрвола (ufw, Uncomplicated Firewall, незатейливый файрвол) открываем файл /etc/ssh/sshd_config:

и меняем эти данные:

Конфигурируем Uncomplicated Firewall (UFW) так, чтобы пропускались только входящие подключения SSH (порт 2201), HTTP (порт 80) и NTP (порт 123).

Конфигурируем серверные часы

Устанавливаем в качестве локального часового пояса UTC:

Выбираем опцию ‘None of the Above’ и снова UTC.

Отключаемся и добавляем наш ключ в SSH-агент

Для отключения вводим:

а потом добавляем ключ.

Добавляем в Amazon разрешения по порту

Это необходимо сделать в Amazon. Зададим SSH-порт, который будем использовать также на Amazon.

Подключаемся с новыми данными

Теперь вы можете подключиться к серверу по новому порту как новый пользователь:

Теперь у вас есть сервер, готовый обслуживать ваше приложение.

Источник

Домашний сервер, или приключение длиной в 6 лет. Часть первая

Здравствуй, Хабр, давно не виделись.

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

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

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

История началась в уже далеком 2014 году, ходят мифы, что когда-то доллар был по 32 рубля за одного зелёного, трава была зеленее, небо чище, а энтузиазма было столько, что я занялся вещами о которых расскажу ниже в статье, сейчас я бы на такое уже не отважился.

В один прекрасный день, разбирая свои провода и коробки на шкафу, и раскладывая оставшееся железо от ремонта старых ПК друзей, родственников и знакомых, я вдруг решил создать центральное хранилище резервных копий для семейных фотографий, домашний CCTV, сделать медиа-сервер для удобного просмотра кино и сериалов, да и лаба для всевозможных экспериментов тоже не помешала бы, такой домашний NAS с расширенным функционалом. Подобная идея уже некоторое время мелькала у меня в голове, но все было не до нее — либо чего-то из железа не хватало, либо времени, а тут все как раз сошлось.

Собственно началось все с нескольких жестких дисков разного объема, в качестве процессора я взял старенький Intel i3-2120 3.3Ghz и 4GB RAM DDR3 (2 планки по 2GB), какого-то старого очень китайского корпуса, который, как видно на фото, был доработан в прямом смысле напильником, хотя на самом деле там побывали и кусачки, и молоток, да и ножовкой по металлу я что-то пилил. В качестве материнской платы была взята списанная из офиса MSI B75MA-E31 (списали ее потому, что после каждого ребута в ней слетали настройки биоса и она постоянно просила настроить время и прочие параметры), как оказалось уже позже, когда я ее таки забрал, в ней косячил разъем под батарейку CR2032, вооружившись мультиметром, паяльником и парой других мертвых материнок, мне удалось перепаять целиком посадочное гнездо с контактами батарейки и восстановить нормальную работу материнской платы.

В Итоге получилось что-то такое:

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

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

Что же по софту спросите вы, так вот изначально в качестве операционной системы была выбрана Windows 10…

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

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

Для домашнего CCTV (видеонаблюдения) я купил на Avito несколько камер D-Link dcs-2130, для начала камеры были очень даже неплохие, но большим минусом данных камер была необходимость использования блока питания с довольно коротким проводом, провод в итоге я удлинял с помощью витой пары — получилось вполне сносно.

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Позже у меня появилось пара камер с ночным режимом записи (съемка с инфракрасной подсветкой), которые также использовались некоторое время.

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

По программному обеспечению я перепробовал множество вариантов: сначала родной софт от D-link, который на тот момент был просто ужасен, потом я пробовал “Линия IP”, “Trassir” и “iSpy”, насколько знающий читатель поймет, “Линия IP” и “Trassir” накладывали множественные ограничения в триальных режимах, да и опять же ни одно из решений я не мог для себя оценить как идеальное, в итоге на длительный срок я остановился на открытом бесплатном ПО для организации видеонаблюдения — “iSpy”.

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

Спустя полгода или чуть больше, намучившись с Windows, я решил, что надо попробовать в качестве основной операционной системы что-то стабильное, не требующее постоянных перезагрузок и обновлений, основанное на Unix/Linux.

В итоге выбор пал на FreeNas. Я довольно долго жил с ним и не тужил, используя плагины для расширения базового функционала и шары с поддержкой Windows ACL, Emby в jail для DLNA вполне справлялись со своими задачами, диски разного объема спокойно склеивались в отказоустойчивые RAID-массивы.

Я перепробовал все доступные конфигурации RAID, провел огромное множество тестов на скорость записи и чтения, тесты на IOPS, изучил теорию по массивам и типам файловых систем, в общем провел время с пользой.

Точно уже и не вспомню, но freenas радовал меня около года, если не больше, но было 2 основные причины, почему я снова решил сменить операционную систему моего сервера.
Первой было то, что я никак не мог подобрать удовлетворяющее меня решение для домашнего CCTV, которое работало бы на FreeNas, извиняюсь перед читателями, я достоверно не помню какие варианты я пробовал использовать и с чем экспериментировал на FreeNas в плане CCTV, но точно помню, что хорошего решения тогда я не нашел.

И второй причиной было отсутствие гибкости для экспериментов. В частности с виртуальными машинами Windows и Linux, а тут еще и на работе решили попробовать Windows Hyper-V и дабы расширить свой кругозор и принудительно получить некоторые навыки я снова вернулся к Windows, только теперь уже Windows Server 2012.

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Кстати к этому времени у меня высвободилась оперативная память с основного ПК — 2 планки по 4GB DDR3, соответственно у меня уже было 8GB для моих лихих затей.

А еще я приобрел с рук (все там же на Авито) RAID контроллер LSI 8888ELP за 4500 рублей, абсолютно новый, в коробке и пленке.

Я конечно тут же получил несколько неприятных напоминаний, что Windows системный администратор должен страдать по определению — создание виртуальных машин с Linux оказывается требует отключения secure boot в гипервизоре и еще некоторых плясок с бубном, и если сейчас ни одной машины не запущено, то Windows Server опять же норовит поставить обновление и перезагрузиться, либо по утру я обнаруживал синий экран, т.к. что-то винде там в очередной раз не понравилось и прочие радости жизни с продукцией Microsoft.

Но цель изучить Microsoft Hyper-V, базовый функционал виртуализации от Microsoft, была достигнута.

По софту для решения первоначальных задач все оставалось примерно так же:

Но под конец 2016 года на меня свалились даром около 15-17 замученных, но вполне рабочих дисков по 1 ТБ, без BAD блоков. Собственно грех было не приспособить их в домашний сервер, но была проблема — на материнской плате всего 3 слота SATA II и один SATA III, также был RAID-контроллер LSI 8888ELP — это еще 8 портов SATA, и даже купленная мной в какой-то момент плата расширения Espada PCIe-4 x SATA III не позволяли собрать в данном корпусе что-то вменяемое.

Я стал изучать рынок Б\у серверов supermicro на предмет покупки 3U-4U сервера с hotswap-корзинами, CPU, RAM и т.п. Также очень хотелось уже получить наличие IPMI (iLO в терминах HP), то есть KVM over IP, дабы была возможность подключаться к серверу по IP в веб или java приложении. Хотя сервер до этого времени жил в тумбочке под телевизором (где у нормальных людей обычно обитают Playstation и Xbox) и был подключен по HDMI к тому самому телевизору, но каждый раз для управления мне приходилось переключать клавиатуру со своего ПК (пока Windows Server работал штатно, ничего не обновляя и не зависая в синий экран, естественно я подключался по RDP) — соответственно IPMI был бы очень кстати, да и вроде подарок на день рождения я себе так и не купил.

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Картинку резал из видео, поэтому за качество извиняюсь, но как видно “сервер” живет на нижней полке, и особо никому не мешает.

Но изучив цены, я очень быстро поубавил свои хотелки, как по процессору, по объему оперативной памяти, так и по наличию IPMI, тем не менее всё, что я находил, было для меня всё ещё дорого. Через неделю, устав бороться с жабой и рыться в барахолках, я решил купить дисковую полку Dell PowerVault MD1000 (DAS) с кабелем для Raid-контроллера (SFF8088-SFF8470), которым я собственно и планировал подключить полку к своему серверу через внешний порт на RAID-карте. Полка обошлась мне в 23 800 руб., а кабель еще в 3000.

Приехал мой подарок из славного города Санкт-Петербурга, доставленный логистической компанией, бережно упакованный в деревянный паллет, в пленке и защитной упаковке:

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Фото паллета уже после того как я извлёк из него дисковую полку, разбирал я его ножом и отверткой, на все про все ушло примерно 40 минут.

Я знал, что полка будет тяжелая, но то что я буду проклинать все и вся включая себя за эту идею — я даже представить не мог! Еще даже не достав дисковую полку из паллета (а она была там забита гвоздями намертво), я уже понял, что это будет то еще приключение.

Удивительно, но я не смог найти у себя ни одной фотографии дисковой полки отдельно, поэтому приложу фото из интернета:

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

А на фото ниже можно наблюдать уже сервер с полкой в сборе, в тумбочке на балконе.

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Тумбочку делал конечно же сам, всё как положено — сначала спроектировал в какой-то онлайн-программе и распечатал раскрой материала на листочке, затем в ОБИ, куда я поехал за материалом, как водится не оказалось в наличии той щитовой доски с сайта, для которой я распечатал раскрой, поэтому я взял вариант в наличии на 2мм толще, предупредил там на распиле, но естественно один принимает заказы на распил, другой носит, третий пилит, где-то там в коммуникации эти 2 мм потерялись. Тумбочку я конечно же собрал, но 2 мм “погрешности” — это огромная разница при сборке мебели.

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

И да, сервер реально оказался на балконе, и летом, и зимой. Почему же так произошло? Те, кто хоть раз включал дисковую полку enterprise-уровня, уже догадались, а для остальных я опишу ощущения (в том числе и не только свои) во второй части!

Источник

Как поднять сервер в небольшой организации?

Добрый день.
Есть задача организовать переезд офиса на 70 человек.
На данный момент сеть одноранговая, ОС всякие разные, но большинство все же Win 10.
Интернет приходит и раздается микротиком. Большинство юзеров получают сеть по вайфай.
Большинство пользователей имеют дело с графикой и видео, объемы большие.

О чем надо не забыть в построении грамотной сети?
Хватит ли 1го сервера? Какой гипервизор лучше подойдет?
С чего начать? Как пользователям подключатся извне?
В сторону какой железки смотреть? Может еще HelpDesk посоветуете?

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

Простой 3 комментария

1С не любит виртуализацию, тк сильно кэширует данные на сервере. СУБД так же. Да и вообще зачем тебе нужен гипервизор при таком использовании?

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Сергей, учитывая реалии нашей страны, «VMware» и «деньги» не всегда ходят рядом 🙂

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

athacker, гипервизор у них бесплатен. вебморда для управления есть ). так зачем там деньги еще раз?)

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

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

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

А что касается «специализированных» NAS’ов, то я бы не стал эти устройства за пределами дома использовать. Бэкапы разве что хранить, а в остальном это очень ненадёжные устройства.

Источник

Разворачиваем локальный сервер на Windows

Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля
Несколько дней назад меня очередной раз посетила Мысль. Мысль была не нова и довольна навязчива: «давай перейдем на Windows8. Ну пожааалуйста». И так как отогнать её никак не получалось, я запаслась чаем и печеньками и приступила.

На установку системы и всех необходимых программ ушло не более двух часов, но затем наступил самый интересный момент: мне нужно было развернуть рабочее окружение, а именно — GIT + локальный сервер (Apache, MySQL, PHP, nginx, memcached, mongodb). Помятуя об опыте предыдущих установок, на этот раз я решила весь процесс задокументировать и сохранить для потомков.

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

Дисклаймер номер два: да, я прекрасно представляю, что в Ubuntu всё это делается в разы быстрее. Но я работаю на Windows, так исторически сложилось.

Наш план работ включает установку следующих продуктов:

1. PuTTY

PuTTY — свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin.
Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

В состав PuTTY входит несколько утилит, но мне в работе нужны только он сам и Pegeant (агент SSH-аутентификации, в котором хранятся ключи от git-репозиториев).
Офсайт: перейти
Если вам не нужны никакие SSH-и, забудьте об этом пункте и идём дальше.

2. GIT

Для работы с git я уже не первый год использую TortoiseGit, который стабилен, гуёв и на 146% закрывает все мои потребности. Вобщем, рекомендую.
Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля
Офсайт: перейти

2.1 Для работы TortoiseGit требуется git для Windows, который можно забрать на гуглекоде;
2.2 сам TortoiseGit устанавливаем отсюда

3. Denwer

Денвер — Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») — проект Дмитрия Котерова, набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине.
Офсайт: перейти

3.1 Установка

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

нет, не просто скачать, а получить ссылки на скачивание по email! То есть вам придется вбивать свою почту, а также имя и фамилию два раза в форме под большим заголовком «Регистрация». «Регистрация требуется в связи с будущим выходом Денвера-4.» уже который год как бы извиняется форма, но я ей больше не верю(.

Обычно установка денвера проходит быстро и безболезненно, но на Windows8 на меня напала ошибка, которая ругалась на отсутствующую библиотеку msvcr71.dll. Библиотеку можно забрать здесь и положить в папку «\Windows\System32\» (x32) или «\Windows\SysWOW64\» (x64). После того, как файл улегся в папку, откройте его свойства и нажмите кнопку «Разблокировать».

3.2 Проверка работоспособности

После установки Денвера, создадим тестовый скрипт, на котором будем проверять работоспособность всего того, что мы установим впоследствии.
Идем в Z:\home и добавляем новый сайт: создаем папку test.local, в ней папку «www», в которую добавляем файл index.php с невероятно креативным текстом:

Перезапускаем Денвер, открываем в браузере www.test.local, впечатляемся и идём дальше

4. Memcached

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

Memcache — расширение для php, предоставляет удобный процедурный и объектно-ориентированный интерфейс к memcached, высокоэффективному кеширующему демону, который был специально разработан для снижения нагрузки на базу данных в динамических веб приложениях.

4.1 Установка memcached

А. скачиваем архив с бинарником: Memcached 1.4.5 for Windows отсюда
В. распаковываем содержимое архива в \usr\local\memcached

4.2 Установка memcache

А. скачиваем архив с библиотекой отсюда
В. распаковываем содержимое архива в \usr\local\php5\ext\
С. открываем файл php.ini (\usr\local\php5\php.ini) и подключаем расширение:
extension=php_memcache.dll

4.3 Настраиваем запуск Memcached вместе с запуском Denwer

А. создаём файл с именем «memcached.pl» в директории \denwer\scripts\init.d\

4.4 Проверяем результат

В наш тестовый скрипт (index.php) добавляем:

Перезапускаем Денвер и смотрим, что получилось
Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

5. Nginx

Nginx — простой, быстрый и надёжный сервер, не перегруженный функциями.
Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля
Офсайт: перейти

5.1 Настройка Nginx

A. скачиваем с офсайта Windows-версию и распаковываем в \usr\local\nginx
B. настраиваем виртуальный хост для нашего тестового сайта. Для этого открываем \usr\local\nginx\conf\nginx.conf и добавляем туда

Это пример настроек из реального проекта, ваши настройки, очевидно, могут отличаться.

5.2 Настройка Apache

По-умолчанию Апач работает на 80-м порту, но мы только что отдали этот порт Nginx-у, поэтому теперь необходимо изменить шаблон для виртуального хоста в настройках апача и назначить ему порт, отличный от 80-го (например, 8080).
Открываем \usr\local\apache\conf\httpd.conf и изменяем номер порта

5.3 Настраиваем запуск Nginx вместе с запуском Denwer

A. создаём файл с именем «nginx.pl» в директории \denwer\scripts\init.d\

5.4 Проверяем результат

Положим рядом со скриптом файл style.css с содержанием

И облагородим наш index.php:

Теперь перезапускаем Денвер и любуемся результатом. Если CSS-файл подключился – Nginx работает нормально.
Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

6. MongoDB

MongoDB — документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц.
Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля
Офсайт: перейти

6.1 PHP-driver

А. Скачиваем библиотеку php_mongo.dll с этого сайта: и закидываем в папку \usr\local\php5\ext\
Методом проб и ошибок было установлено, что подходящий драйвер содержится в архиве mongo-1.2.5.zip/mongo-1.2.5-php5.3vc9ts.zip. Если у вас по какой-то причине не заведётся, попробуйте другие версии.

B. подключаем расширение в php.ini
extension=php_mongo.dll

6.2 Установка Mongo

6.3 Настраиваем запуск MongoDB совместно с денвером

A. создаём файл с именем «mongod.pl» в директории \denwer\scripts\init.d\

6.4 Проверяем результат

Запустим консольный интерфейс mongo
> Z:\usr\local\mongodb\bin\mongo.exe

и выполним вставку и вывод тестового значения в базу “test”
> db.test.save( < name: “Habr!” >)
> db.test.find()

В результате должно получиться следующее:
Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

6.5. Установка интерфейса управления Mongo-базами

На офсайте MongoDB есть список и краткие обзоры админок, так что можно выбрать по вкусу.
Я для себя выбрала RockMongo, поэтому именно с её помощью мы окончательно удостоверимся, что у нас всё работает и никуда не падает.

А. скачиваем архив с админкой с этой страницы. Выбираем, естественно, версию для Windows. На момент написания статьи это RockMongo-on-Windows v0.0.4

B. из архива берём папку \rockmongo-on-windows\web\rockmongo и копируем её в директорию нашего тестового сайта
Открываем config.php и меняем значение параметра

C. Проверяем результат по ссылке www.test.local/rockmongo/index.php
Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

Поздравляю! Теперь мы окончательные и бесповоротные молодцы.

Бонус №1. Работа с php из консоли Windows

Возможно, кому-то пригодится. Мне вот пригодилось, когда наш злобный техлид решил, что «SQL-файлы – это ващепрошлыйвек, давайте юзать миграции». Я, конечно, для приличия попыталась изобразить полное непонимание и даже пустить слезу, но была разоблачена и отправлена разбираться с тем, как это работает на Windows.
Оказалось, что всё что нужно для счастья – это прописать PHP директорию в PATH.
Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля
Нажимаем на «Изменить» и добавляем в конец строки
;Z:\usr\local\php5

Теперь проверим, что всё заработало.
В директории тестового сайта создадим файл console.php

Открываем консоль (можно прям из этой же папки – щелкаем правой кнопкой мыши с зажатым SHIFT-ом на пустом месте и выбираем пункт «Открыть окно команд»).
Вводим:
> php console.php “UserName”

Консоль отвечает:
> “Hello, UserName!”
Как поднять сервер с нуля. Смотреть фото Как поднять сервер с нуля. Смотреть картинку Как поднять сервер с нуля. Картинка про Как поднять сервер с нуля. Фото Как поднять сервер с нуля

PHP побеждён, всеобщее ликование, апплодисменты, занавес.

Бонус №2.

Все файлы и примеры, упомянутые в статье одним архивом бесплатно без смс: на гитхабе

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *