Устанавливаем Linux сервер.

Первое звено в нашем стенде! В этой статье мы разберемся откуда брать установочный образ, посмотрим системные требования, пошагово рассмотрим установку Ubuntu Server 16.04.4 LTS , а так же впервые его запустим. Проверим сеть и рассмотрим базовые команды для перезагрузки и выключения нашего новенького сервера.

Где скачать?

Скачать Ubuntu Server 16.04.4 LTS можно с двух официальных сайтов, на каждом из них есть раздел Download. Ссылки на этот раздел приведены ниже:

Рис.1 - Скачать Ubuntu Server 16.04.4 LTS с сайта Ubuntu.ru
Рис.2 - Скачать Ubuntu Server 16.04.4 LTS с сайта Ubuntu.com

Подготовка к установке.

Я скачал Ubuntu Server 16.04.4 64-bit в виде iso-образа ubuntu-16.04.4-server-amd64.iso

Системные требования.

Тип установки Процессор ОЗУ Место на жестком диске
Базовая установка Установлены все модули
Стандартная 1 Ггц 512 Мб 1,5 Гб 2,5 Гб
Минимальная 300 Mгц 384 Мб 1,5 Гб 2,5 Гб

Установка Ubuntu Server.

Шаг 1. - Выбор языка.

Выбираем язык интерфейса установки.(Рис.3)


Рис.3 - Выбираем язык интерфейса установки Ubuntu Server.

Шаг 2. - Меню установщика Ubuntu.

Выбираем "Установить Ubuntu Server " .(Рис.4) Идем далее...

Статья конечно не про обзор Меню установщика Ubuntu Server, но стоит отметить что для диагностики, тут есть полезные функции:

  • Проверить диск на наличие ошибок,
  • Проверить память.

Рис.4 - Меню установщика Ubuntu.

Шаг 3. - Выбор локации.

Так как курсора мыши тут нет, переход по элементам, выбор и подтверждение действий осуществляется с клавиатуры:

  • - переход по элементам;
  • <Пробел> - выбор;
  • - активация кнопок;

Выбираем страну в которой мы живём. Я живу в России , поэтому выбираю "Российская Федерация " .(Рис.5)

Выбранное местоположение будет учтено при настройке часового пояса и создании списка при выборе системной локации.

Данный сокращённый список основан на выбранном языке. Выберете "Другая " , если вашего местоположения нет в списке.


Рис.5 - Выбор локации.

Шаг 4. - Настройка клавиатуры.

Первым делом нам предлагают настроить раскладку , нажимая клавиши клавиатуры. - На экране появятся символы и вы должны будете их ввести на клавиатуре, в итоге определится раскладка вам останется только её подтвердить.

Мы рассмотрим выбор нужной нам раскладки вручную, следовательно, в диалоговом окне нажимаем "Нет " .(Рис.6)


Рис.6 - Определение раскладки нажимая клавиши.

Перед нами появляется список стран, нужно выбрать страну для которой произведена клавиатура(Рис.7), так как на моей клавиатуре русские буквы значит я выбираю "Russian " . Далее из списка разных региональных и системных раскладок выбираем нужную нам я выбираю обычную русскую - "Russian ". (Рис.8)


Рис.7 - Список "Выбор страны", для которой произведена клавиатура. Рис.8 - Список "Выбор раскладки".

Финальная настройка клавиатуры - указание способа переключения между национальной раскладкой и стандартной латинской. Лично мне нравится стандартный метод переключения языков, я его и выбираю - "Alt+Shift " .(Рис.9)


Рис.9 - Указание способа переключения языков.

Шаг 5. - Имя компьютера.

В диалоговом окне "Настройка сети" нас просят ввести "Имя компьютера". "Имя компьютера" - это одно слово предназначенное для идентификации нашей системы в сети. Я ввожу - "ubuntuserver" , вы можете сами что-нибудь придумать. Жмём "Продолжить " .(Рис.10)


Рис.10 - Имя компьютера.

Шаг 6. - Настройка учётных записей пользователей и паролей.

В окне "Настройка учётных записей и паролей" нас просят ввести данные для создания учётной записи, которая будет использоваться вместо учетной записи суперпользователя (root), для выполнения всех действий не связанных с администрированием.

Для начала просят ввести реальное имя пользователя . я ввожу - "FirstDeer" (Рис.11)


Рис.11 - Вводим реальное имя пользователя для учетной записи.
Рис.12 - Вводим имя пользователя/логин учетной записи.

Вводим пароль, без него никак. Можете нажать "Посмотреть Пароль "/"Show Password in Clear " , для того чтоб убедиться что вводите пароль в нужной вам языковой раскладке.(Рис.13) Проверка правильности ввода осуществляется путем повторного ввода пароля и сравнения результатов, поэтому после первого ввода пароля нас ожидает второе такое же окно, где нужно будет подтвердить пароль.(Рис.14)


Рис.13 - Вводим пароль учётной записи.
Рис.14 - Подтверждаем пароль учётной записи.
Рис.15 - Зашифровать домашний каталог?

Шаг 7. - Настройка времени.

<перевод> (Рис.16) "На основе вашего текущего физического местоположения, ваш часовой пояс - Европа/Москва .
Если это неверно, вы можете выбрать из полного списка часовых поясов.
Правильно ли выбран часовой пояс?"

