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

Сегодня расскажу как установить 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. Как видите ничего сложного нет. Если у вас во время чтения статьи возникли вопросы или предложения, добро пожаловать в комментарии. Так же хочу обратить внимание что управление сервером можно осуществлять .

Хотя 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. Установку и настройку этих служб и сервисов я детально рассмотрю в отдельных статьях.

  • 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 14.04 Server и выполнили первоначальную настройку системы. В данной статье я расскажу: как создать удаленное подключение к серверу, установить и настроить торрент-клиент и видео-сервер, подключить сетевые диски и возможно кое-что еще. Как говорилось ранее, возможности операционной системы Ubuntu ограничены только вышей фантазией. Наверное, основным преимуществом Linux подобных операционных систем является доступность, данные ОС и весь основной софт распространяются бесплатно.

Ну перейдем от слов к делу.

Настройка удаленного доступа

Управление сервером осуществляется удаленно, для этого необходимо установить дополнительный софт. При инсталляции ОС Ubuntu Server вы должны были отметить для установки Open SSH. Если вы по каким-то причинам этого не сделали, то установим сейчас. Для проверки наличия и версии SSH сервера набираем:

Версия должна быть не ниже 5.6. Если SSH сервер не установлен или его версия ниже, чем нам нужно, то вводим следующую команду:

Нужно будет ввести пароль суперпользователя и подтвердить установку пакетов. Теперь необходимо перезапустить SSH сервер:

На данном этапе все манипуляции на сервере закончены, теперь все будем делать удаленно. Для дистанционного управления я использую программу PuTTY . Скачиваем и открываем данную программу. Указываем IP-адрес и порт нашего сервера. Порт по-умолчанию 22. Вы можете сохранить текущую конфигурацию, для последующего входа. Для этого введите название сессии и нажмите на кнопку Save.

После того, как ввели IP-адрес и порт нажимаем на кнопку Open. Откроется окно текущей сессии. В новом окне вводим имя пользователя и пароль.

Для удобной работы с файлами установим консольный файловый менеджер Midnight Commander . Для этого в терминале PuTTY вводим:

И запускаем командой:

В принципе для управления сервером терминала PuTTY достаточно, но я дополнительно устанавливаю . Webmin - это программный комплекс, позволяющий администрировать операционную систему через веб-интерфейс, в большинстве случаев, позволяя обойтись без использования командной строки и запоминания системных команд и их параметров. Используя любой браузер, администратор сервера может создавать новые учётные записи пользователей, почтовые ящики, изменять настройки служб и сервисов, например: веб-сервера Apache, DNS. Однако, в некоторых случаях необходимо знание операционной системы и редактирование конфигурационных файлов вручную.

Скачиваем пакет:

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.760_all.deb

И инициализируем установку пакета:

sudo dpkg --install webmin_1.760_all.deb

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

sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python

Теперь открываем браузер и в адресной строке вводим: https://192.168.1.100:10000/. В открывшемся окне пишем свое имя пользователя и пароль. Изначально открывается страница с информацией о системе.

Webmin штука весьма мощная, отдельные ее аспекты я буду рассматривать при решении той или иной конкретной задачи. Есть русский язык, правда перевод немного корявый. Удаленное управление настроено, идем дальше.

Настройка Samba

Samba - пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS. По-простому говоря, при помощи samba мы сможем подключать диски, установленные на сервере, в качестве сетевых дисков к локальному компьютеру или какому-нибудь другому устройству, которые поддерживают протокол SMB/CIFS. Это могут быть смартфоны или планшеты. Если при инсталляции ОС вы не выбрали Samba file server для установки, то сделаем это сейчас:

sudo apt - get install samba

Теперь необходимо перезапустить службу samba:

sudo restart smbd && sudo restart nmbd

Проверяем статус выполнения запуска:

Должно быть:

* nmbd is running * smbd is running

Настраивать Samba будет при помощи Webmin. В разделе Servers выбираем Samba Windows File Sharing. Если после установки у вам не появился данный пункт, то обновите модули Webmin.

Конвертируем пользователей ОС в пользователи Samba. Для этого в разделе Samba Users нажимаем на кнопку Convert Users. В открывшемся окне выбираем

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

Торрент-клиент

В качестве торрент-клиента будем использовать классический transmission-daemon. Для начала устанавливаем его:

sudo apt-get install transmission-daemon

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

sudo service transmission-daemon stop

Открываем файл конфигурации:

sudo nano /etc/transmission-daemon/settings.json

Теперь вносим необходимые изменения. Ищем нужный параметр и приводим к нужному нам значению. Отключаем аутентификацию, чтобы не вводить пароль:

"rpc-authentication-required": false,

Разрешаем удаленное управление торрент-клиентом:

Добавляем нашу подсеть в белый список и включаем его:

"rpc-whitelist": "127.0.0.1, 192.168.1.*", "rpc-whitelist-enabled": true

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

"download-dir": "/home/storage/Downloads", "incomplete-dir": "/home/storage/Downloads/Incomplete", "incomplete-dir-enabled": true

Включаем автоматический форвардинг портов с использованием UPnP или NAT-PMP:

"port-forwarding-enabled": true,

Сохраняем Ctrl-O и закрываем Ctrl-X файл. Запускаем сервис:

sudo service transmission-daemon start

Все, торрент-клиент настроен. Теперь открываем браузер и проверяем соединение. Для этого нужно ввести адрес нашего сервера с портом 9091.

Для удобства можно поставить утилиту управления transmission-remote-gui .

Для удаления trasmission-daemon лучше использовать команду aptitude purge, которая удаляет пакеты программ с принадлежащими ей настройками:

sudo aptitude purge trasmission-daemon

Медиа-сервер

В качестве медиа-сервера я использую довольно мощный инструмент под названием Plex Media Server . Plex умеет все: раздавать медиа-контент посредством DLNA, множество клиентов под различные платформы, поддержка смарт-телевизоров и многое другое. Вы можете настроить медиа-сервер на локальном сервере и смотреть фильмы по интернету в другой части света. Для начала устанавливаем зависимое программное обеспечение:

sudo apt-get install avahi-utils
wget https://downloads.plex.tv/plex-media-server/0.9.12.4.1192-9a47d21/plexmediaserver_0.9.12.4.1192-9a47d21_amd64.deb sudo dpkg -i plexmediaserver_*_amd64.deb

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

Соглашаемся с лицензионным соглашением и переходим к настройкам, нажимаем в правом верхнем углу на иконку настроек. Если вы планируете смотреть фильмы или слушать музыку извне, но необходимо зарегистрироваться или войти под своим именем в разделе Сервер. После необходимо убедиться, что открыт внешний доступ. Во вкладке Remote Access должна быть зеленая галочка. Если ее нет, необходимо настроить роутер на открытие портов. Сразу выставим галочки для автоматического обновления медиа контента во вкладке Библиотека. Можно задать интервал времени автоматического обновления. Во вкладке Языки выбираем предпочтительный язык для звуковых дорожек и субтитров. После внесения изменений не забываем их сохранить.

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

Для создания библиотеки фильмов необходимо скачать и установить агента Plex для Кинопоиска. Скачиваем:

wget http://sourceforge.net/projects/russianplex/files/KinoPoiskRu/KinoPoiskRu.bundle-1.6.tar.gz/download --output-document=Kinopoisk.tar.gz

Распаковываем:

И переносим в нужный нам каталог:

sudo mv KinoPoiskRu.bundle /var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Plug-ins/

Изменим пользователя и группу для каталога плагина:

sudo chown -R plex:plex /var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Plug-ins/KinoPoiskRu.bundle

Все. Теперь нам нужно перегрузить сервис:

sudo service plexmediaserver restart

Теперь в Настройках — Сервер — Агенты должен появиться наш плагин Кинопоиска.

Возвращаемся в главное окно и подключаем библиотеку фильмов. Не забываем указать русский язык, путь к папке с фильмами и во вкладке Дополнительно выбрать Агента KinoPoiskRu. Библиотека фильмов создана. После сканирования все ваши фильмы с русским описанием будут доступны в медиа-сервере. Теперь необходимо установить клиенты Plex на ваши устройства или смотреть онлайн через браузер. По желанию можно создать библиотеки музыки и фотографий. Добавление библиотек стандартное.

Вот как-то так. Возможно что-то было упущено или не досказано. По мере освоения Ubuntu Server буду добавлять в данную статью новые возможности. Успехов в освоении Ubuntu Server.

Поднять веб-сервер Apache с php и MySQL на Ubuntu проще простого. Можно поставить LAMP. Первый вариант в подробном описании не нуждается, а вот про второй я сейчас напишу. Установка пройдет в несколько этапов. Для начала нам нужно зарегистрировать домен у какого-нибудь регистратора доменных имен, например www.sweb.ru Я им пользуюсь уже больше 5 лет. Рассмотрим перенос на собственный сервер вымышленного домена www.mysite.ru Я делал все на живой машине, а не на виртуальном сервере, поэтому для переноса на свой сервер у вас должен быть хотя бы один выделенный внешний ip.

Не забудте прописать в админке вашего хостера dns для вашего домена в виде внешнего ip, прикреплённого к вашему серверу.

Устанавливаем Ubuntu Server 10.04.3 , именно на ней я и создавал web server. Я знаю, есть много других дистрибутивов, но мне по душе ubuntu. Особое внимание при установке обратите на настройку сети (DHCP ), её лучше настраивать вручную. Также на последнем этапе когда вас попросят выделить из списка пакеты (почтовый сервер, lamp, ssh, java… прочее) выберите только ssh, остальное вам не нужно.

