Установка Ubuntu Server: пошаговая инструкция, настройка, советы и рекомендации.  Установка и настройка Ubuntu Server

Чтобы создать терминальный, файловый (FTP) или почтовый сервер на Linux, надо уметь работать в этой операционной системе. Иначе разобраться будет сложно. ОС не нужен мощный компьютер. Потому что она не расходует лишние ресурсы на графическое оформление. Дистрибутивы Линукса можно развернуть даже на старом ПК. Поэтому для создания различных серверов часто используют Linux или Ubuntu Server.

Об этом написано много различной литературы. Некоторые книги о Линуксе насчитывают тысячу страниц. Работать придётся через терминал и все команды вводить вручную. Но всё же вы сможете сделать небольшой Linux-сервер своими руками, который будет включать файловое хранилище, Web-сервисы и почтовый протокол.

Ubuntu Server создана на базе операционной системы Linux. Для её работы не нужен современный процессор, хорошая видеокарта или большой объём оперативной памяти. С Линукс можно развернуть сервер даже на старом ноутбуке. И в нём будут все нужные компоненты: почта, FTP, Web.

Скачать образ диска с Linux можно с сайта Ubuntu.ru. Выбирайте любую версию с Server (не Desktop!). Загрузка будет проходить через Torrent-клиент . Этот образ надо записать на болванку или флешку (с помощью LiveUSB). Также можно воспользоваться виртуальным приводом.

У Ubuntu упрощённый интерфейс. В нём нет никаких графических излишеств. Эта ОС прекрасно подходит, чтобы сделать Linux-сервер своими руками. С ней ресурсы компьютера будут использоваться для нужд домена. Ведь ей для работы нужно совсем немного.

Её установка проходит так:

  • Выберите язык и регион, в котором проживаете.
  • Придумайте имя администратора. Оно используется для управления сервером.
  • Также задайте имя пользователя в поле «Username for your account». Под этим аккаунтом вы будете общаться с техподдержкой Ubuntu.

Указываем имя пользователя в Ubuntu

  • Введите пароль. Подтвердите его.

Вводим пароль учетной записи

  • Укажите домен, если он есть. На нём будут находиться все сервисы: файловый (FTP), почтовый, хостинг для сайтов и так далее.
  • Подождите, пока установится система.
  • После этого она предложит дополнительные компоненты.

Вот список того, что необходимо для сервера Linux и его полноценной работы:

  • Open SSh. Используется для удалённого администрирования. Пригодится, если вы решите управлять сервисом с другого компьютера. Тогда на ПК с Линуксом можно будет отключить монитор и видеоадаптер.
  • LAMP. Комплекс утилит Linux, который включает Apache (Web-сервер). MySQL (базы данных) и PHP (язык программирования для CMS). Эти компоненты нужны для создания управляющего интерфейса.
  • Samba file server. Позволяет настроить обмен файлами между компьютерами. Если вам нужен FTP-сервер, выберите этот пункт.
  • Virtual Machine host. Устанавливайте, если собираетесь пользоваться возможностями виртуализации.
  • Print server. Сетевые принтеры.
  • DNS server. Система доменных имён. С ней можно распознать IP-адрес по имени компьютера и наоборот.
  • Mail server. Почтовый сервер.
  • PostgreSQL database. Объектно-реляционные базы данных.

Выберите то, что вам нужно, и подтвердите установку. При первом запуске надо будет ввести логин администратора и пароль. Откроется консоль. Она похожа на командную строку Windows или интерфейс операционной системы MS DOS.

Изначально вам надо будет проверить наличие обновлений. Введите команду «Sudo apt-get update» или «Sudo apt-get upgrade» без кавычек. После апдейта можно заняться настройкой всех компонентов серверов: FTP, почтового, Веб.

Для Ubuntu существует псевдографический интерфейс - Midnight Commander. Это аналог оболочки Norton Commander, которая разработана для системы MS DOS. С таким интерфейсом легче работать - всё нагляднее, чем в консоли.

Запуск терминала Linux

В современных Linux вместо консоли используется терминал. Чтобы в него зайти:

  1. Откройте «Приложения».
  2. Нажмите «Стандартные».
  3. Там будет «Терминал».