В Санкт-Петербурге время московское, а значит все выбрано верно. Если ваш часовой пояс отличный от Москвы, то нажмите "Нет " и выберете свой часовой пояс в полном списке. Я жму "Да " . Идём далее.


Рис.16 - Подтверждение часового пояса.

Шаг 8. - Разметка диска.

Если вам интересен метод разметки "Вручную " - то приглашаю к прочтению отдельной статьи - , уж слишком много бессмысленных скриншотов в ней, не хочется захламлять основную статью:)

Переходим к разметке диска, так как объём диска у нас небольшой и рядом нет никаких установленных систем, то я выбираю "Авто - использовать весь диск и настроить LVM " .(Рис.17)

LVM(Logical Volume Management) - система управления дисковым пространством, позволяющая объединить несколько жестких дисков в единый пул дискового пространства, а после распределить это дисковое пространство на логические разделы.(Т.е. если вдруг на одном из разделов закончится место, мы сможем вставить дополнительный жесткий диск и расширить раздел, для серверов эта функция необходима.)


Рис.17 - Выбор метода разметки диска.
Рис.18 - Выбор жёсткого диска.

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


Рис.19 - Запись информации о разделах.

Выберете размер группы томов используемый для установки. Минимальный размер который вы можете указать - 1.9 GB , но учтите что, установка выбранных вами пакетов может потребовать большего места. Максимально доступный размер это размер жесткого диска , в моем случае это - 21 GB . я оставляю всё как есть 21.0 GB - уже вписан. Жму "Продолжить " .(Рис.20)


Рис.20 - Выбор размера группы томов.

Перед нами список настроенных разделов и их точек монтирования. Если вы хотите подкорректировать разделы, то можете нажать на любой из них и изменить его настройки. Меня всё устраивает. Жму "Закончить разметку и записать изменения на диск " .(Рис.21)


Рис.21 - Окно "Ручная корректировка разделов".
Рис.22 - Записать изменения на диск?

Шаг 9. - Установка системы.

Дождитесь окончания установки системы.(Рис.23)


Рис.23 - Установка системы.

Шаг 10. - Настройка прокси.

Если для доступа к интернету вам требуется прокси сервер, то укажите информацию о нем в поле.(Рис.24)

Если нет - не указывайте. Я не указываю. Жму "Продолжить " .


Рис.24 - Указание прокси сервера.

Шаг 11. - Обновления.

Дождитесь окончания автоматического применения обновлений.(Рис.25)


Рис.25 - Применение обновлений.

Выбираем каким образом мы хотим управлять обновлениями. Лично мне больше нравится когда я сам решаю когда мне установить обновления. по этому выбираю первый пункт. Жму "Enter " .(Рис.26)


Рис.26 - Выбор параметров обновления.

Шаг 12. - Выбор программного обеспечения.

Выбор программного обеспечения которое вы хотите установить на сервер. По умолчанию стоит выбор только на "стандартных системных утилитах/standart system utilites" . Я не пробовал, но по моему этот выбор нельзя снять.(Рис.27)

Я ничего, из нестандартного, выбирать не буду. так как собираюсь в дальнейшем показать вам установку "вручную" каждого, из предоставленного в выборе, программного обеспечения. Жму "Продолжить " . И ждём, пока завершится установка выбранного программного обеспечения.(Рис.28)


Рис.27 - Выбор программного обеспечения.
Рис.28 - Установка программного обеспечения.

Шаг 13. - Установка системного загрузчика GRUB.

Ждем пока установится системный загрузчик GRUB .(Рис.29) Внимательно читаем (Рис.30) первый абзац. Наша Ubuntu Server не будет соседствовать с другими операционными системами, а значит смело устанавливаем GRUB в главную загрузочную запись. Жмём "Да " .


Рис.29 - Установка системного загрузчика GRUB.
Рис.30 - Выбор места установки GRUB.

Шаг 14. - Завершение программы установки.

Ждём финальную установку и настройку.(Рис.31)


Рис.31 - Финальная установка и настройка.

Пришло время загрузить нашу новую систему. Извлекаем все установочные носители и жмём "Продолжить " .(Рис.32)


Рис.32 - Завершение установки.

Первый запуск.

Шаг 1. - Авторизация.

После перезагрузки нас встречают две строки.(Рис.33)

В первой строке мы видим:

  • Версию операционной системы: Ubuntu 16.04.4 LTS
  • Hostname (Сетевое имя сервера): ubuntuserver
  • Первый виртуальный терминал: tty1

Рис.33 - Первое включение. Авторизация.

Вводим логин/login : firstdeer

И пароль/Password : - при вводе пароля UNIX системы не показывают количество введенных символов(***), мы вводим пароль и не должны замечать никаких изменений на экране.

После ввода жмём "Enter " . Вот и все мы авторизовались.(Рис.34)


Рис.34 - Авторизация.

Шаг 2. - Проверка сети.

Первым делом хочется проверить сеть, делается это при помощи команды:

Ifconfig

Видим нашу сетевую карту "ens33" ,она может другое название зачастую это "eth0" .

И видим, что определился IP адрес в локальной сети - inet addr:192.168.3.9 .(Рис.35)