Во время установки сервера, если вдруг что-то пошло не так при установке какого либо пакета, его можно удалить. Для этого надо в консоли написать:

apt-get purge "тут название пакета для удаления"

Устанавливаем Apache

sudo apt-get install apache2

Если все прошло без ошибок, сервер сразу загрузится и будет в рабочем состоянии. У меня сеть с внутренними ip и с привязанными к ним провайдером внешними ip. Поэтому набрав на другом компьютере внешний ip мы попадаем на страницу с текстом «It works!» , значит все получилось. Файлы хоста находятся в папке /var/www , нам это ни к чему. По крайней мере я решил что все данные лучше хранить в папке /home . Поэтому в дальнейшем перенесем наши папки доменов в раздел home .

Для управления сервером Apache мы можем воспользоваться утилитой apache2ctl . Например, можно просмотреть текущий статус сервера Apache, выполнив команду:

apache2ctl status - состояние сервера
sudo apache2ctl stop - остановить
sudo apache2ctl start - запустить
sudo apache2ctl restart - перезапустить

Есть и другие команды для этих же целей:

sudo /etc/init.d/apache2 status - состояние сервера
sudo /etc/init.d/apache2 stop - остановить
sudo /etc/init.d/apache2 start - запустить
sudo /etc/init.d/apache2 restart - перезапустить

Установка PHP

Сразу установим библиотеки для работы с мускулом и библиотеки для работы с графикой:

sudo apt-get install php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql imagemagick

некоторые мануалы пишут еще об одном пакете: php-image-graph но у меня он не установился, написал что не доступен, поэтому я не стал разбираться почему, заработало и так. :)

Чтобы Apache подхватил только что установленный PHP перезагрузим его командой:

sudo apache2ctl restart или sudo /etc/init.d/apache2 restart

Установка MySQL

sudo apt-get install mysql-server

Во время установки MySQL, появится окошко, в которое нужно ввести пароль. По умолчанию MySQL создает административного пользователя с именем root. В это окошко нужно вписать пароль для этого пользователя и нажать Enter, затем повторно ввести пароль. Не забудьте записать пароль.

Если хотите поменять пароль на Mysql, это я к тому, что если вы ставили русскую версию ubuntu то иногда непонятно на каком языке вы вводите, то заменить можно так:

mysql -uroot –p

SET PASSWORD FOR root@localhost=PASSWORD("123456789");

вводим quit

Вообще все перезагружается автоматом, но если вдруг, то перезагружаем:

Mysql /etc/init.d/mysql restart

пробуем зайти под новым паролем.

Установка PhpMyAdmin

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

sudo apt-get install phpmyadmin

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

Панель управления phpMyAdmin будет доступна по адресу http://ваш_ip/phpmyadmin. В качестве имени пользователя введите root, а пароль тот, который вы указали для пользователя root при установке MySQL.

Для ограничения доступа к PhpMyAdmin вам надо выполнить несколько действий. Во-первых давайте скроем доступ к управлению базами данных через http://ваш_ip/phpmyadmin Отредактируем файл /etc/apache2/conf.d/phpmyadmin.conf в котором надо:

1. Изменить Alias /phpmyadmin на что нибудь своё, например Alias /skdjfhefjdv что не позволит злоумышленнику, если ваш сайт имеет выход в интернет, получить доступ к phpmyadmin из вне и натворить там не весть что.

2. В корневую дирректорию phpmyadmin которая находиться в /usr/share/phpmyadmin/ надо положить файл.htaccess со следующими данными:

deny from all
allow from ваш_IP

Теперь в phpMyadmin можно будет заходить с определённого ip.

Теперь создадим свой сайт www.mysite.ru . Создадим директорию для всех ваших сайтов, а заодно и для www.mysite.ru :

mkdir -p ~/www/mysite.ru/public_html

Данной командой мы создали общую www и в ней папку домена с папкой для файлов сайта, в директории /home .

Теперь сообщим апачу о новом сайте. Создаём файл:

sudo nano /etc/apache2/sites-available/mysite.ru

И вписываем туда следующие строки:


ServerName mysite.ru
ServerAdmin webmaster@localhost

DocumentRoot /home/username/www/mysite.ru/public_html

Options FollowSymLinks
AllowOverride None


Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

ErrorLog /var/log/apache2/error.log

CustomLog /var/log/apache2/access.log combined

Сохраняем файл. Теперь нужно сообщить апачу, что сайт нужно обслуживать. Пишем в терминал:

sudo a2ensite mysite.ru

А затем перезагрузим его:

sudo /etc/init.d/apache2 reload

Теперь нам нужно, что бы при вводе в браузере адреса mysite.ru открывался наш локальный сайт, а не с интернета. Поэтому открываем файл hosts.