После того, как мини-компьютер у нас и операционная система установлена, пришло время заняться созданием web-сервера. В этой статье я расскажу про удаленное подключение к Cubieboard, установку панели управления ISPConfig 3, и утилиту администрирования сервера через web-интерфейс Webmin. Ну и конечно, готовый образ внутри.
Содержание
Для начала, небольшая история о том, почему так долго. Помимо прочих вещей, про которые я писал в юбилейной статье, в процессе установки и настройки web-сервера передо мной встал вопрос: как объяснить достаточно сложные вещи, которыми обычно занимается системный администратор, неподготовленному технически читателю? Я обдумывал и пробовал. В итоге остановился на следующем варианте: я описываю процесс установки и настройки максимально простым и доступным языком, каким только могу, но также после каждой статьи выкладываю получившийся образ системы, чтобы все-таки была возможность просто загрузить его и ничего самому не делать. Какой путь лучше выбрать: проделать все самостоятельно по инструкциям или использовать готовый образ – каждый решит для себя сам. Но я все-таки настоятельно рекомендую проделать все по инструкциям. Это поможет освоиться с Linux и консолью в частности тем, кто раньше с этими вещами дела не имел.
Настройка удаленного подключения
Первое, чем мы займемся после установки операционной системы, это настройка удаленного подключения. Зачем? Есть несколько причин, но с основной нужно свыкнуться: все дальнейшие действия будут выполняться через консоль. «Почему?» – спросит виндузятник. «Так удобнее» – ответит линуксоид. В данном вопросе позволю себе согласиться со вторым – так удобнее.
Нашей первой задачей будет подключение к мини-серверу по сети с возможностью работать в консоли Linux Debian, установленной на нем, на компьютере с Windows, коим обладает большинство читателей. Для подключения нам понадобится бесплатная программка PUTTY(скачать). Перед тем, как ее настраивать, нужно разобраться в первой сисадминской проблеме – узнать ip-адрес мини-сервера.
Первое, что необходимо сделать – подумайте, как у вас организовано подключение. Основных вариантов на самом деле всего 2:
- Cubieboard подключен к Интернету напрямую кабелем, заходящим в квартиру. Это редкий случай, поскольку помимо мини-сервера, нужно еще подключить к Интернету и домашний компьютер.
- Cubieboard подключен к роутеру (маршрутизатору), который обеспечивает WiFi в квартире. Этот вариант самый распространенный, а потому его и будем рассматривать.
Посмотрите на картинку. Я предполагаю, что у вас все подключено именно так:
Если у вас есть особенности подключения, отличные от этой схемы, спрашивайте о них в комментариях. Постараюсь ответить всем.
А вот картинка подключения к роутеру кабелей. Наш сервер подключаем туда же, куда и стационарный компьютер (рядом):
После того, как это сделано, разберемся с ip-адресами устройств. IP-адрес – это цифровой адрес устройства. Благодаря ему другие устройства знают, как послать информацию первому. IP-адрес – это примерно тоже самое, что и ваш почтовый адрес. Чтобы прислать вам письмо, почта должна знать вашу страну, город, улицу, дом, квартиру. Также и в сети. Только все эти параметры укладываются в набор цифр формата XXX.XXX.XXX.XXX. Например, 192.168.0.1. Так вот, ваша основная задача – сделать так, чтобы роутер знал адрес мини-сервера, а мини-сервер адрес роутера и оба этих адреса были постоянными.
Как этого добиться? Есть 2 основных варианта:
- Прописать все адреса в конфигурационных файлах устройств вручную.
- Воспользоваться DHCP-сервером.
Я предпочел использовать второй вариант. Как это работает?
Отталкиваться нужно от двух фактов:
1) Ваш роутер имеет фиксированный ip-адрес, который указан в инструкции к нему. Скорее всего, это 192.168.0.1. или 192.168.1.1. или 10.0.0.1. Узнать наверняка можно посмотрев в инструкции к роутеру, либо на вашем компьютере, подключенном к роутеру, нажать «Пуск» –> «Выполнить» (Win XP) или «Пуск» –> «Найти программы и файлы» (Win 7). В появившейся форме ввести cmd и нажать Enter. После выполнения этих действий, у вас должна открыться консоль:
В консоли набираем и выполняем команду «ipconfig». Результатом выполнения станет выведенная конфигурация сетевых устройств компьютера. Вам нужно найти свою сетевую карту и посмотреть адрес в строчке «Основной шлюз». Это и будет адрес роутера.
2) Второй факт – по умолчанию мини-сервер будет пытаться получить IP-адрес от сервера DHCP. Подробности работы DHCP-сервера знать нет особого смысла. Нужно только понимать для чего он предназначен. А предназначен он для того чтобы автоматически присваивать правильные ip-адреса новым устройствам в сети, которые этого просят. Именно таким устройством и является наш Cubieboard. DHCP-сервер встроен в любой роутер и по умолчанию включен. Проблема только в том, что правильные адреса присваиваются во многом случайно (нет, конечно не случайно, а в строгой закономерности, но положим, что у нас нет желания в ней разбираться). Нам же нужно знать этот адрес и сделать так, чтобы он оставался постоянным. Как это сделать? Ваш роутер должен иметь, во-первых, панель управления, которую можно просмотреть по ссылке в браузере (ссылка, логин и пароль должны быть в инструкции к роутеру), а во-вторых, функционал в панели управления, позволяющий присваивать определенному устройству каждый раз один и тот же адрес.
Пытливый читатель спросит: «Как же такое возможно? Как может роутер узнать, что к нему снова подключилось именно это устройство, а не какое-то еще, чтобы каждый раз давать ему одинаковый адрес?». Это будет правильный вопрос. Ответ такой: каждое подключаемое к сети устройство имеет свой уникальный идентификатор, который называется MAC-адрес. Если сравнить с нашей любимой почтой, то MAC-адрес является аналогом фамилии, имени, отчества и паспортных данных получателя, позволяющих его однозначно идентифицировать. Роутер видит MAC-адреса, всех устройств, которые подключены к локальной сети. Эти адреса у них постоянны, а значит, существует возможность выдавать одному и тому же устройству один и тот же адрес.
Вернемся к нашему DHCP-серверу. Чтобы все заработало как надо, вам необходимо зайти в панель управления роутера через браузер и найти там раздел DHCP. В нем вы увидите MAC-адреса всех подключенных устройств и IP-адреса, которые для них выданы DHCP-сервером. Теперь ваша задача – опознать MAC-адрес Cubieboard 2. Как это сделать? Легко. Посмотрите на то, какие адреса есть в таблице, когда подключен и компьютер и мини-сервер, затем отключите мини-сервер от сети и сравните обновленную таблицу с прежней. Исчезнувший MAC-адрес и будет адресом мини-сервера.
И последнее действие. Там же, в настройках роутера, вы должны найти опцию, позволяющую задавать фиксированный IP-адрес для определенного MAC-адреса. После этого задайте фиксированный IP-адрес для мини-сервера, который отличается от IP адреса самого роутера только последней цифрой. Например, если адрес роутера 192.168.1.1, то адрес мини-сервера можно задать 192.168.1.33.
Как проверить, что все настроено правильно? Откройте консоль на домашнем компьютере в Windows также как это описано выше и введите команду ping 192.168.1.33 (или тот ip-адрес, который вы задали мини-серверу). Если пройдет несколько запросов и будут получены ответы, то все настроено правильно. Если же ответов не будет, то вы где-то ошиблись.
Что делать тем, у кого в настройках роутера нет возможности задать фиксированный IP-адрес для подключаемого устройства? Вам придется задать фиксированный IP-адрес на самом мини-сервере, первый раз подключив его напрямую (монитор, клавиатура), а не через сеть. О том, как задать IP-адрес в Linux Debian вы сможете ниже, в разделе настройки сервера, либо на одном из многочисленных сайтов Интернета. Сделать это достаточно просто.
Итак, предположим, что у вас все получилось и команда ping дала ответы. Это означает, что теперь ваш роутер, домашний ПК и мини-сервер соединены в одну локальную сеть. Это дает большие преимущества, например возможность управлять мини-сервером из-под Windows, а главное, теперь ваш мини-сервер подключен к Интернету.
Если самостоятельно настроить роутер не получилось, всегда можно обратиться за помощью в компанию по обслуживанию компьютеров: https://ivit.pro/it-uslugi/obsluzhivanie-kompyuterov/
Настройка PUTTY
Теперь, когда сетевая связь между всеми устройствами домашней сети установлена, настраиваем удаленное подключение с домашнего компьютера к мини-серверу. Для этого используем программу PUTTY. Настройка очень простая. Вам нужно создать новую сессию, ввести IP-адрес мини-сервера и порт 36000.
В процессе настройки я использовал следующие данные:
Адрес роутера: 192.168.1.1
Адрес мини-сервера: 192.168.1.33
Если настройка подключения выполнена правильно, то вы увидите приглашение в консоли:
По умолчанию логин и пароль суперадминистратора:
cubie
cubie
Но следует помнить, что при подключении к сети Интернет все пароли обязательно должны быть изменены.
Вводим вышеуказанные логин и пароль и получаем досуп к мини-серверу:
Далее можно переходить к установке и настройке на нем web-сервера.
Установка и настройка web-сервера
Прежде чем перейти к установке и настройке непосредственно web-сервера, я хотел бы написать небольшой список консольных команд, которые нельзя не знать. Уже знание только этих команд позволит вам, если не говорить с Linux на одном языке, то хотя бы изъясняться.
Первое и главное. Если вы хотите выполнить команду, требующую доступа администратора, то вы должны добавить перед ней sudo. Какие команды требуют такого доступа? Все, которые касаются сервера целиком, а не только отдельного пользователя или его файлов. Примеры: установка и обновление программ, выключение, перезагрузка, редактирование системных файлов. Если не уверены, требуется ли доступ, пишите sudo. Вообще можно к каждой команде добавлять, пока занимаетесь установкой. Меньше будет проблем.
Вот основные команды, которые нам понадобятся:
Перезагрузка сервера: sudo reboot
Выключение сервера: sudo poweroff
Поиск доступных обновлений для установленных программ: sudo apt-get update
Обновление всех установленных программ по списку, полученному выше: sudo apt-get upgrade
Открытие файла /etc/mysql/my.cnf на редактирование через стандартный редактор nano:sudo nano /etc/mysql/my.cnf
Запуск файлового менеджера mc:sudo mc (перед запуском менеджер нужно установить: sudo apt-get install mc)
По большому счету знание этого набора команд уже позволяет выполнять все дальнейшие действия, понимая, что вы делаете.
Теперь перейдем непосредственно к установке и настройки web-сервера. В целом она сводится к рутинному копированию команд из мануала и выполнению их в консоли. Кстати, для вставки скопированного в консоль PUTTY просто нажмите правую кнопку мышки.
Чтобы не изобретать велосипед, мы воспользуемся готовыми мануалами по установке и настройке web-сервера. К настоящему времени для Cubieboard 2 я нашел таковых два:
1) Англоязычный мануал по созданию веб-сервера на Debian. Разбит на три части(На самом частей там 5, но в первых двух рассматривается установка операционной системы, которую мы уже выполнили):
– Часть 1
– Часть 2
– Часть 3
2) Русскоязычный мануал, по созданию веб-сервера на Debian.
Поскольку первый сайт содержит уйму рекламы и основная информация на нем тяжело просматривается, а владелец второго сайта хотя и большой молодец, что сам все проделал и описал, но зачем-то установил скрипт защиты от копирования (да, в статье, из которой нужно скопировать по очереди все команды), я потратил некоторое время и преобразовал эти статьи в PDF-мануалы. Без рекламы. Без СМС. ;-) . Думаю, работать с ними будет удобнее и приятнее. Ссылки на оригинальные материалы в них сохранены. Мануалы можно скачать чуть выше.
Я настраивал веб-сервер по русскоязычному мануалу. Он понятнее и к тому же немного усовершенствован по сравнению с английским оригиналом. Советую использовать именно его, а лучше оба вместе.
Пусть вас не пугает размер этих инструкций и обилие в них команд. Да, знаю, на первый взгляд все это кажется очень сложным, но если начать вникать и разбираться, то окажется, что все сводится к простому копированию команд и редактированию конфигурационных файлов.
После того, как вы выполните все инструкции мануалов, то получите две панели управления.
Панель управления 1. Webmin
Это своего рода оболочка для управления сервером через Интернет( через браузер). Содержит много полезностей.
Зайти в панель можно по адресу: https://ip-адрес_вашего_сервера:10000/
Панель управления 2. ISPConfig
Позволяет управлять всем, что относится к web-серверу – сайтами, базами данных, доменами, и т.д.
Зайти в панель можно по адресу: http:// ip-адрес_вашего_сервера:8080
Дополнительно
Что еще можно сделать из того, чего нет в мануале? Лично я также добавил русификацию консоли. Все-таки на русском языке сообщения об ошибках становятся понятнее.
Еще возникала проблема с первоначальным входом в ISPConfig. Вот хоть убейте – не помню, что там было. Но легко гуглится и решается одной консольной командой. Если у кого-то будут с этим проблемы – пишите в комментариях, решим вместе.
Выделенный сервер за 25 руб в месяц. Подготовка web-сервера. Образ и его настройки.
Готовый образ, который я создал, можно скачать по ссылке:
https://yadi.sk/d/qN1a5t57cLPMs
размер – 5,46 Гб. Такой размер вызван тем, что я создал образ всей флешки. Устанавливается он точно также как и пустой образ системы – нужно просто записать на флешку, которая затем будет вставлена в cubieboard.
Дальнейшие образы буду делать уже по-другому, но этот будет базовым, от которого можно отталкиваться.
IP-адрес сервера: 192.168.1.33. Он не задан жестко. Подразумевается, что именно такой адрес выдает DHCP.
Основные логин и пароль: cubie
Доступы к панелям:
http://192.168.1.33:8080 – ISPConfig (логин: admin ;пароль:admin)
https://192.168.1.33:10000 - Webmin (логин: root ;пароль: cubie)
Что дальше?
Если вы все сделали правильно, то теперь у вас должен быть работающий web-сервер, которым можно управлять через соответствующие панели управления (и к тому же вы немного освоили Linux!). К сожалению, пока он работаешь лишь в вашей домашней сети. В следующей статье серии мы рассмотрим различные возможности подключения к серверу через Интернет, а также настройку домена для сайта.
Здесь, кажется, должно быть -
"Какой путь лучше выбрать:"
Не?
2. Обычно веб сервер это множество мелких файликов. Что если использовать специальную файловую систему для этого вроде raiserFS и её новую версию raiser4. Ещё xfs заслуживает внимания...
1) В этом вы правы. Хотя запись на диск критична только когда используется файловый кэш и ведутся логи. Если же эти действия не требуются(хотя логи все-таки лучше вести), то можно попробовать Flash-карту. Вообще, к Cubieboard 2 можно подключить и обычный SATA-диск и SSD. Просто в данном случае мне интересно испытать, как поведет себя web-сервер на SD-карте. После хочу сравнить быстродействие для SSD и HDD.
2) Здесь не отвечу - так глубоко не копал. Но ничего не мешает вам попробовать
2. Я ещё тут подумал, а как насчёт масляного охлаждения платы?
Есть некоторые любители, которые самостоятельно успешно провели испытания по масляному охлаждению обычного ПК. Не говоря об успешном испытании этой технологии той же Intel.
Следить за температурой, можно, например, так: http://www.cubieforums.com/index.php?topic=2809.0