Рис.35 - Проверка сети командой ifconfig.

Так как в нашей локальной сети есть интернет можно проверить внешний ping. Будем пинговать DNS-сервер Google его IP адрес - 8.8.8.8 . Вводим команду:

Ping 8.8.8.8

Пинги идут! ответ приходит, значит доступ в интернет у нас есть, следовательно сетевая карта настроена правильно.(Рис.36)


Рис.36 - Проверка ping.

Logout/Разлогиниться/Завершить сессию.

В данной статье будет рассмотрена полная настройка готового WEB сервера хостинга сайтов на основе дистрибутива UBUNTU 16.04

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

Подготовка сервера

1. Обновить пакеты сервера

sudo apt-get update
sudo apt-get upgrade

2. Устанавливаем пакет компонентов Apache, MySQL, PHP (LAMP)

sudo apt-get install lamp-server^

Символ ^ в конце обязателен - это часть команды

Во время установки MySQL будет выведен запрос на создание пароля root (это отдельный пароль администратора именно для SQL сервера, а не для основного администратора сервера).

Проверяем установку web-сервера http:// - должна отобразиться тестовая страница apache.

3. Устанавливаем phpMyAdmin

sudo apt-get install phpmyadmin
sudo service apache2 restart

Необходимо выполнить следующие команды:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo /etc/init.d/apache2 reload

sudo apt-get install php-mbstring php-gettext
sudo phpenmod mcrypt
sudo phpenmod mbstring

Проверяем доступность интерфейса http:///phpmyadmin

4. Устанавливаем FTP (для удобства работы с файлами)

sudo apt-get install proftpd

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

From inetd - демон ProFTPd будет работать из-под службы inetd.
Standalone - ProFTPd будет установлен как самостоятельный демон.

После установки ftp сервер будет запущен и можно подключаться.

Однако, желательно его дополнительно настроить:

sudo nano /etc/proftpd/proftpd.conf

Раскомментировать значение RequireValidShell off и DefaultRoot ~

После настройки FTP нужно перезапустить:

sudo /etc/init.d/proftpd restart

5. Установка apache2-mpm-itk

Этот модуль нужен, чтобы сервер Apache мог рабтать с файлами сайта от имени владельца папки.

По умолчанию на директорию с файлами сайта распространяются права 755 и права 644 на все файлы. Это даёт права на запись файлов и папок только их владельцем. По этой причине при работе с файлами через FTP и Apache (например через интерфейс CMS) файлы будут сзданы от имени разных пользователей и возникают проблемы с их изменением или удалением. В решении именно этой проблемы и помогает данный модуль. Он указывает в настройках хоста каждого сайта от имени какого пользователя и группы будет работать Apache в указанной директории.

sudo apt-get install libapache2-mpm-itk
sudo a2enmod mpm_prefork
sudo a2enmod mpm_itk
sudo systemctl restart apache2

6. Включение mod_rewrite (для возможности работы ЧПУ)

sudo a2enmod rewrite
sudo service apache2 restart

Начало создания сайта

7. Создаём пользователя и каталога для работы с сайтами

sudo useradd -m -s /bin/false имя_пользователя
sudo passwd имя_пользователя

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

На предложение системы вводим пароль нового пользователя (дважды)

После создания пользователя размещаем отдельный каталог для сайта (например www ), зайдя новым пользователем по FTP в домашний каталог, либо следующей командой:

sudo mkdir /home/имя_пользователя /www
sudo chown -R имя_пользователя : группа_пользователя /home/имя_пользователя /www /

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

8. Создаём виртуальный хост для сайта

Создаём файл конфигурации виртуального хоста из варианта по-умолчанию

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/новый_сайт .conf

Редактируем параметры

sudo nano /etc/apache2/sites-available/новый_сайт .conf

Изменяем и дополняем следующие значения:

DocumentRoot /home/имя_пользователя /www
ServerName новый_сайт
ServerAdmin webmaster@localhost
имя_пользователя /www>
AllowOverride All
Require all granted


AssignUserId имя_пользователя группа_пользователя

Включаем созданный виртуальный хоста и перезапускаем apache

sudo a2ensite новый_сайт

sudo service apache2 reload

9. Создаём базу данных MySQL

Необходимо зайти в кансоль управления mysql

mysql -u root -p

При этом система запросит пароль root от mysql (именно от mysql, который задавался при установке LAMP). При удачном входе в кансоль mysql значение перед курсором сменится на mysql> . После этого создание новой базы sql и пользователя для управления ею можно выполнить одной командой:

create database имя_базы ; GRANT ALL ON имя_базы .* TO "пользователь_базы "@"localhost"IDENTIFIED BY "пароль_пользователя_базя_sql ";

Для выхода из кансоли mysql нужно ввести команду

На этом можно закончить. Полноценный хостинг для сайта готов.

Дополнительно для удобства управления и контроля за сервером через WEB-интерфейс можно установить панель управления Webmin

Также дополнительно можно настроить параметры работы PHP ("по вкусу" - например размер загружаемых фалов в параметре upload_max_filesize = 2M)

Для UBUNTU 16.04:

sudo nano /etc/php/7.0/apache2/php.ini

Для UBUNTU 14.04:

sudo nano /etc/php5/apache2/php.ini

  • Tutorial

