Установка и настройка Ubuntu Server. Установка и первичная настройка Ubuntu-сервера — проверенный порядок действий

  • 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 16.04 LTS, необходимо сделать несколько простых шагов для первоначальной настройки. Это сделает дальнейшую работу на сервере более удобной, а так же сделает сервер более безопасным.

Подключение от имени root
Первым делом, вам нужно подключиться к серверу по SSH от имени root.
Откройте терминал и выполните команду:

$ ssh root@server_ip

При успешном подключении вы увидите приветствие и краткие сведения о системе.

Создание пользователя
Так как постоянное использование учетной записи root не безопасно, то следующее, что вам нужно будет сделать – добавить нового пользователя и дать ему root привилегии.
Создадите нового пользователя. В данном примере создается пользователь с именем joe. Можете заменить его на любое другое.

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

# adduser joe sudo

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

Генерация SSH ключа
На данном этапе вам нужно будет сгенерировать SSH ключ. Ключ состоит из 2 файлов: приватный, который находится на вашей машине и публичный, который будет нужно загрузить на сервер.
Если SSH ключа у вас нет – вам необходимо его сгенерировать. В ином случае – пропустите этот шаг и переходите к следующему.
И так, вам необходимо сгенерировать SSH ключ. Для этого выполните следующую команду (заменив [email protected] на ваш email):

$ ssh-keygen -t rsa -b 4096 -C "[email protected]"

Далее вас попросят указать путь для сохрания ключа. Тут можно просто нажать Enter (будет выбран путь по умолчанию).
Затем придумайте пароль для вашего ключа. Введите его и на этом создание SSH ключа закончено.

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

Вариант 1: Используя ssh-copy-id
На локальной машине выполните следующую команду:

$ ssh-copy-id joe@server_ip

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

Вариант 2: Вручную
1. Создадите в корне вашего пользователя каталог.ssh и задайте необходимые права.

$ mkdir ~/.ssh
$ chmod go-rx ~/.ssh

2. Внутри каталога.ssh создайте файл authorized_keys . Например, используя редактор nano:

$ nano ~/.ssh/authorized_keys

Вставьте в него содержимое публичного ключа.
Нажмите CTRL-x для того, чтобы выйти из редактора, затем y , чтобы сохранить изменения, затем ENTER для подтверждения.
Далее установите необходимы права на файл, чтобы доступ к файлу с ключами был только у его владельца. Для этого выполните следующую команду:

$ chmod go-r ~/.ssh/authorized_keys

Теперь вы можете подключаться к серверу, используя SSH ключ.

Настройка SSH сервера
На данном этапе необходимо выполнить несколько изменений в конфигурации SSH сервера, которые сделают его более безопасным.
Для этого откройте файл /etc/ssh/sshd_config:

$ sudo nano /etc/ssh/sshd_config

1. Изменение стандартного порта.
Первым делом, измените стандартный порт. Чтобы боты не пытались подключиться к вашему серверу и не засоряли тем самым лог.
Для этого измените значение Port на что-нибудь нестандартное, например:

2. Запрещение удаленного доступа для root.
Так как для работы на сервере вы будете использовать учетную запись обычного пользователя, то подключаться к серверу через SSH от имени root необходимости нет.
Выставите значение для PermitRootLogin в no .

PermitRootLogin no

3. Отключение парольной аутентификации.
Так как при использовании SSH ключей у вас нет необходимости в аутентификации по паролям – отключите ее.
Выставите значения для PasswordAuthentication в no .

PasswordAuthentication no

Так же убедитесь в том, что ваш сервер использует 2 версию протокола.

После всех изменений сохраните файл и перезагрузите настройки SSH сервера, чтобы изменения вступили в силу.

$ sudo systemctl reload ssh.service

Если все сделано верно, то при попытке подключиться на стандартный порт 22 вы увидите следующую ошибку:

ssh: connect to host server_ip port 22: Connection refused

А при попытке подключится от имени root (уже на новый порт):

Permission denied (publickey).

Чтобы подключаться к серверу, используя нестандартный порт – укажите номер порта в параметре -p.

$ ssh joe@server_ip -p 2222

Настройка Firewall
UFW (Uncomplicated Firewall) – простой файрволл, который представляет из себя утилиту для более удобного управления iptables.
Если в вашей системе его нет, то установите его командой:

$ sudo apt install ufw

Для начала проверьте статус файрволла:

$ sudo ufw status

Статус должен быть inactive .

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

Настройте правила таким образом, чтобы по умолчанию были запрещены все входящие запросы. Для этого выполните:

$ sudo ufw default deny incoming

А так же разрешите все исходящие:

$ sudo ufw default allow outgoing

Добавьте новое правило, чтобы были разрешены входящие запросы на SSH порт (в нашем случае 2222).

$ sudo ufw enable

Проверить статус файрволла и его правил можно командой:

$ sudo ufw status

Для более подробной информации нужно использовать команду:

$ sudo ufw status verbose

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

Сервер на основе 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. Как это сделать я покажу в следующих статьях.

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

___________________________

Это руководство о том, как подготовить сервер 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 server 14.04.1 LTS и настроить к нему удаленный доступ. Думаю никто со мной не поспорит, что Ubuntu является самым широко распространенным дистрибутивом ubuntu, созданным для людей (а не для бородатых админов). Стоит отметить, что ubuntu развивается и с каждым годом становится все лучше. Именно поэтому этот дистрибутив выбирают как для домашнего использования на обычных компьютерах, так и для использования на серверах крупных компаний.

Сам я начал знакомство с ubuntu еще с версии 7.10. Когда я начал разбираться со всеми тонкостями linux операционной системы, я открыл для себя новый мир с широкими возможностями. Глубоко уверен, что как только на маркетинг linux операционных систем будут тратить больше денег, тогда они стремительнее начнут входить в дома обычных пользователей.

Уже давно прошли те времена, когда установка операционной системы linux сопровождалась работой в терминале и чтением мануалов. Уже сегодня установка ubuntu проходит не сложнее чем установка windows 7, а после установки ей можно пользоваться полноценно, без установки дополнительного софта и драйверов.

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

Скачиваем ubuntu server 14.04.1 LTS

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

Чтобы вам долго не искать, скачать образ диска вы можете по кнопке:

Установку ubuntu server я буду проводить на виртуальной машине, вы можете повторить мой опыт, либо сразу установить на физический компьютер. Установка на виртуальную машину и на физический компьютер – идентична.

Установка ubuntu server 14.04.1 LTS

Для установки ubuntu server я подготовил со следующими параметрами:

  • ОЗУ : 256 Mb
  • Процессор : 1 ядро 64 bit
  • Винчестер : sata 10 Gb
  • Память видео : 12 Mb
  • Сетевые адаптеры : 1 – смотрит в мир. 2 – смотрит в сеть

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

После подключения образа диска к виртуальной машине, запускаем её и если все нормально, вы должны увидеть окно выбора языка установки
Выбираем Русский язык и жмем “Enter”. В открывшемся списке выбираем “Установить Ubuntu Server”
В следующем окне выбираем свое местонахождение. Я выбираю “Российская Федерация”
После, установщик предложит настроить клавиатуру или выбрать из списка. Жмем “Нет” для выбора из списка
Выбираем страну для которой предназначена клавиатура
Выбираем расскладку. Я выбрал просто “Русская”
В следующем окне вам будет предложено настроить переключение раскладок. Выбирайте на свое усмотрение, я выбрал Alt+Shift так как уже привык именно к этой комбинации
Теперь ждем минуту пока загрузятся дополнительные компоненты. После загрузки компонентов у вас появиться окно выбора основного сетевого интерфейса. Я выберу eth0 основным, именно эта сетевая карта будет смотреть в мир и через неё будет подключение к интернету сервера
В следующем окне будет предложено выбрать имя компьютера. Я свой сервер назвал “srv-01”
дальше вам нужно ввести имя пользователя. Не путайте с логином, именно имя. Я ввел Ivan Malyshev
а вот в следующем окне, укажите имя пользователя (логин) с помощью которого будет осуществляться вход в систему. Я указал srvadmin
после ввода логина, придумайте и укажите пароль (желательно использовать пароль содержащий строчные и прописные буквы, а также цифры и символы). После ввода пароля, в следующем окне его нужно будет повторить, для избежания ошибок
Дальше будет предложено зашифровать домашний каталог. Я не буду хранить в нем ничего криминального или секретного, так что шифровать не буду
Далее нужно выбрать “часовую зону”. Так как виртуальная машина получает интернет через eth0, установщик сам определил где я нахожусь, я нажму “Да”, так как он правильно выбрал. Если у вас этого не произошло или была неправильно выбрана часовая зона, выбирайте вручную
Дальше нужно выбрать куда будет установлена система. Многих этот этап вводит в ступор, но не нужно бояться, все просто!
Так как я устанавливаю ubuntu server в целях обучения, я выберу второй пункт “Авто использовать весь диск”, но если вы устанавливаете систему на реальный жесткий диск, советую устанавливать каталоги /usr, /var, /home на разные логические диски
Выбираем диск (так он у меня один, выбор небольшой), у вас может быть несколько, в том случае если к компьютеру подключено несколько жестких дисков. В следующем окне нужно согласиться на предупреждение о записи информации о разделах, жмем “Да”
далее подтверждаем использование всего диска
В следующем окне установщик покажет как он разобьет диск, соглашаемся выбрав “Закончить разметку и записать изменения на диск”
В следующем окне еще раз подтверждаем свои действия (чем то windows напоминает, не правда?)
И теперь ждем пока будет закончена установка Ubuntu Server 14.04.1 LTS.