В него можно вводить команды так же, как в Ubuntu Server.

  • Чтобы установить компоненты LAMP (если их ещё нет), надо последовательно ввести команды «sudo apt-get update», «sudo apt-get install tasksel» и «sudo tasksel install lamp-server». После каждой нажимайте Enter.
  • Чтобы загрузить Open SSh, введите «sudo apt-get install openssh-server».
  • Чтобы поставить Samba file server, напишите «sudo apt-get install samba».

При установке MySQL из пакета LAMP нужно будет задать пароль администратора, для SQL.

Локальный Web-сервер

Для создания Web у сервера должен быть свой выделенный IP. Тогда после установки LAMP по этому IP-адресу будет доступна тестовая страница Apache. Это и есть будущий Веб. В дальнейшем на него можно будет поставить FTP, базы данных, почтовый протокол. Для настройки Web-сервера:

  • Установите phpMyAdmin. Для этого в терминале или в консоли введите друг за другом введите «sudo apt-get install phpmyadmin»

  • И потом «sudo service apache2 restart».
  • Компонент загрузится. Apache будет перезагружен. Дальнейшие действия зависят от версии операционной системы.

Если у вас Ubuntu 13.1 и выше, используйте команды:

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

Вбивайте их последовательно друг за другом, после каждой нажимайте Enter.

В Ubuntu 16.04, нужны другие указания:

  1. sudo apt-get install php-mbstring php-gettext
  2. sudo phpenmod mcrypt
  3. sudo phpenmod mbstring
  4. sudo systemctl restart apache2

После их ввода и автоматического перезапуска службы по адресу http:///phpmyadmin будет доступен веб-интерфейс.

  • Конфигурация и данные о ней находятся в папке сервера Apache «etc/apache2/». Apache2.conf - конфигурационный файл для дистрибутива
  • В директориях «mods-available»/«sites-available» и «mods-enabled»/«sites-enabled» находятся моды и сайты.
  • В Ports.conf расписаны прослушиваемые порты.
  • Если вы добавите после команды «sudo /etc/init.d/apache2» слово «Stop», Apache приостановит работу. Если «Start» - снова запустится. Если «Restart» - перезагрузится.
  • Чтобы самостоятельно выбирать путь для сохранения сайтов, последовательно введите в терминал «sudo a2enmod rewrite» и «sudo a2enmod userdir».

Каждый раз после внесения каких-либо изменений надо перезапускать службу командой «Restart».

Почтовый сервер

Чтобы создать почтовый сервер на Линукс, у вас уже должен быть зарегистрирован домен. Также нужно иметь статический IP.

  • Установите компонент Postfix. Для этого наберите в консоли «sudo apt-get postfix».
  • Когда он загрузится, напишите команду «sudo /etc/initd/postfix start». Сервис начнёт работать.
  • В Postfix уже прописаны параметры, которые нужны для полноценной работы с протоколом SMTP. Но всё же не помешает небольшая настройка.
  • Откройте файл /etc/postfix/main.cf.
  • Найдите в нём значение «mydomain =». После знака «=» напишите имя домена.
  • Потом отыщите «myhostname =». И введите имя машины.
  • Теперь почтовый сервер может отправлять письма другим компьютерам, которые находятся с ним в одной сети. Чтобы он мог посылать корреспонденцию и на другие домены в интернете, в файле «main.cf» найдите строчку «inet_interfaces =». Поставьте после неё слово «all».
  • В переменной «mynetworks =» пропишите диапазон адресов всех компьютеров вашей подсети (например, 127.0.0.0/8).

Если служба настроена верно, и выполнены все условия (постоянный IP-адрес, зарегистрированный домен), то Server сможет принимать и отправлять корреспонденцию. Если запись MX вашего домена ссылается на ваш хост.

Чтобы посмотреть логи ресурса, используйте команду «tail -f /var/log/mail/info». Чтобы получить от него сообщение, введите «mailq».

Файловый сервер

FTP-сервер Linux может понадобиться для обмена документами и загрузки файлов. Существует несколько версий таких ресурсов: vsFTPd, Samba, proFTPd.