Привет, Хабр! В ходе обсуждения одной статьи про «идеальную» домашнюю сеть, возник спор, что лучше, аппаратный NAS или мини-компьютер с Linux дистрибутивом. Автор предлагал использовать аппаратный NAS, т. к. якобы он проще в администрировании, не требует знаний Linux, да и вообще NAS тихий. Но при этом, для просмотра на DLNA-телевизоре видео, который он не поддерживает, предлагал включать ноутбук с транскодирующим DLNA. Меня это, мягко говоря, удивило, т. к. в идеальной сети такого быть не должно. Поэтому хочу представить своё видение одного из ключевых компонентов домашней сети - централизованного хранилища данных, и основано оно будет на мини-ПК с ОС Ubuntu Server.

Что нам нужно?

В первую очередь от NAS требуется, конечно, надёжное хранение данных и удобный доступ ним. В первую очередь для надёжности необходим RAID, потому как потерять весь домашний медиа-архив из-за отказавшего жёсткого диска как минимум глупо. Для доступа к данным необходимо настроить FTP и Samba-доступ. Конечно потребности у каждого свои, поэтому если вы используете MacOS или Linux, то вам наверняка больше потребуются другие протоколы (NFS, AFP), я же опишу настройку так, как я её делал для себя.
Для доступа к медиа-данным со smart-телевизоров, нам потребуется DLNA-сервер. А для для удобства скачивания, нам нужен torrent-клиент. Ну и желательно всё это администрировать через веб-интерфейс.

Почему не аппаратный NAS?

Казалось бы, производители давно позаботились о пользователях, и давно выпускают готовые коробочки специально для домашнего применения. Но у них есть недостатки:
1) Они дорогие. Вы вряд ли найдёте дешевле 20000 руб. NAS c возможностью подключения 4-х жёстких дисков, с процессором Atom. Те, что стоят недорого, в них обычно применяется слабенький процессор, которого уже не хватет на тот же torrent при одновременном скачивании двух потоков данных (просмотр фильма по DLNA и копирование, например, фоток). Собрать же полноценный мини-ПК на основе mini-ITX материнской плате с Atom и 4 Гбайтами памяти у меня получилось всего за 6000 рублей!
2) Они ограничены. То есть в нём предусмотрены только те функции, которые заложил производитель. Чтобы расширить его возможности, обычно требуются «танцы с бубном», т. к. ядро в прошивке бывает сильно урезанным. Применяя же Ubuntu, вы практически ничем не ограничены - огромный репозитарий всевозможного софта позволит вам сделать из вашего сервера всё что угодно, вплоть до поднятия виртуальных машин.

Почему не FreeNAS или OpenFiler?

Спросите вы. Во-первых, смотри пункт №2 недостатков аппаратных NAS, то есть наращивание функционала данных дистрибутивов очень проблематично, тогда как у Ubuntu есть огромный репозитарий уже настроенного софта. Во-вторых, это огромные системные требования, в частности FreeNAS 8 требует минимум 2 Гб оперативной памяти, а новые версии OpenFiler вообще уже не выпускают под x86-архитектуру. Кроме того у FreeNAS как-то не гладко идёт развитие - версия 0.7 который имеет торрент клиент и DLNA-сервер давно устарела, в восьмой, коммерческой версии мне так и не удалось настроить DLNA, да и с предлагающейся файловой системой ZFS как то сложно, в случае отказа системы, как прикажете восстанавливать данные? Сложно.

Почему выбран дистрибутив Server 12.04 LTS?

LTS (Long Term Support) - это дистрибутив с длительным периодом поддержки и выпуском обновлений. Так как нам нужен сервер, который, по возможности, единожды настроив, мог бы спокойно работать в дальнейшем годами, то выбирать лучше именно эту версию дистрибутива.
Server версия выбрана очевидно, т. к. в идеале нам совершенно не нужно растрачивать ресурсы на графическую оболочку. Хотя если вы, пока только знакомитесь с linux, или уже работали с desktop-версией ubuntu, то в принципе можете выбрать и обычную версию дистрибутива, это не принципиально.

Начнём

Установка вполне прозрачна, поэтому особо подробно описывать её не буду. Подробнее лишь остановлюсь на разбивке жёстких дисков.


Я взял бюджетную материнскую плату без поддержки аппаратного RAID, да и на моей практике аппаратный RAID встроенный в материнскую плату часто показывает себя не с лучшей стороны, поэтому организовывать мы будем так называемый «программный» RAID. Для хранения данных будут использоваться два новеньких жёстких диска. Лишних носителей информации у меня не оказалось, поэтому диск буду разбивать на два раздела, один из которых будет системным, а второй - для данных. Оба раздела на двух жёстких дисках будут объединены в RAID 1 (все операции для удобства я выполняю на виртуальной машине, так что не обращайте внимание на маленький размер разделов).
Сначала создаём таблицу разделов на первом диске и разбиваем его на две части. Помечаем их как «раздел для RAID», хотя это и не обязательно.


Аналогично разбивается и второй диск. После чего выбираем пункт «Настройка программного RAID». Говорим «Создать MD-устройство», выбираем первые разделы на двух дисках. Аналогично с разделами для данных. К слову, RAID можно динамично менять и расширять, поэтому если у вас пока только один жёсткий, но планируете покупку второго - смело настраивайте, после покупки запросто сможете его подцепить.