Если во время установки к сети виртуальной машины был подключен интернет, система попытается установить обновления, но перед этим спросит есть ли у вас прокси, если у вас нет прокси, а интернет идет напрямую, жмите “Продолжить”
На вопрос об установке регулярных обновлений, я выбрал “Без автоматического обновления”. Не люблю когда ставиться что то без моего ведома. Все что нужно будет, можно будет обновить вручную
В окне “выбора програмного обеспечения” я установил галку только на “OpenSSH Server” именно через него мы и будет получать удаленный доступ к серверу. Все остальное будем ставить позже, вручную
В самом конце установки сервера, вам нужно согласиться с установкой загрузчика в главную загрузочную запись
После установки загрузчика вы увидите сообщение об успешной установке системы
Жмем “Продолжить” и ждем пока перезагрузится машина. После первой загрузки, вы должны увидеть предложение ввода логина, вводим логин указанный при установке, после вводим пароль
Если вы ввели правильные логин и пароль вы попадете в систему и увидите такой экран
На этом установку ubuntu server 14.04.1 LTS можно считать завершенной.

Первоначальная настройка ubuntu server 14.04.1 LTS

В первую очередь активируем учетную запись root. По умолчанию она отключена. Для активации пишем в консоли

Sudo passwd root

Сначала вводим пароль текущего пользователя, а потом два раза новый пароль для root. Если все сделали правильно увидите следующую картину
Теперь проверяем. Введите в терминале:

* Эта команда осуществит вход пользователя root в систему

на просьбу ввести пароль, вводим пароль который вы ввели для root. Если все сделали правильно, приглашение консоли смениться с srvadmin@srv-01:$ _ на root@srv-01:~# _

Nano /etc/network/interfaces

откроется файл interfaces в текстовом редакторе nano. По умолчанию этот файл имеет такой вид
вносим в этот файл такие строки:

Auto eth0 iface eth0 inet static address 10.10.60.45 netmask 255.255.255.0 gateway 10.10.60.1 auto eth1 iface eth1 inet static address 192.168.0.1 netmask 255.255.255.0

Тем самым мы подключаем автоматически оба интерфейса, со статическим адресом, масками и шлюзом для первой карты. В терминале это должно выглядеть так:
После внесения данных жмем Ctrl+O (Сохранить), а затем Ctrl+X (Закрыть).

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

(ifdown eth0; ifup eth0)& (ifdown eth1; ifup eth1)&

Теперь проверяем что у нас выводит ifconfig . У меня вывод выглядит так, у вас должно быть так же
Отлично! давайте пропингуем ya.ru, введите в терминале

Ping ya.ru

Если видите обмен с пакетами, значит все отлично! У вас есть интернет!

В моем случае не все пошло так как хотелось. При пинге яндекса я получил такой вот ответ

ping: unknown host ya.ru

хотя ip адрес 8.8.8.8 (DNS Google) пингуется. Следовательно проблема с DNS на нашем сервере, а именно он не может обрабатывать имена.

Решение проблемы нашел добавлением адреса DNS гугла в файл /etc/resolvconf/resolv.conf.d/tail .

Открываем файл sudo nano /etc/resolvconf/resolv.conf.d/tail и вписываем туда строку

Nameserver 8.8.8.8

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

Удаленное подключение к ubuntu server 14.04.1 LTS

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

Программа после скачивания не требует установки. После запуска программы вы увидите такое окно
Все что вам нужно сделать: ввести ip адрес сервера, указать порт, ввести имя подключения и выбрать кодировку (показано на скриншотах)

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

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

Вот на этом я думаю можно закончить статью, думаю после прочтения и вы сможете установить ubuntu server 14.04.1 LTS. Как видите ничего сложного нет. Если у вас во время чтения статьи возникли вопросы или предложения, добро пожаловать в комментарии. Так же хочу обратить внимание что управление сервером можно осуществлять .