Подробнее остановимся на vsFTPd. Его можно установить и запустить одной командой - «sudo apt-get install vsftpd». Дальнейшие настройки зависят от ваших предпочтений и от того, какой сервис вы хотите сделать. Для изменения параметров могут понадобиться права администратора.

  1. Сразу после загрузки программы система создаёт нового пользователя и добавляет в домашнюю директорию папку, которая предназначена для работы с серверным хранилищем. Также в каталоге «etc» появляется файл «ftpusers». Туда можно добавлять пользователей, которым запрещён доступ к файлам.
  2. После установки лучше сменить директорию, в которой должны находиться файлы, в папку «var». Для этого от имени администратора напишите команду «usermod -d /var/ftp ftp && rmdir /home/ftp».
  3. Создайте новую группу пользователей. Например, «userftp». Напечатайте в консоли «addgroup userftp».
  4. Добавьте в неё новый аккаунт (для простоты назовём пользователя и группу одинаково). Используйте команду «useradd -a /var/ftp -g userftp userftp». Она заодно создаёт пользователя. Чтобы включить в группу уже существующий никнейм, вместо «useradd» напишите «usermod».
  5. Надо придумать пароль новому пользователю. Введите в терминале «passwd userftp».
  6. Напечатайте «chmod 555 /var/ftp && chown root:userftp /var/ftp», чтобы предоставить аккаунту доступ к корневой папке файлового сервера.
  7. Теперь создайте публичную директорию. Последовательно введите «mkdir /var/ftp/pub» и «chown userftp:userftp /var/ftp/pub».

Изначально FTP запускается в автономном режиме. У неё есть скрипт, который играет роль демона. При такой функциональности доступно несколько команд. Они вводятся после строки «sudo service vsftpd».

  • Stop и Start. Отключение и включение.
  • Restart и Reload. Перезапуск. Нужен для применения новых настроек. Разница между командами в том, что во второй перезагрузка происходит без полного отключения.
  • Status. Информация о состоянии.

Дальнейшая настройка сервера заключается в переписывании файла конфигурации, который находится в etc/vsftpd.conf. У него простая и понятная структура. Разобраться в нём достаточно просто. Хотя для этого нужны определённые знания. Перед изменением этого файла имеет смысл сделать его резервную копию. Чтобы в случае выявления ошибок можно было всё восстановить. Введите команду «cp /etc/vsftpd.conf /etc/vsftpd_old.conf» и информация будет сохранена.

После этого можно приступать к редактированию.

  • В параметре «listen=» напишите «YES». Тогда сервер будет работать в независимом режиме.
  • «Local_enable» разрешает вход локальным пользователям.
  • «Write_enable» даёт им доступ в домашние каталоги.
  • «Anonymous_enable». Можно ограничить права анонимных пользователей, если поставить «NO». Также есть опция «no_anon_password» - анонимные входят без пароля. Её тоже можно запретить.

Если вы хотите делать публичный сервер, то после строки «listen» надо добавить несколько дополнительных параметров.

  • «Max_clients». Количество одновременных соединений.
  • «Idle_session_timeout» и «data_connection_timeout». Таймауты сессии.
  • «Ftpd_banner». Приветственное сообщение для посетителей. Можно написать, к примеру, «Hello!».

Терминальный сервер

Терминальный сервер на Linux предназначен для предприятий и офисов , все компьютеры в которых объединены в одну сеть. Очень удобно, когда с любого ПК (если у него есть доступ) организации можно зайти на терминал. Это открывает большие возможности для удалённого администрирования.

Для такой задачи подходит LTSP - Linux Terminal Server Project. Программа есть в стандартном пакете Ubuntu. Чтобы её установить:

  1. Введите команду «ltsp-server-standalone».
  2. Потом напишите «apt-get update && apt-get install ltsp-server-standalone».
  3. Подождите, пока всё загрузится и обновится.
  4. Теперь надо поставить клиентскую систему. Напечатайте «ltsp-build-client».
  5. Затем «ltsp-build-client -dist trusty -arch i386 -fat-client-desktop lubuntu-desktop».
  6. Используйте команду «debootstrap», и дистрибутив автоматически развернётся в директорию «opt/ltsp/i386».