После создания RAID, помечаем их для использования. Выбираем файловую систему ext4, и назначаем точки монтирования: системный раздел как корень (/), а раздел данных в произвольное место (я предпочитаю монтировать в папку /mnt).


Дальше система известит, хотим ли мы загружать систему если RAID-массив отказал. Советую ответить «нет», т. к. если откажет жёсткий диск, вы это даже не заметите - система продолжит работать с одним диском, но если откажет и второй диск, то тут придётся нести их в фирму по восстановлению данных.

Раздел подкачки создавать не буду, т. к. во-первых его можно сделать файлом, а во-вторых лично мне он не нужен - на моём мини-ПК установлено 4 Гб, при этом использование памяти никогда не превышало более 10% (400 Мбайт), а в обычном состоянии и того меньше (прямо сейчас используется всего 130 Мбайт). Хотя если вы планируете поднимать виртуальные машины, возможно, она вам и понадобится, поэтому после установки я опишу как создать файл подкачки, сейчас же на предложение создать swap-раздел отвечаем отрицательно.

После непродолжительного процесса копирования файлов система начнёт обновлять данные с репозитариев, а после спросит, каким образом будут устанавливаться обновления. Так как у нас администрирование системы сводится к минимуму, выбираем автоматическое обновление. Затем система спросит, какие пакеты необходимо установить сразу же. Я выбрал OpenSSH (нам нужна удалённая командная строка), LAMP (понадобится для веб-интерфейса), Print server (в этой статье я не буду описывать подключение принтера), и конечно Samba file server для доступа с windows-машин.

Ну и в финальной стадии система запросит пароль для MySQL и запрос на установку GRUB. Перезагружаемся - система установлена! Залогинемся, чтобы посмотреть какой ip-адрес нам присвоил DHCP (также это можно сделать с помощью команды ifconfig), в моём случае был выдан адрес 192.168.1.180.

Всё, можно отключать монитор и убирать системник в удобное место, дальше будем работать с ним через SSH. Я использую для этого PUTTY.

Конфигурация

1) файл подкачки
В первую очередь опишу как настроить файл подкачки, если он вам действительно нужен, всё делается буквально в несколько строчек команд.
Создаём файл заполненый нулями: > sudo dd if=/dev/zero of=/swap bs=1M count=2048
Подготавливаем его для использования как swap: > sudo mkswap /swap
Добавляем в файл fstab наш созданный файл для использования как файл подкачки:
> sudo nano /etc/fstab /swap none swap sw 0 0
Перезагружаемся: > sudo shutdown -r now
2) обновление ПО
Сразу же обновляем все пакеты, делается это двумя командами: > sudo apt-get update > sudo apt-get upgrade
3) Веб-интерфейс
Для управления системой через веб-интерфейс есть есть пакет webim, но его к сожалению в репозитарии нет, поэтому скачаем подготовленный пакет вручную: > wget http://prdownloads.sourceforge.net/webadmin/webmin_1.580_all.deb
Для установки webim потребуются некоторые зависимые пакеты, в моём случае это такой список, возможно, вам потребуется включить ещё что-нибудь. > sudo apt-get install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl apt-show-versions
Ну и собственно установка: > sudo dpkg --install webmin_1.580_all.deb
Всё, можно заходить в веб-интерфейс: https://192.168.1.180:10000
4) Настраиваем ftp-доступ
Для ftp я использую pure-ftpd (хотя вы можете выбрать на свой вкус - proftpd и vsftpd)
Создадим публичную папку: > sudo mkdir /mnt/data/public
Устанавливаем pure-ftpd из репозитария: > sudo apt-get install pure-ftpd
В принципе можно уже заходить под системным аккаунтом, но это не совсем хорошо для повседневного использования. Сделаем виртуальный аккаунт с доступом только к публичной папке: > sudo pure-pw useradd public -u local -g nogroup -d /mnt/data/public
Обновим базу данных: > sudo pure-pw mkdb
Включим использование виртуальных пользователей: > sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
Перезапускаем сервис: > sudo service pure-ftpd restart
5) Samba
Настроим доступ к серверу с windows-машин, более того у меня лично дома семья большая и требуется разделение прав между несколькими пользователями. А для удобного редактирования прав на папки прямо из Windows (через вкладку «безопасность» в свойствах), будем использовать ACL.
Домена у нас нет, поэтому придётся создать пользователей таких же, как и на windows-машинах: > sudo useradd -d /home/PaulZi -s /bin/true -g users PaulZi
Задаём пароль, такой же, как на windows: > sudo passwd PaulZi
Добавляем созданного пользователя к Samba: > sudo smbpasswd -a PaulZi
Для управления расширенными правами, можете установить утилиты (необязательно): > sudo apt-get install acl > sudo apt-get install attr
Для того, чтобы samba работала с ACL, необходима файловая система с поддержкой POSIX ACL, ext4 вполне подходит, но по умолчанию она примонтирована без этой поддержки. Для включения этой возможности добавим опцию «acl» в файл /etc/fstab. Но более того, в Windows реализована поддержка наследования прав, чтобы и это реализовать в linux, нужно чтобы samba где-то хранила дополнительные данные. Для этого необходимо включить расширенные атрибуты файлов, опция «user_xattr». Заодно запретим выполнение файлов на всём разделе с данными, с помощью опции «noexec» (для безопасности): > sudo nano /etc/fstab /dev/md0 /mnt/data ext4 defaults,noexec,acl,user_xattr 0 2
Перезагружаемся: > sudo shutdown -r now
Редактируем настройки samba (для краткости привожу только изменения и добавления): > sudo nano /etc/samba/smb.conf workgroup = Home netbios name = Server security = user # add settings admin users = PaulZi # действие этих пользователей будут производиться от root map acl inherit = yes # включаем наследование acl store dos attributes = yes # включаем хранение dos атрибутов # отключаем хранения windows атрибутов: map archive = no map system = no map hidden = no map readonly = no # public share comment = Public path = /mnt/data/public browseable = yes # шара видна read only = no # включаем возможность записи guest ok = yes # разрешаем гостевой доступ inherit permissions = yes # включаем наследование прав inherit acls = yes # включаем наследование windows-прав inherit owner = yes # включаем наследование владельца hide unreadable = yes # прятать файлы недоступные для чтения
Перезапускаем сервис: > sudo service smbd restart
6) DLNA/UPnP - сервер
В качестве DLNA-сервера я выбрал minidlna. Выбрал его по одной просто причине, что он не тянет за собой кучу ненужных зависимостей, как MediaTomb и Serviio (они тянут Java либо графические библиотеки). Однако если вам необходим транскодинг, советую установить один из них, вместо minidlna.
Установка из репозитария: > sudo apt-get install minidlna
Настраиваем: > sudo nano /etc/minidlna.conf media_dir=/mnt/data/public friendly_name=Ubuntu
Перезапускаем: > sudo service minidlna restart
7) torrent
Ну и последний освещённый в данной статье сервис - torrent-клиент. Я использую Transmission, как успешно зарекомендовавший себя клиент с веб-интерфейсом.
Устанавливаем: > sudo apt-get install transmission-daemon
Останавливаем сервис, иначе все изменения затрутся после завершения процесса: > sudo service transmission-daemon stop
Настраиваем: > sudo nano /etc/transmission-daemon/settings.json "download-dir": "/mnt/data/public/torrents" "rpc-password": "local" "rpc-username": "local" "rpc-whitelist-enabled": false
Тут меняем четыре настройки - задаём путь для загрузки, имя пользователя и пароль для веб-интерфейса, а также отключаем «белый» список доступа к интерфейсу - разрешаем для всех. Пароль указываем в открытом виде, после последующего запуска он будет зашифрован.
Запускаем сервис: > sudo service transmission-daemon start
Заходим в веб-интерфейс, убеждаемся, что всё хорошо: http://192.168.1.180:9091/