Linux Server может работать даже на слабых ПК. Поэтому его очень часто используют для создания серверов и удалённого администрирования. На этой операционной системе делают почтовые сервисы, FTP-хранилища, терминалы.

Это руководство о том, как подготовить сервер Ubuntu 9.10 (Karmic Koala) и установить на него ISPConfig 3. ISPConfig 3 - это панель управления веб-хостингом, которая позволяет вам управлять через веб-браузер следующими услугами: веб-сервером Apache, почтовым сервером Postfix, сервером баз данных MySQL, сервером имён MyDNS, файловым сервером PureFTPd, антиспамом SpamAssassin, антивирусом ClamAV и много чем ещё.

Обратите внимание, что это описание не работает для ISPConfig 2, оно действительно только для ISPConfig 3!

Требования

Предварительное замечание

В руководстве я использую имя хоста server1.example.com с IP-адресом 192.168.0.100 и шлюзом 192.168.0.1. У вас эти параметры могут отличаться, так что вам нужно будет их заменить, где необходимо.

Установка основной системы

Вставьте ваш установочный диск Ubuntu в привод и загрузитесь с него. Выберите язык установки, затем «Установить сервер Ubuntu»:

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

Установщик проверит диск и ваше оборудование, настроит сеть с использованием DHCP , если, конечно, сервер DHCP присутствует в сети:

Введите имя своего компьютера. В этом примере моя система называлась server1.example.com, поэтому я ввожу server1:

Теперь вы должны разметить свой жёсткий диск. Для простоты я выбираю «Авто - использовать весь диск и настроить LVM». Это создаст один раздел с двумя логическими дисками: один - для корневой файловой системы (/), другой - для раздела подкачки (swap). Конечно, разметка - полностью ваше дело, поэтому, если знаете, что делаете, вы можете также разметить диск вручную. Если вы сделаете отдельными разделы /home и /var, в будущем вам это может пригодиться.

Выберите диск для разметки и на вопрос «Записать изменения на диск и изменить LVM?» ответьте «Да».

Если вы выбрали «Авто - использовать весь диск и настроить LVM», программа разметки создаст один большой раздел, используя всё дисковое пространство. Теперь вы можете определить, сколько из этого дискового пространства должно использоваться логическими дисками (/) и (swap). Имеет смысл оставить некоторое место неиспользованным, позже вы сможете расширить свои существующие логические диски или создать новые. Это даёт больше гибкости.

Когда закончите, на вопрос «Записать изменения на диск?» нужно ответить «Да»:

Будут созданы и отформатированы ваши новые разделы:

Затем будет устанавливаться основная система:

Создайте пользователя, например, Administrator, с пользовательским именем administrator. Не используйте в качестве имени пользователя admin, поскольку это зарезервированное имя в Ubuntu 9.10.

Я не нуждаюсь в шифровании домашней папки, поэтому здесь я выбрал «Нет»:

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

Нам необходимы серверы DNS , Mail и LAMP, однако, сейчас я не выбираю ни один из них, потому что мне нравится иметь полный контроль над тем, что установлено в моей системе. Необходимые пакеты мы установим позже вручную. Единственный пункт, который я здесь отмечаю, это «OpenSSH server». Он понадобится мне для соединения с системой после окончания установки при помощи клиента SSH , такого как Putty:

Итак, установка основной системы закончена. Извлеките установочный диск из привода и выберите «Продолжить», чтобы перезагрузить систему:

В следующем месяце мы установим сервер SSH и vim-nox, используя нашу учётную запись администратора, а также настроим сеть.

Сервер на основе Ubuntu дает возможность поднять различные сервисы, в том числе и для работы с сетью. Примеры таких сервисов: DHCP, DNS, NAT, Apache, FTP и множество других. В данной статье я не буду рассказывать почему именно выбрал Ubuntu server, о всех его преимуществах вы можете почитать в этой статье . Понятно, что, например, Debian считается более стабильным и используется в серьезных проектах, но для моих задач вполне хватает Ubuntu 🙂

Ubuntu server поддерживает три основные архитектуры процессора: Intel x86, AMD64 и ARM. Системные требования для Ubuntu сервера достаточно скромные.

Скачать Ubuntu Server любой версии можно на официальном сайте .