Послесловие

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

Есть ещё доводы в пользу Ubuntu Server, кроме перечисленных в и ..

LXC и Vagrant.

LXC (L inuX C ontainers) - система виртуализации на уровне операционной системы для запуска нескольких изолированных экземпляров ОС Linux на одном компьютере. LXC не использует виртуальные машины, а создает виртуальное окружение с собственным пространством процессов и сетевым стеком.

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

LXC можно представлять себе как "super chroots" или как "лёгкую виртуализацию". Можно использовать Juju не только для развёртывания Ubuntu и сервисов в облачных средах, но и применять для локальных LXC, особенно для обучения на первых порах.

Canonical так же присматривается к Docker - системе автоматизированного развёртывания любого приложения как лёгкого, переносимого, самодостаточного контейнера, который будет работать везде. Docker позволит разработчику инкапсулировать в контейнер любую начинку и это будет работать на производстве в виртуальных машинах, серверах, кластерах OpenStack и в их комбинациях.

Говоря об песочницах, стоит напомнить, что если вы хотите использовать Vagrant для лёгкого манипулирования множеством копий виртуальных машин, то можете использовать шаблоны операционной системы Ubuntu с сайта cloud-images.ubuntu.com/vagrant/. Эти шаблоны обновляются, как и другие образы Ubuntu, и полностью поддерживаются.

Landscape.

Организациям, которым приходится управлять огромным количеством Ubuntu систем, может пригодиться Landscape. Для развёртывания сервисов, Canonical предлагает использование Juju, которую можно назвать apt для служб . Но для поддержания парка Ubuntu в обновлённом состоянии нужно использовать Landscape. Управлять с помощью Landscape тысячами Убунту систем так же легко как одной системой. Вы с лёгкостью исправите проблему с безопасностью, затронувшую сотню машин, в пару щелчков мышью. И главное, легко сделаете отчёт об данной выполненной работе без бумажной волокиты.

Landscape "разговаривает" с apt на каждой Ubuntu машине через разработанный API, в независимости от архитектуры железа и версии Ubuntu.

Landscape платная утилита, но есть 30 дневная пробная версия, которая позволит попробовать её в действии.

Ubuntu и сообщество.

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

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

Ubuntu Advantage.

Как уже было сказано выше, Ubuntu бесплатна. Canonical предоставляет платную поддержку для тех кому она нужна в сегменте серверов и облаков.

Цены на поддержку серверных решений.

Серверные возможности Essential Standard Advanced
Система менеджмента Landscape Landscape
Выделенный сервер Landscape Опционально Опционально Опционально
Юридические гарантии Ubuntu Assurance
Сведения и поддержка База знаний
Базая установка и приложения
Интеграция Windows
Виртуализация
Кластер и высокая доступность при отказах
Специальный репозиторий
Дополнительное Поддержка облаков Опционально Опционально
Premium Service Engineer Опционально Опционально Опционально
Цена за сервер Итого за год $320 $700 $1,200

Цены на поддержку облачных решений.

Облачные возможности Малый Средний Большой
Количество нод до 100 нод до 500 нод свыше 500 нод
Поддержка инфраструктуры 24/7
Выделенный сервер Landscape
Безлимитная поддержка гостевых Ubuntu
С Ceph хранилищем 64 Тб 64 Тб 64 Тб
Цена за год $75,000 $180,000 $350,000

Как видно из таблиц, цена поддержки начинается с $320 за один сервер в год. P remium S ervice E ngineers - это лучшее что предлагает Canonical и если у вас возникли какие-то сложнейшие вопросы, то PSE их решат. Если сравнить цены Canonical с соперниками, то легко можно увидеть конкурентноспособность цен, учитывая что платить просто так за лицензию никто не заставляет.

Нужна официальная поддержка и помощь за деньги? Всегда, пожалуйста.

Вы в прекрасной компании.

Такие компании как Netflix, Wikipedia, Inktank, AT&T, HP, Dreamhost, Rackspace, Instagram, Dropbox, SmugMug, Samsung, NTT, Deutsche Telekom, 10gen и Amazon используют Ubuntu Server для поддержания своего бизнеса.

Мощные компании со своими серьёзными требованиями к стабильной и бесперебойной работе систем, выбрали Ubuntu Server не за красивые глазки.

Итак, сеть поднята и свитч бодренько моргает диодами. Самое время для настройки нашего маленького, но гордого сервера, работающего под управлением Ubuntu Server 10.04 LTS. Используя образ диска (его можно по HTTP или через torrent, - 700Mb.) записываем его на болванку. Для этих целей рекомендую использовать «Daemon Tools Lite» или « » так как обе эти программы - бесплатные и полностью удовлетворяет нашим требованиям.

Выставляем в bios-е загрузку с CD или DVD и перезагружаемся.

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

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

Мы попадаем в меню загрузки диска. Выбираем пункт «Установить Ubuntu Server».



У нас спросят, где мы будем использовать наш сервер, это повлияет на выбор зеркал обновления (репозиториев). Так как Интернет-провайдеры обычно предоставляют доступ в IX (UA-IX, MSK-IX и похожим сегментам) на более высоких скоростях, выберем наше местоположение. Так как я живу на Украине, я и выбрал «Украина».





В списке стран выберем «Россия»:



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



Итак, после тщательных поисков, нашлись две (в среде Linux они обозначаются как eth0 и eth1 - ethernet). Нам нужно выбрать ту, которая подключена к Интернету (роутеру или модему в нашей локальной сети).



Если на роутере был настроен DHCP (Dynamic Host Configuration Protocol - протокол автоматического назначения IP адресов ), сетевая карта получит соответствующие настройки автоматически. В моем случае DHCP сервер был не настроен, о чем программа установки нам и сообщила. Не беда, ведь можно позже настроить все руками, согласимся со сбоем и продолжим установку.



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



  • IP: 172.30.2.3
  • Netmask: 255.255.255.0
  • Gateway: 172.30.2.1
  • DNS: 172.30.2.1

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

Вообще, лучше следовать трем правилам именования переменных в языках программирования, а именно: имя не должно начинаться цифрой, в имени не должно быть пробелов, нельзя использовать зарезервированные слова (специальные конструкции, например if, else, for, goto и т.п.) Есть и четвертое, - не использовать символы национальных алфавитов кроме латинского, например: Русский, Японский, Украинский и т.д. Если придерживаться этого правила, у Вас никогда не будет проблем с работой программ и отображением имен файлов.



ОС определила, что мы находимся во временной зоне Европа/Запорожье, те GMT+2, все так и есть. Для Вас, соответственно, будет свой часовой пояс, если Вы не живете на Украине.



Настало самое «страшное» при любой инсталляции ОС - разметка для ее установки. Но дружелюбная ОС (именно так переводится слово «ubuntu» с языка какого-то племени банановой республики) поможет нам все сделать быстро и качественно. У нас есть два варианта разметки: автоматическая или вручную. Так как мы не ищем легких путей, - выбираем ручную разметку.



На фото ниже отображены подключенные диски. В нашем случае, это - один диск SDA на 8 гигабайт под именем (WD, Seagate и т.п. В моем случае это - виртуальный диск Virtual Box-a). Выбираем его.

Примечание : В *NIX подобных ОС диски не имеют привычных для Windows имен, вроде «C» или «D». Вместо этого они именуются как HDA (для IDE канала) или SDA (в случае SATA или SCSI дисков).