После скачивания, необходимо записать образ сервера на CD, DWD-диск или на флешку. Для записи образов на флешку я рекомендую пользоваться программой Unetbootin — она бесплатная, распространяется на всех операционные системы (Windows, Linux, Mac OS), имеет понятный интерфейс.

Выбираем «Образ диска», в списке оставляем «Стандарт ISO»

Все, после этого выбираете тип: Устройство USB, находите в списке свой USB-накопитель и нажимаете OK. Образ диска должен записаться на флешку.

Теперь можно приступать к установке системы. При загрузке компьютера необходимо зайти в BIOS (клавиша f2) и настроить в приоритете загрузке самым первым нашу флешку. Настройка приоритетов загрузки находится во вкладке Boot. После чего применяем изменения в BIOS и перезагружаемся.

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

Выбираем Установить Ubuntu Server.

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

После определения раскладки установщик автоматически определяет подключенное оборудование и загружает основные компоненты для работы системы. Далее нам предлагают выбрать имя сервера — если делаете для себя выбираете любое, если сервер будет находится в организации выбираете имя согласно правилу именования узлов в сети. Например, там где я работаю сервера имеют примерно такое название srv1.ekt10, где ekt — Екатеринбург, 10 — номер площадки.

Для своей учетной записи сразу же создаем пароль: для лучшей защиты используйте в пароле спец. символы.

Один из самых важных шагов при установке любой системы — это разметка диска. Тут есть несколько вариантов:

  1. Если сервер ставится на чистый жесткий диск — лучше выбрать автоматическую разметку. В этом случае будет создано два раздела: первый — для корневой папки (/), второй — раздел подкачки (/swap). Также дополнительно можно создать раздел для своей учетной записи (/home/имя пользователя). В дальнейшем после установки все махинации с жестким диском можно продолжить при помощи специальных утилит системы.
  2. Если на диске уже установлена другая операционная система — можно разбить жесткий диск вручную.

Приведу некоторые сведения, касающиеся разметки жестких дисков. Физические жесткие диски называются: sda, sdb. sdc, и так далее. При этом подключаемые устройства называются также. Разделы на винчестерах называются: sda1, sda2, sda3. Понятно, что это эти разделы относятся к диску A. Существуют три вида разделов: основной, логический и расширенный. Основных разделов может быть максимум четыре. Логических разделов может быть бесконечное количество. Каждый логический раздел входит в расширенный. При этом расширенный раздел может быть только один и он в то же время является основным. Иными словами, если нам необходимо настроить логические разделы, мы берем какой-то один основной раздел, делаем его расширенным и уже на его основе создаем логические разделы.

Ниже показан пример разделения жесткого диска в программе GParted. Видно, что на диске создание три основных раздела: sda1, sda2, sda3. Первые два раздела используется под Windows: sda1 — под саму ОС, sda2- для пользовательских данных. SDA3 используется под Linux и является расширенным (extended). На основе расширенного создано три логических раздела: sda5 — под корневую файловую систему (/), sda6 — под раздел подкачки (linux-swap), sda7 — под файлы пользователя (home). Тут же видно, что для Windows используется файловая система nfts, а Linux — ext4. Это хороший пример разделения, но вам совсем не обязательно делать именно так.

В Linux имеется всегда один корень root и обозначается ‘/’. Путь к любому файлу отсчитывается относительно этого корня. Присоединение к корню других файловых систем осуществляется с помощью операции монтирование.

Монтирование — операция присоединения устройства хранения данных к дереву каталогов.

Монтирование осуществляется с помощью команды mount точка_монтирование файловая_система

Также ранее упоминалось про понятие раздела подкачки.

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

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

Выбираем наш жесткий диск.

Пока у меня есть только один основной раздел SDA и свободное место 8,6 Gb. Я же планирую использовать 1 Gb под раздел подкачки, 4 Gb под корневой раздел, 3,6 Gb под домашнюю директорию. При этом все три раздела я сделаю основными (так как планирую использовать на данном компьютере только одну ОС). Выбираем не размеченную область и начинаем ее делить.

Выбираем создать новый раздел.

Первым делом создаем файл подкачки. Его размер мы решили сделать 1 Gb.

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

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

Переходим во вкладку «Использовать как» для того, чтобы выбрать тип раздела.

Выбираем тип — раздел подкачки.

Все — настройка первого раздела завершена, применяем настройки.

Оставшиеся два раздела настраиваются абсолютно аналогично — меняются лишь размер и тип раздела. Вообщем в конце у вас должно получиться примерно так.

Основа системы уже готова. Нам предлагают поставить некоторые дополнительные пакеты. В данном случае все зависит от целей, для которых вы ставите сервер (FTP, DNS, DHCP, Web, MAIL или какой-то еще). Могу сказать, что в любом случае вам стоит выбирать пакет OpenSSH, который предназначен для удаленного доступа по SSH. В моем случае сервер тестовый и я ничего выбирать не буду. Все дополнительные пакеты будут установлены после установки.

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

Поздравляю наш сервер готов к работе 🙂

___________________________

  • 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 (даже если исходить из названия) предназначен в первую очередь для серверного оборудования, он также популярен среди любителей настроить обычную рабочую систему (в том числе с GUI — графическим интерфейсом) «под себя» с нуля, установив самостоятельно только нужные пакеты и приложения. Ubuntu сама по себе очень дружественна к пользователям, прекрасно документирована, имеет богатейшее сообщество (в том числе русскоязычное) и прекрасно подходит для начинающих в мире *nix-систем.
? Для установки выберем последний на сегодняшний момент стабильный релиз (обновления к которому гарантированно будут выпускаться вплоть до апреля 2021 года) - Ubuntu Server 16.04.1 LTS . Устанавливать можно как на «голое» железо, предварительно подготовив загрузочный носитель, так и в виртуалке (VirtualBox , VMware) Итак, начнем.

  1. Скачиваем образ с официального сайта. Для загрузки 64-битной версии нам нужен либо торрент-файл (ubuntu-16.04.1-server-amd64.iso.torrent) , либо образ.iso (ubuntu-16.04.1-server-amd64.iso) . Я предпочитаю закачивать через торрент — выше скорость. Размер образа составляет около 0,7 Gb (к слову, версия desktop весит в два раза больше, 1,4 Gb).
  2. Если установка будет производиться на «реальное» железо, тогда подготовьте загрузочный носитель (usb-flash, cd/dvd). Создание носителя тривиально (открыть программу для записи.iso, выбрать образ и носитель, записать образ на носитель), я предпочитаю использовать для записи.iso образов UltraISO либо UnetBootin . Если же вы хотите попробовать Ubuntu Server в виртуальной машине, то просто переходите к следующему шагу.
  3. Загружаемся с загрузочного носителя, выбираем русский язык из списка, далее выбираем Установить Ubuntu Server :

  4. На следующем этапе выберите своё месторасположение, определите раскладку клавиатуры и клавиатурное сочетание для переключения между раскладками (можно всё оставить по умолчанию).








  5. Следующий этап — настройка сети. Введите имя сервера, после чего произойдет попытка автоматической настройки сети по DHCP. Для сервера чаще всего требуется статический IP-адрес в локальной сети, эту настройку мы произведем позднее, после завершения установки.
  6. Введите имя и пароль вашей учетной записи (пароль желательно более 8 символов, но можно и меньше, Ubuntu это допускает, просто лишний раз об этом переспросит). По желанию далее вы можете зашифровать свой домашний каталог (по умолчанию — нет).




  7. Дело дошло до ответственного этапа — разметки диска. Разумеется, если вы экспериментируете в виртуальной среде, то бояться вам нечего — оставляйте все настройки по умолчанию (Авто — использовать вест диск). Но если вы устанавливаете Ubuntu Server на физичеческое железо с несколькими дисками с нужными данными — будьте аккуратны! Чтобы потом не рвать на себе волосы, во избежание путаницы, советую перед установкой физически отключить «лишние» носители.




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


  9. Теперь выберем из списка необходимое программное обеспечение, которое будет установлено вместе с системой. Всё из указанного без проблем можно установить позднее, я рекомендую отметить только чекбоксы standard system utilities и OpenSSH server (для удаленного управления сервером по SSH сразу после установки системы).

  10. Список пакетов, входящих в standard system utilities в Ubuntu Server 16.04

    manpages
    dnsutils
    bsdmainutils
    psmisc
    python3-gdbm
    ufw
    dosfstools
    ed
    telnet
    powermgmt-base
    ntfs-3g
    ubuntu-release-upgrader-core
    iputils-tracepath
    python3-update-manager
    groff-base
    python3-distupgrade
    bind9-host
    mtr-tiny
    bash-completion
    mlocate
    tcpdump
    geoip-database
    install-info
    irqbalance
    language-selector-common
    friendly-recovery
    command-not-found
    info
    hdparm
    man-db
    lshw
    update-manager-core
    apt-transport-https
    accountsservice
    command-not-found-data
    python3-commandnotfound
    time
    ltrace
    parted
    popularity-contest
    strace
    ftp
    ubuntu-standard
    lsof

  11. Пришло время установки главного загрузчика — GRUB. Если носитель в системе на данный момент один — смело продолжайте установку со значениями по умолчанию. Если же носителей два и более (установочная флешка тоже считается!) — то будьте внимательны и устанавливайте GRUB на нужный диск (туда же, куда и саму систему), иначе потом не сможете загрузиться! Ориентироваться между дисками (к примеру, между HHD и USB-flash) зачастую проще всего по размеру.
  12. Установка завершена, вытаскивайте флешку и перезагружайтесь. Если все прошло хорошо, то после перезагрузки вас встретит черный экран с приглашением ввести имя и пароль учетной записи (указанные вами при установке).

  13. Перво-наперво настроим сетевой адаптер, чтобы иметь доступ в Интернет и/или к локальной сети. Если в момент установки системы сетевой кабель был подключен, то скорее всего, сеть уже настроена по DHCP . Если же в вашей локальной сети нет DHCP, либо вам нужен статический IP-адрес, Выполните в терминале:

    sudo nano /etc/network/interfaces

    Введите пароль вашей учетной записи для sudo, и для редактирования откроется текстовый файл с настройками сети. Найдите в тексте секцию # The primary network interface , в этой секции будет строчка iface eth0 inet dhcp (eth0 — наименование сетевого интерфейса, если вы работаете в виртуалке, он может называться по-другому, к примеру у меня в VirtualBox он называется enp0s3), которая указывает на то, что в настоящий момент сеть настроена на прием настроек автоматически по DHCP. Заменяем в указанной строчке «dhcp» на «static» и дописываем снизу еще 4 строчки со статическими настройками сетевого интерфейса, в итоге секция у вас должна выглядеть примерно так:

    # The primary network interface
    auto eth0
    iface eth0 inet static
    address 192.168.1.101 //здесь указываем нужный вам IP-адрес сервера
    mask 255.255.255.0
    gateway 192.168.1.1 //IP-адрес вашего интернет-шлюза (роутера)
    dns-nameservers xx.xx.xx.xx xx.xx.xx.xx //IP-адреса ваших DNS-серверов, разделенные пробелом

    После окончания редактирования нажимаем Ctrl+O и Enter для сохранения, затем выходим из текстового редактора (Ctrl+X ). Перезагрузим сетевой интерфейс, выполнив в терминале:

    sudo ifdown eth0 && sudo ifup eth0

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

    Если в ответ пошли строчки с ответами вроде этой:

    64 bytes from www.yandex.ru (213.180.204.3): icmp_seq=36 ttl=53 time=43.0 ms

    Значит, все в порядке. Останавливаем пинг (Ctrl+C ) и переходим к последнему этапу первоначальной настройки.

  14. Заключительным этапом установки и первоначальной настройки Ubuntu Server 16.04 будет обновление всех пакетов в системе. Выполните в терминале:

    sudo apt-get update && sudo apt-get upgrade

    Введите пароль вашей учетной записи для sudo (если попросит), и согласитесь (Y) на установку обновлений из Интернета.<.li>

На этом всё. Ubuntu Server 16.04 успешно установлен и готов к работе, правда, он еще не выполняет никаких функций — веб-сервера, почтового сервера, сервера FTP, файлообменного сервера etc. Установку и настройку этих служб и сервисов я детально рассмотрю в отдельных статьях.



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

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

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