Последняя буква в названии (А) обозначает диск в алфавитном порядке. Т.е. - следующий SATA диск будет именоваться SDB, SDC и так далее. Но это только именование физических дисков, а логические их разделы будут иметь вид SDA1, SDA2, SDA5 и т.д. Причем, цифры от 1 до 4 означают первичный раздел, от 5 и выше - логический. Пусть Вас не смущает такое странное наименование, со временем, я надеюсь, оно станет таким же легким и привычным, как и в среде MS Windows.



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



После этого будет создана таблица разделов, которую нужно «заполнить» самими разделами. Выбираем свободное место и жмем далее (клавишу «Пробел»).



На следующем скриншоте выбираем «Создать новый раздел», хотя все еще можно сделать автоматически, мы упорно будем настраивать вручную:)



Вводим размер нового диска в MB или GB, для начала создадим своп (аналог файла подкачки в MS Windows), размером в 512 мегабайт. Хотя, рекомендуется делать своп размером в полтора раза больше размера общего количества установленной , мы сделаем его равным этому значению.

Примечание : операционные системы *NIX (Unix и Linux) более правильно использует файл подкачки (особенно - в версиях без графического интерфейса), здесь своп будет загружен крайне редко. Например, на моем сервере из 1Gb свопа максимально использовалось несколько мегабайт и то, из-за реально большой нагрузки и времени бесперебойной работы около месяца. В любом случае, больше гигабайта нет смысла делать, так как просто потеряете место, которого всегда не хватает.



Выбираем тип раздела. Я выбрал первичный (т.е., полное имя данного раздела будет - SDA1)



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



Теперь опять выбираем свободную область, создать диск, но сейчас выберем тип «логический». Размер поставим 15 GB, тип файловой системы: EXT4, точка монтирования: / (корень) и на этом закончим с этим разделом.



На все оставшееся место создаем логический раздел с файловой системой EXT4 и точкой монтирования /home , это будет домашний каталог всех пользователей (аналог каталога в MS Windows “Documents and Settings”). На этом закончим настройку дисков. В итоге у Вас должно получиться примерно следующее.



Если все правильно, то выбираем «Да» (как показано на скриншоте ниже). Это - последний момент перед записью таблицы разделов на диск (пока все проделанные нами настройки записывались исключительно в оперативную память ПК). Ну, понеслась!



После записи таблицы начнется установка самой ОС Ubuntu Server 10.04 LTS, это займет минут 5-7.



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



После ввода имени, нам нужно придумать имя учетной записи, те пользователя, под которым мы будем входить в систему. Я использовал asus (это - не реклама:))





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

Примечание : при шифровании есть риск того, что в случае неполадок с винчестером, будет проблематично восстановить зашифрованную информацию.



Нам предлагают ввести информацию о прокси-сервере для получения доступа к Интернету. Так как его у нас пока нет, то просто оставим поле пустым. Выбираем «Продолжить».



В отличие от денег-просящей MS Windows, Ubuntu предлагает совершенно бесплатно и своевременно обновляться через Интернет. Выберем пункт «устанавливать обновления безопасности автоматически», чтобы не делать этого потом вручную.



Также, нам сразу предложат установить парочку «демонов» (аналоги системных служб в Windows). Да, это - «страшная» ОС, здесь могут быть даже «зомби» - зависшие «демоны», и отсутствуют иконки:) Для удобства конфигурирования выберем Open SSH server (чтобы можно было по необходимости подключатся к серверу удаленно по сети с использованием терминала).

Наконец-то! Ubuntu Server 10.04 LTS установлен и можно проверить плоды своих трудов! Пробуем войти в систему, используя логин и пароль указанные при установке.



После успешного ввода логина и пароля, ОС поприветствует нас краткой информацией о своем состоянии. У Вас это будет выглядеть приблизительно так:



Из информации на скриншоте выше видно:

  • Система загружена на 0.4%,
  • В домашнем каталоге использовано 3.3% места из 1009 Mb.
  • Используется 3% ОЗУ из 512 Mb, что в переводе на мегабайты составляет всего 21 Mb. Для сравнения MS Windows XP Pro SP3 после «чистой» установки (с оригинального диска) использует около 100Mb и уже в файле подкачки изначально «держит» мегабайт 30.
  • Сейчас запущено 84 процесса, вошедших пользователей нет (потому что информация была взята до того как пользователь, т.е. - мы, вошли в систему).
  • Одной сетевой карте под именем eth0 присвоен IP адрес 172.30.2.3
  • Также доступно 89 пакетов для обновления и 67 пакетов обновления безопасности.

После установки необходимо обновить ОС, для этого потребуется около 70 мегабайт скачать из Интернета. Запускаем команду обновления от имени root-a (администратора) sudo apt-get update , которая обновит список доступных пакетов.

Так как команда требует прав супер пользователя «su» (super user), у нас спросят наш пароль, введем его. Введенная следом команда apt-get upgrade запустит сам процесс обновления пакетов. После запуска будет проверен список пакетов и предложены обновления, подтвердим установку нажав клавишу «Y».



Команда «get update» обновляет список доступного ПО, те только информацию о нем (версия и т.п.), а «upgrade» - производит непосредственно обновление программного обеспечения (скачивает с сайта разработчика новую версию и устанавливает ее).

Рассмотрим ту же самую процедуру обновления с использованием команды sudo



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

Теперь ваш сервер готов к работе! Но его еще нужно настроить (сконфигурировать). Этим мы и займемся в следующей статье.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: