Файловый сервер на ubuntu для windows сетей. Поднимаем файловый сервер на Samba под CentOS

В этой статье мы расскажем как установить и настроить файловое хранилище на операционной системе Linux, а точнее будет использована серверная Ubuntu 16.04 LTS. Аналогичным образом настраивается большинство deb-based дистрибутивов.

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

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

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

И так, начнем…

Выбор оборудования

Как я уже написал, оборудование нам подойдет практически любое, но все же кое-какие пожелания у нас есть. Поскольку сервер будет файловый, то и пожелания наши будут касаться дисковой системы. Было бы неплохо найти машину с RAID контроллером на борту. Если мы делаем сервер для размещения рабочей файловой базы, было бы неплохо разместить ее на RAID-5, если хранилище резервных копий, отличным вариантом будет RAID-1.

При этом у нас нет особых требований к оперативной памяти, хватит и 1 Гбайта. К процессору тоже нет особых требований, Linux будет работать на всем, что еще живо.

Пожалуй, самый оптимальный вариант - приобрести восстановленный сервер «с пробегом». Берите самый дешевый, какой найдете, главное, что бы перед этим он прошел профилактику, его очистили от пыли и прогнали все системные тесты.

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

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

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

Сначала определимся с архитектурой сервера. Если Вам известна марка процессора, установленного в сервер, ознакомившись с его спецификацией Вы узнаете, совместим ли он с архитектурой x86-64 (64 бит) или только i386 (32 бит). Косвенный признак - размер оперативной памяти, 32-битная архитектура не может работать с оперативной памятью объемом более 3 Гбайт, иногда в эту архитектуру устанавливали 4 Гбайт памяти, но в системе было видно только 3 Гбайт.

Свяжитесь с Отцом Ботов , отправьте ему сначала команду /start , затем /newbot . Далее отвечайте на вопросы Отца Ботов, в итоге Вы получите от него токен и ссылку на Вашего бота.

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

$ nano backtracker.conf

и настраиваем

Token = # Тут нужно указать токен telegram-бота, полученный от Отца Ботов failonly = # False если хотите получать сообщения о наличии новых файлов или True если только об их отсутствии path = # Укажите путь к сканируемым папкам hours = # Укажите "свежесть" файлов в часах, например 8

Запускайте утилиту

$ ./backtracker.ry

Первый запуск нужен для того, что бы автоматически определить ID абонента Telegram, который будет получать сообщения (это не номер его телефона). Подключайтесь к своему боту по ссылке, которую Вам дал Отец Ботов и отправляйте ему команду /start . В ответ Вы получите сообщение, что Ваш ID определен, а утилита самонастроится и закроется. Запустите ее повторно для выполнения сканирования.

После настройки и проверки работы утилиты, добавьте ее в расписание демона cron

$ crontab -e

Добавьте строчку

0 8 * * * ~/backtracker/backtracker.py

Проверка будет запускаться каждый день в 8 утра. Если ночью что-то пошло не так, Вы узнаете об этом.

Системные ресурсы

Мониторить ресурсы сервера можно консольной утилитой top или ее более красочной версией htop . Установим и запустим ее

$ sudo apt install htop $ htop

Периодически контролируйте использование оперативной памяти. Если часто наблюдается загруженность около 100%, настройте файл подкачки.

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 $ sudo chmod 600 /swapfile && sudo mkswap /swapfile $ sudo swapoff -a $ sudo swapon /swapfile $ echo "/swapfile swap swap defaults 0 0"| sudo tee -a /etc/fstab

Здесь count=1024 - размер файла подкачки в мегабайтах.

Дисковое пространство

Для мониторинга файловой системы удобно пользоваться файловым менеджером Midnight Commander. Если Вы застали времена MS DOS и Notron Commander, то объяснять ничего не нужно.

Устанавливаем и запускаем

$ sudo apt install mc $ mc

Так удобно наблюдать за файловым хранилищем, карантином, свободным дисковым пространством.

Привет Хабр!
После активности шифровальщика Petya 27.06.2017, я отключил SMB1 он же CIFS, и получил производственное оборудование и сетевые МФУ которые не умеют работать на «новых» версиях SMB протокола.

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

Под катом находится пошаговая инструкция по установке и настройке файлового сервера SAMBA на базе CentOS 7:

Анонимный доступ
- Аутентификация и авторизация
- Интеграция с Active Directory

Установка CentOS 7

Сервера работают под управлением VMware ESXi, и по этому я установил CentOS 7 1611 на VM, выделив 1 CPU, 1GB RAM и 3GB HDD.

LVM я не использую, SWAP раздел не создаю, на загрузочный раздел выделяю 500MB, а все остальное отдаю под корень файловой системы. В качестве файловой системы использую ext4.

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

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

Cp /etc/somefile.conf /etc/somefile.conf.bak

Получение ip адреса по DHCP

Если по какой-то причине в сети нету DHCP сервера, вам стоит его поднять. Работать с большим количеством VM без DHCP не удобно.

Для принудительного обновления или получения ip адреса выполните команду

Dhclient
Показать ip адрес
ifconfig или nmcli device show

YUM

CentOS 7 использует пакетный менеджер YUM. Шпаргалка по yum находится .

Если выход в интернет организован через прокси сервер, добавьте адрес прокси в файл конфигурации /etc/yum.conf , используйте редактор vi или следующую команду

Echo proxy=http://your.proxy:8888 >> /etc/yum.conf
В случае использования логина и пароля для доступа к прокси серверу, добавьте следующие параметры:

proxy_username=yum-user
proxy_password=qwerty

Установка на VM агентов для взаимодействия с хост сервером

Для VMware ESXi необходимо установить open-vm-tools

Yum install open-vm-tools
Для Hyper-V, hyperv-daemons

Yum install hyperv-daemons

Установка обновлений

Очень важно установить все доступные обновления

Yum update

Midnight Commander

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

Yum install mc

Настройка сети

Для настройки статического ip адреса и имени хоста можно использовать утилиту nmtui

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

Nmcli device status
Статический ip и gateway задается следующей командой, где «ens192» это имя сетевого адаптера

Nmcli connection modify “ens192” ipv4.addresses “192.168.1.100/24 192.168.1.1”

Настройка FQDN

Пусть полное имя хоста будет ls01.fqdn.com , выполняем команду

Hostnamectl set-hostname ls01.fqdn.com
Перезагружаем службу имен

Systemctl restart systemd-hostnamed
Проверить результат можно следующими командами

Hostnamectl status hostname hostname -s hostname -f

ipv6

Если протокол ipv6 не используется, логично его отключить, для этого нужно добавить два параметра в файл /etc/sysctl.conf , выполните следующие команды или используйте редактор mcedit

Echo net.ipv6.conf.all.disable_ipv6 = 1 >> /etc/sysctl.conf echo net.ipv6.conf.default.disable_ipv6 = 1 >> /etc/sysctl.conf
Перезагрузите службу сети

Service network restart

SELINUX

На данном этапе службу SELINUX необходимо отключить, проверить статус службы SELINUX можно командой

Sestatus
Измените значение SELINUX в файле /etc/selinux/config на SELINUX=disabled затем перезагрузите сервер.

Reboot
Вернусь к SELINUX в конце статьи.

SAMBA

Установка

Yum install samba
Добавление службы в автоматический запуск

Chkconfig smb on
Запуск службы и проверка состояния

Service smb start smbstatus

firewallD

По умолчанию CentOS 7 использует брандмауэр firewallD, состояние службы можно узнать командой

Firewall-cmd --state
Для получения списка правил и сервисов используйте

Firewall-cmd --list-all firewall-cmd --list-services

Обратите внимание на список сервисов, если вы отключили протокол ipv6, логично также поступить и с dhcpv6-client

Firewall-cmd -–permanent -–remove-service=dhcpv6-client
Создаем правило для SAMBA и перезагружаем

Firewall-cmd --permanent --add-service=samba firewall-cmd --reload

Общий ресурс с анонимным доступом

Создаем папку для ресурса /samba/guest

Mkdir /samba mkdir /samba/guest
Меняем владельца и назначаем права

Chown nobody:nobody /samba/guest chmod 777 /samba/guest
Редактируем файл конфигурации SAMBA /etc/samba/smb.conf

Mcedit /etc/samba/smb.conf
Меняем содержание оригинального файла на следующее


workgroup = WORKGROUP
security = user
map to guest = bad user
min protocol = NT1


path = /samba/guest
guest ok = Yes
writable = Yes

На всякий случай я указал минимальную версию протокола SMB=NT1 . Если вы укажите SMB2 или SMB3, клиенты с Windows XP и ниже не смогут получить доступ к ресурсам.

Testparm service smb restart smbstatus

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

Бантики

По умолчанию лог файлы находятся в папке /var/log/samba . При необходимости получить подробные логи, в раздел необходимо добавить параметр log level = 2 или 3. По умолчанию используется значение 1, значение 0 отключает ведение логов.
Как вы можете знаете, предоставление доступа к файлам это только часть функционала SAMBA. Если на сервере будут только файловые ресурсы, службу печати логично отключить. В разделе добавьте следующие параметры

load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes

Конфигурация SAMBA находиться в каталоге /etc/samba , а логи в каталоге /var/log/samba
Мне удобней все инструменты держать по рукой, по этому я монтирую необходимые мне каталоги в /samba

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

Mkdir /samba/smbconf mkdir /samba/smblogs
Редактируем конфиг файл /etc/fstab , я предполагаю что вы знаете за что отвечает fstab .

Mcedit /etc/fstab
Добавляем следующие строки

/etc/samba /samba/smbconf none bind 0 0
/var/log/samba /samba/smblogs none bind 0 0

Монтируем без перезагрузки
mount -a

Подключение диска

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

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

Lsblk
Создание таблицы разделов на диске /dev/sdb

Parted /dev/sdb mklabel msdos
или

Parted /dev/sdb mklabel gpt
Подробную информация про gpt можно прочитать

Создание раздела на весь диск sdb, в лучших традициях жанра я решил сделать отступ 1MiB в начале диска.

Parted /dev/sdb mkpart primary ext4 1MiB 100%
Создаем файловую систему ext4

Mkfs.ext4 /dev/sdb1
Редактируем fstab

Mcedit /etc/fstab
Добавляем еще одну строку

/dev/sdb1 /samba/guest ext4 defaults 0 0

Монтирование

Mount –a
Проверяем результат

Df -h
Назначение прав

Chmod 777 /samba/guest

Подключение образа диска

Если вам не нужны большие объемы, и достаточно ресурса размером ххх мб, можно подключить образ диска из файла.

Создаем каталог для хранения образов

Mkdir /samba/smbimg
Создаем файл образа размером 100 мб

Dd if=/dev/zero of=/samba/smbimg/100M.img bs=100 count=1M
Про команду dd много интересного можно прочитать

В варианте с образом я решил не создавать таблицу разделов, просто создаем файловую систему ext4.

Mkfs.ext4 /samba/smbimg/100M.img
Редактируем fstab

Mcedit /etc/fstab
Конфиг для монтирования образа

/samba/smbimg/100M.img /samba/guest ext4 defaults 0 0

Монтирование

Mount -a
Проверяем результат

Df -h
Назначение прав

Chmod 777 /samba/guest

Подключение RAM диска

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

Редактируем fstab

Mcedit /etc/fstab
Конфиг для RAM диска

none /samba/guest tmpfs defaults,size=100M 0 0

Монтирование

Mount -a
Проверяем результат

Удаление старых файлов

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

Просмотр заданий

Crontab –l
Редактирование заданий

Crontab –e
Пример конфига:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=“”
HOME=/

#удалять файлы и каталоги каждый час
* 0-23 * * * rm –R /samba/guest/*

#Удалить только файлы старше 1 дня, запуск команды каждые 10 минут
0-59/10 * * * * find /samba/guest/* -type f -mtime +1 -exec rm –f {} \;

#удалить файлы старше 50 минут, запуск команды каждые 10 минут
0-59/10 * * * * find /samba/guest/* -type f -mmin +50 -exec rm -f {} \;


Выход из vi

:wq
Логи службы crontab находятся в файле /var/log/cron

Ограничение доступа к SAMBA по ip адресам

Если вам нужно ограничить доступ ко всем ресурсам SAMBA, добавьте ваши списки доступа в разделе global, а если необходимо ограничить только на определенный ресурс, в разделе этого ресурса.

Пример:


hosts allow = 192.168.1.100, 192.168.1.101
hosts deny = ALL


hosts allow = 192.168.0.0/255.255.0.0
hosts deny = 10. except 10.1.1.1

Аутентификация и авторизация пользователей

Ограничение доступа по ip адресам не всегда удобно или возможно, тогда можно использовать логины и пароли.

Сначала необходимо создать локального пользователя в системе

Adduser user1
Если пользователь будет работать только с SAMBA ресурсами, задавать ему пароль для системы нет необходимости. Пароль для системы и для SAMBA хранятся в разных файлах и могут отличаться.

Затем необходимо добавить системного пользователя в пользователи самбы и задать ему пароль

Smbpasswd -a user1
По умолчанию для хранения паролей используется файл формата tdb, которые расположен в каталоге /var/lib/samba/private/

Изменить каталог расположения файла можно глобальным параметром passdb backend


passdb backend=tdbsam:/etc/samba/smbpassdb.tdb

tdb файлы были созданы для замены «устаревших» текстовых, если вы хотите использовать текстовые файлы, для этого используйте параметр passdb backend=smbpasswd в разделе global
passdb backend=smbpasswd:/etc/samba/smbpasswd

Затем укажите списки пользователей и групп для доступа к ресурсам


path = /samba/guest
writable = no
read list = user1, @group2
write list = user2, user3

Интеграция с Active Directory

Также есть возможность получать информацию о пользователей из LDAP, но мне этот вариант не интересен и я сразу перехожу к AD. Подробная инструкция от Microsoft находится .

Для AD очень важна синхронизация времени, по этому стоит начать с этого.

Установка соответствующей службы

Yum install ntp
Добавляем в конфиг файл /etc/ntp.conf сервера выполняющих роль домен контроллеров

Mcedit /etc/ntp.conf
Пример:

server 192.168.1.10
server 192.168.1.20
server someserver.contoso.com

Добавляем службу ntp в автоматический запуск

Chkconfig ntpd on
Запускаем службу

Service ntpd start
Проверяем синхронизацию времени

Ntpq –p

winbind

Для получения информации о пользователях из AD необходимо установить пакет samba-winbind

Yum install samba-winbind
Добавляем службу в автоматический запуск

Chkconfig winbind on
Запускаем службу

Service winbind start

Добавление хоста в AD

Напомню что в начале даной инструкции задали имя хоста ls01.fqdn.com . Будем считать что полное имя домена fqdn.com , а короткое пусть будет fqdn_com

Для внесения всех необходимых параметров в конфигурационные файлы можно воспользоваться утилитой authconfig-tui , установите флажок Use Winbind, затем перейдите на следующее окно

Выберите модель безопасности ADS и укажите имена вашего домена. В поле домен контролер укажите “*”, это необходимо для автоматического поиска доступного домен контроллера. Затем нажмите ОК и закройте утилиту.

Для добавления хоста в AD используйте команду net ads join –U %username% , пользователь должен обладать правами на создание учетной записи ПК в домене

Net ads join –U youruser

Если машина не добавляется в домен, добавьте FQDN имя хоста в файл /etc/hosts .
Я несколько раз все проверял, и в файл hosts я вносил изменения когда на этапе настройки сети задавал не полное имя хоста.

Для того чтобы вывести хост из домена используйте команду net ads leave –U %username%

Что делает утилита authconfig-tui?

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

/etc/krb5.conf


Default_realm = FQDN.COM


FQDN.COM = {
kdc = *
}


/etc/nsswitch.conf
passwd: files sss winbind
shadow: files sss winbind
group: files sss winbind

/etc/samba/smb.conf

workgroup = FQDN_COM
password server = *
realm = FQDN.COM
security = ads
idmap config *: range = 16777216-33554431
template shell = /sbin/nologin
kerberos method = secrets only
winbind use default domain = false
winbind pffline logon = false

Вы могли заметить что данная утилита вносит заметно меньше параметров чем написано в инструкции от Microsoft или других инструкциях, но если так работать – то почему бы и нет?

Из инструкции Microsoft я добавляю следующие параметры в конфиг


domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no

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

path = /samba/guest

force create mode = 777
directory mask = 777


path = /samba/guest
read list = "@fqdn_com\domain users"
write list = "@fqdn_com\domain users"
force create mode = 777
directory mask = 777


Перезапускаем службу samba

Service smb restart
Проверяем

Smbstatus
На скриншоте видно пользователя домена который находится в одной из общих папок

Список полезных ссылок.

Чтобы создать терминальный, файловый (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-хранилища, терминалы.

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

Samba является самым популярным программным пакетом, используемым для создания файловых хранилищ, (SMB/CIFS хранилище, позволяющее организовать файловый сервер, к которому будут иметь доступ клиенты использующие машины основанные как на ОС Linux, так и на ОС Windows).

Также применяются NFS («Network File Systems») и iSCSI хранилища, в основе которых лежат блоки данных (партиции, LVM), к которым предоставляется удаленный доступ. iSCSI «экспортирует» не файловую систему, а само устройство, удаленно с ним можно работать как с локальным диском.

В рамках статьи будет рассмотрен пример построения файлового хранилища с использованием Samba.

Настройка Samba сервера на Ubuntu

Samba широко применяется именно из за возможности работы с клиентами, использующими разные ОС. Она может быть интегрирована с Active Directory, что, тем не менее, распространенной практикой не является.

Файловый сервер, который будет настраиваться, предназначен для обслуживания 30-50 клиентов.

Будет последовательно настроено две базовые конфигурации: файловое хранилище, доступ к которому имеют все пользователи организации («файлопомойка «) и хранилище, имеющее определенные разграничения доступа.

Читаем описание пакета и проверяем зависимости:

apt-cache show samba | less

Если в процессе установки возникает ошибка 404 — это означает, что каких-либо файлов, необходимых для корректной установки в репозиториях найдено не было.

Обновляем списки репозиториев (при необходимости заранее добавив нужные и устанавливаем пакет; && означает, что выполняться вторая часть команды будет только в случае если успешно будет выполнена первая).

apt-get update && apt-get install samba

workgroup = remote-tech-support

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

Пакет будет работать при использовании опций по-умолчанию, однако чтобы обеспечить минимальный уровень безопасности одно значение необходимо скорректировать:

Убираем знак комментария перед параметром

security = user

Настройка базовой конфигурации файлового сервера

Функция Samba сейчас — обеспечивать минимальный функционал — возможность свободного обмена файлами.

Переходим к нижней части конфига и добавляем «шару»:



read only = no
path = /mnt/fileserver
guest ok = no

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

read only определяет возможность писать в расшаренные файлы

Перезагружаем сервис

/etc/init.d/smbd restart

Создает каталог для файлового сервера

Теперь логический том размеров 10 Гб, называем его vg0

lvcreate -L 10G -n samba vg0

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

/dev/vg0/samba /mnt/fileserver ext4 defaults 0 0

Обновляем информацию о примонтированных устройствах

Проверяем, отображается ли шара в файловой системе

Пароли для доступа к файловому серверу

Пароли пользователей для работы с smbd отличаются от паролей системных пользователей (которые задаются в /etc/passwd).

Пароли для работы с Samba задаются при помощи команды smbpasswd

Создаем тестовые директории

Видим, что владелец TestA student

Владелец TestB — root

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

Создаем новую группу fileserver и добавляем в нее пользователя student

adduser student fileserver

Видим, что тестовые директории имеют группу владельца root.

Удаляем директории

Устанавливаем на директорию шары group ID bit.

chgrp fileserver fileserver/

chmod g+rws fileserver/

За счет +s права (принадлежность пользователю) будут наследоваться всеми файлами, создаваемыми внутри расшаренного

каталога.

Проверяем, что значится группа пользователя fileserver

Добавляем в конфиг строку, за счет которой все пользователи, получающие доступ к шаре, будут временно добавляться в группу fileserver

mcedit /etc/samba/smb.conf


comment = Everybody can use that share
read only = no
path = /mnt/fileserver
guest ok = no
force group = fileserver
force create mode = 666
force create mode = 777

Открываем другой терминал и логинмся от имени пользователя student

ALT + F2

Создадим файлы, которые владельцем которых будет student

drwxr-sr-x student fileserver TestA
drwxr-sr-x student fileserver TestB

Владелец каталогов student, группа владельца — fileserver. Присутствует security bit (s), установленный ранее.

Включаем ПК с ОС Windows, находящийся в той же подсети. авторизуемся с реквизитами пользователя student.

В командной строке набираем //server01 (или любое другое имя, данное ранее серверу)
Видим каталог Public share, в котором находятся директории TestA и TestB

Создаем текстовый документ в Public share — убеждаемся в том, что никаких ошибок не возникает.
Смотрим свойства TestB — видим, что владелец каталога root, группа — fileserver. Для TestA — fileserver и student соответственно.

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

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

Настройка более безопасной конфигурации и разграничение прав

Сейчас мы изменим конфигурацию Samba предоставив каждому пользователю каталог для хранения персональной информации

mcedit /etc/samba/smb.conf

снимаем знаки комментария со строк, относящихся к секции . После перезапуска Samba при авторизациии каждый пользователь будет видеть каталог имя которого будет совпадать с именем пользователя, в данном каталоге могут храниться персональные данные, дсотуп к которым будет только у пользователя-владельца каталога (и у root-а).

Устанавливаем значение параметра read only в секции в no, также редактируем значения других параметров:

read only = no
create mask = 0700
directory mask = 0700
valid users = %S

/etc/init.d/samba reload

Идем в Windows. Необходимо обновить список расшаренных каталогов поскольку ОС кэширует данные — один из способов — перейти непосредственно в каталог пользователя, в командной строке набираем \\server01, затем в поле адреса \\server01\student

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

Обратно в Linux. Смотрим права и видим, что владелец и группа владельца student


comment = Share for accounting department
read only = no
path = /mnt/fileserver/Accounting
guest ok = no
force group = +accounting
force create mode = 660
force directory mode = 770

Здесь добавляем безопасности за счет выставления +accounting, в отличие от настроенной ранее конфигурации пользователи не добавляются в группу, а только используют ее для получения доступа к шаре. За счет выставления прав достигается невозможность пользователей не входящих в группу владельца даже читать файлы, созданные Samba.

Соответственно чтобы пользователю назначались права группы пользователей accounting, он должен уже состоять в ней.


comment = IT department
read only = no
path = /mnt/fileserver/IT
guest ok = no
force group = +IT
force create mode = 660
force directory mode = 770

Создаем каталоги:

mkdir /mnt/fileserver/Accounting

mkdir /mnt/fileserver/IT

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

Считываем конфигурацию

Задаем пользователей и группы пользователей:

chmod root.fileserver fileserver

chmod root.accounting Accounting

Проверям корректно ли настроена принадлежность каталогов

Удаляем тестовые каталоги:

Возвращаемся в Windows . Поскольку student является членом группы IT — он должен иметь доступ только в каталог, относящийся к департаменту IT. Доступ в другие каталоги для него должен отстутсвовать (он может просматривать содержимое директории Accounting, однако создавать и редактировать файлы не может). Убеждаемся в том, что это действительно так.

Произведем настройки согласно последнему сценарию. Создадим группу с ограниченным доступом.

adduser student internet_dev

chown www-data.internet_dev internet/

mcedit /etc/samba/smb.conf


comment = IT department
read only = no
path = /var/www/internet
guest ok = no
valid users = @internet_dev
force group = internet_dev
force create mode = 664
force directory mode = 775

Значение valid users здесь предполагает присутствие пользователей в группе internet_dev, также здесь можно задать список пользователей.
Иные права устанавливаются потому, что с каталогом /var/www/internet будут работать не только пользователи, но и, в данном случае, Apache

В Windows обновим информацию на экране (F5) и попытаемся открыть каталог internet. Если выполненные настройки корректны — успеха данные попытки иметь не будут — будет бесконечно выводиться окно ввода пароля.

adduser student internet_dev

Создадим и откроем документ в Windows — сохранение не выполняем.

В Linux выполняем smbstatus

smbstatus — команда, показывающая испольуземые шары, открытые в них файлы и использующих их пользователей.

Находим ID процесса, отвечающего за поддержание соединения с шарой (допустим, 2456) и убиваем его

Делаем ps aux и среди процессов видим вновь породившийся процесс того же рода, но с другим ID — его восстоздала Samba

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

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

Операционные системы Linux исключительно распространены и применяются в широком диапазоне. В то время как определенные дистрибутивы Linux ориентированы на опытных пользователей, другие намного проще, и прекрасно подходят для того, чтобы перейти на них с Windows. Дистрибутивы Linux часто обладают преимуществом благодаря значительным ресурсам сообществ их пользователей.

Хотя операционные системы Linux предлагают отличную рабочую среду для настольных компьютеров, Linux может также быть превосходной системой и для серверных приложений. Как правило, Linux обеспечивает улучшенное управление доступом, давая более высокую гибкость и стабильность.

Поэтому, дистрибутивы Linux являются идеальным серверным ландшафтом. Ознакомьтесь с 12 лучшими операционными системами Linux для серверов, и с тем, на каких пользователей они рассчитаны.

Что такое операционная система Linux для сервера?

Что отличает операционную систему Linux для сервера от обычного дистрибутива Linux? Для ответа нужно учитывать аппаратное обеспечение сервера. Серверы, в сущности, представляют собой компьютеры со специальными характеристиками. Например, аппаратное обеспечение сервера гарантирует длительное время непрерывной работы, эффективность и надежность. Кроме того, серверы балансируют вычислительную мощность с потреблением электроэнергии. Поэтому операционные системы Linux для серверов на первое место ставят надежность и потребление ресурсов.

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

Согласно IDC, данные продаж аппаратного обеспечения указывают на то, что 28 процентов серверов используют Linux . Однако эта данные, скорее всего, не учитывают домашних серверов. Используя специализированные операционные системы Linux можно развернуть собственный сервер. Здесь важно использовать версию для долговременной эксплуатации (LTS), и установить нужное программное обеспечение. Версии LTS более стабильны, и имеют длительный период поддержки.

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

Вероятно, наиболее известной из операционных систем Linux является Ubuntu. Имея множество вариантов, Ubuntu является стабильным дистрибутивом. Эта система и ее варианты предоставляют прекрасные возможности для пользователя. Система Ubuntu Server поставляется в двух версиях — LTS и в виде плавающего релиза. Версия LTS Ubuntu Server, как утверждается, имеет пятилетний период поддержки. Хотя этот период и не составляет пяти лет, но версии, не относящиеся к LTS, имеют только девять месяцев обновлений безопасности и обслуживания.

В то время как Ubuntu и Ubuntu Server очень похожи друг на друга, версия Server предлагает другие средства. Например, Ubuntu Server предоставляет такие дополнения, как OpenStack Mitaka, Nginx, и LXD. Они облегчают администрирование системы. Используя Ubuntu Server, можно разворачивать web-серверы, предоставлять контейнеры и делать многое другое. Более того, эти инструменты готовы к использованию сразу после установки.

Хотя и не являясь серверным дистрибутивом, Ubuntu LTS предоставляет пятилетний период поддержки. Я сейчас использую Ubuntu 16.04 LTS, на которой работает сервер Plex, в качестве игрового сервера Linux. Дистрибутивы LTS могут прекрасно функционировать в качестве операционных систем Linux для серверов. Нужно всего лишь установить на них серверное программное обеспечение.

Если вы новичок в Linux, или в области операционных системах для серверов, то Ubuntu является прекрасным выбором. Эта система остается одним из наиболее популярных дистрибутивов Linux частично благодаря своей дружественности к пользователю. Соответственно, Ubuntu Server представляет собой операционную систему Linux для серверов, фантастически подходящую для начинающих пользователей. Она превосходна в качестве медийного сервера, игрового сервера, и сервера электронной почты. Более сложные серверы могут также быть настроены на Ubuntu Server, но она, определенно, ориентирована на основные серверы и новичков.

Дебют SUSE Linux состоялся в 1993 году. В 2015 году вариант openSUSE с открытым исходным кодом превратился в SUSE Linux Enterprise (SLE). Существуют две ветви openSUSE: Leap и Tumbleweed. Версия Leap имеет более длительный цикл выпусков, в то время как Tumbleweed является плавающим релизом. Поэтому Tumbleweed больше подходит для опытных пользователей, предоставляя самые свежие пакеты, такие как Linux Kernel и SAMBA. Вариант Leap более пригоден для стабильных решений. Операционная система поддерживается путем обновлений.

Предоставляемый по умолчанию инструментарий делает openSUSE фантастической операционной системой Linux для сервера. В ее состав входят openQA для автоматического тестирования, Kiwi для поставки образов Linux на несколько платформ, YaST для конфигурирования Linux, и всеобъемлющий менеджер пакетов Open Build Service. За счет отказа от девятимесячного цикла плавающих релизов, и концентрации на стабильности, как это имеет место в SLE, система openSUSE становится жизнеспособной средой Linux для серверов. Специалисты по информационным технологиям даже назвали openSUSE «… CentOS и Debian от SUSE».

Для каких пользователей предназначена: Система openSUSE больше подходит опытным пользователям, таким, как системные администраторы. Она пригодна для установки web серверов , базовых домашних серверов или комбинаций web-серверов и базовых серверов. Системные администраторы могут воспользоваться такими инструментами, как Kiwi, YaST, OBS, и openQA. Разносторонность openSUSE делает ее одной из лучших операционных систем Linux для серверов. В дополнение к серверным возможностям, openSUSE поддерживает приятную среду для настольных компьютеров. Для наиболее базовых серверов система openSUSE также вполне пригодна, хотя и несколько избыточна. Все еще не уверены?

Если вы испытываете двойственные чувства, читая слова «Oracle Linux», то вы не одиноки. Система Oracle Linux является дистрибутивом Linux, поставляемым технологическим гигантом Oracle. Эта система доступна с двумя различными ядрами. Один ее вариант имеет ядро, совместимое с Red Hat (RHCK). Это точно такое же ядро, которое используется в системе Red Hat Enterprise Linux (RHEL). Система Oracle Linux сертифицирована для работы с разнообразным оборудованием от таких производителей, как Lenovo, IBM и HP. Для увеличения защиты ядра Oracle Linux использует технологию Ksplice. В состав системы входит также поддержка контейнеров Oracle, OpenStack , Linux и Docker. В качестве символов бренда используются темы Oracle, включая и Oracle Penguin.

Поддержка системы производителем осуществляется, но она платная. Хотя, если Oracle Linux работает не в среде предприятия, то цена на поддержку не устанавливается. Если возникает необходимость развернуть публичное или приватное облако, то операционная система Oracle Linux поддерживает и эти технологии. С другой стороны, вы можете попробовать работать с Oracle Linux, если вам просто нужна система Linux с брендом Oracle.

Для каких пользователей предназначена: Система Oracle Linux лучше всего подходит для центров данных или для создания облаков с OpenStack. Для Oracle Linux лучше всего подходят наиболее опытные пользователи домашних серверов или серверов уровня предприятия.

  1. Container Linux (бывшая CoreOS)

Операционная система CoreOS в 2016 году сменила свое название на Container Linux. Как следует из нового названия, Container Linux представляет собой операционную систему Linux, выпущенную для предоставления контейнеров. Система сконцентрирована на упрощении процесса предоставления контейнеров. Container Linux является превосходной операционной системой для надежного, масштабированного использования. Кластерное развертывание контейнеров выполняется легко, и данный дистрибутив включает в свой состав средства для обнаружения сервиса. В него входит документация и поддержка технологий Kubernetes, Docker и rkt.

В систему не включено управление пакетами. Все приложения должны выполняться в пределах контейнеров, поэтому контейнеризация обязательна. И если вы работаете с контейнерами, то Container Linux является лучшей операционной системой для серверов в кластерной инфраструктуре. Она предоставляет демона etcd, работающего в каждом компьютере, входящем в кластер. Кроме того, обеспечивается определенная гибкость и в установке. Помимо локальной установки, выполнение Container Linux возможно в таких средах виртуализации, как Azure, VMware и Amazon EC2.

Для каких пользователей предназначена: Система Container Linux лучше всего подходит для серверов в кластерной инфраструктуре или с предоставлением контейнеров. Это, скорее всего, не предусматривает среднего домашнего пользователя. Но при наличии официального логотипа Docker у любителей Plex, Container Linux может работать в любом окружении — от базового домашнего сервера для сложных кластеров. Применяете Container Linux, если вы уверенно работаете с контейнерами. Вместе с openSUSE, система Container Linux является одной из лучших новых и обновленных операционных систем Linux, которые следует попробовать.

Операционная система CentOS предоставляет устойчивую рабочую среду. Это вариант операционной системы Red Hat Enterprise Linux (RHEL) с открытым исходным кодом. В связи с этим CentOS обеспечивает работу сервера уровня предприятия. Эта операционная система от Red Hat использует тот же самый исходный код, как и RHEL. В состав CentOS входит менеджер пакетов RPM. В 2010 году обзор данных продаж показал, что примерно 30 процентов всех серверов Linux работает на CentOS. И тому есть причина: это очень устойчивая среда для сервера с поддержкой от Red Hat.

Следует отметить, что CentOS хорошо работает и на мэйнфреймах. Для пользователей, предпочитающих GUI, в системе доступны KDE и GNOME. Система CentOS может использоваться в качестве непосредственной операционной системы для настольных компьютеров. Благодаря поддержке от Red Hat и растущему сообществу пользователей, CentOS остается свободной от ошибок.

Для каких пользователей предназначена: Система CentOS предоставляет функциональность и устойчивость Red Hat Enterprise Linux. Поэтому она прекрасно подходит в качестве современной операционной системы для сервера. Если вам требуется бесплатная альтернатива RHEL, то можно использовать CentOS. Однако она является и достаточно дружественной к новичкам благодаря своему менеджеру пакетов. В целом, CentOS является лучшей бесплатной альтернативой Red Hat Enterprise Linux.

Многие серверы ограничивают потребление мощности. Снижение расхода мощности является основным преимуществом, особенно для постоянно включенных машин. Поэтому операционные системы Linux для серверов должны использовать небольшие ресурсы. Правильное распределение ресурсов является ключевым фактором для продолжительности работы и эффективности сервера. Многие дистрибутивы Linux используют меньше ресурсов, чем их аналоги Windows или macOS. Операционная система Arch является простым, легким дистрибутивом, придерживающимся принципа KISS («делайте вещи проще»).

Для этой системы в Arch Linux Wiki выделена отдельная часть, связанная с серверами . Там можно узнать все, что относится к конфигурации Arch Linux в качестве операционной системы для сервера. В то время как специального, заранее собранного выпуска системы для серверов не существует, эта документация Wiki описывает все шаги для создания собственной серверной операционной системы. Вы можете установить популярные программы для серверов, включая MySQL, Apache, Samba и PHP для Arch.

Для каких пользователей предназначена: Arch Linux является универсальной операционной системой Linux для серверов. Она идеальна для превращения в сервер старого ПК. Но, несмотря на свою легкость, система Arch вполне функциональна и на более мощном аппаратном обеспечении. Кроме того, Arch Linux лучше всего подходит для пользователей с техническим опытом, поскольку им придется настраивать Arch в качестве серверной системы.


Система Mageia представляет собой операционную систему Linux, в которой основной акцент сделан на надежность и стабильность работы. Это ветвь Mandriva Linux, появившаяся в 2010 году. В 2012 году журнал PC World расхвалил Mageia, которая сегодня уже дошла до пятой версии. Хотя существует множество операционных систем Linux, существует также и большой список рабочих сред Linux для настольных компьютеров. Система Mageia включает в свой состав целую группу интерфейсов с пользователем, таких как KDE, GNOME, Xfce и LXDE.

Вместо MySQL в состав Mageia входит MariaDB . Такие ориентированные на серверы элементы, как 389 Directory Server и Kolab Groupware Server делают Mageia выдающейся операционной системой Linux для серверов.

Для каких пользователей предназначена: Mageia является заслуживающей доверие операционной системой Linux для серверов. Она имеет в своем составе такие средства, как MariaDB и Kolab Groupware Server. Кроме того Mageia предоставляет надежную, защищенную среду. Пользователи, которым требуется GUI, также могут подумать об использовании Mageia благодаря ее множеству интерфейсов для настольных компьютеров.

ClearOS спроектирована специально для серверов, шлюзов и сетевых систем. Стандартная установка системы обеспечивает усиленную безопасность. В нее входит сетевой брандмауэр, средства управления пропускной способностью, почтовый сервер, и средства обнаружения вторжения. Выпуск ClearOS 7 Community Edition имеет в своем составе 75 приложений и инструментов .

Хотя имеются и платные версии ClearOS, выпуск Community Edition остается бесплатным. Кроме того, обновления ClearOS от разработчиков также бесплатные, но такие бесплатные обновления не проходят тестирования.

Для каких пользователей предназначена: ClearOS является специализированной операционной системой Linux для серверов. Ее богатый набор приложений ставит ClearOS в положение дистрибутива, ориентированного на специалистов по Linux. Любителям и специалистам Linux достаточно только запросить нужные приложения. Но новичкам лучше выбрать другие дистрибутивы систем для серверов.

Операционная система Slackware давно используется в качестве Linux для серверов. Первый выпуск этой системы появился в 1993 году. Согласно сайту Slackware Linux, целью этого проекта является «дистрибутив Linux, в максимальной степени напоминающий UNIX». По умолчанию, Slackware предоставляет интерфейс командной строки.

Полная установка Slackware включает в себя C и C++, систему X Windows, почтовый сервер, w eb-сервер , сервер FTP и сервер новостей. Более того, Slackware настолько легкая система, что она может работать на платформе Pentium. Продолжающиеся выпуски увеличивают стабильность и простоту системы.

Для каких пользователей предназначена: Slackware Linux лучше всего подходит для опытных профессионалов Linux. У нее имеются два менеджера пакетов, pkgtools и slackpkg. Но поскольку Slackware по умолчанию запускает интерфейс командной строки, она наиболее пригодна в качестве операционной системы Linux для серверов. Более того, в ее простоте имеется и определенная доля сложности. Для использования Slackware вы должны понимать свои действия в среде Linux.

Gentoo отличается от многих дистрибутивов Linux. Вместо традиционной модели выпусков Gentoo использует модульную структуру . То есть, пользователь сам выбирает то, что будет установлено. Благодаря этому Gentoo занимает верхнюю позицию в списке операционных систем Linux для серверов.

Каждая установка этой системы уникальна. Пользователи могут собрать ядро, предоставляющее максимальные возможности управления. Следовательно, сервер может контролировать такие аспекты как, например, расход памяти. Благодаря своей модульной структуре и гибкости Gentoo становится очень популярной среди профессионалов Linux. Системные администраторы высоко оценивают предлагаемый Gentoo подход к сборке системы в соответствии с потребностями.

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

Если вы ищите свежую операционную систему Linux для серверов, попробуйте систему Fedora. Поддерживаемый компанией Red Hat, проект Fedora получает регулярные обновления. Разработчики часто участвуют в этих обновлениях. Система Fedora поставляется в различных вариантах. Версия Workstation рассчитана на обычных пользователей и поставляются со средой рабочего стола. По умолчанию Fedora Workstation поставляется с интерфейсом GNOME, но доступны и другие интерфейсы с пользователем. Версия Fedora Server, как и следует из названия, предназначена для серверов.

По умолчанию, в установку Fedora Server графический интерфейс с пользователем не включается. Однако если вы не планируете использовать сервер в автоматическом режиме, то можете установить один из интерфейсов пользователя. Выпуск Server имеет множество инструментов. Среди них можно назвать панель управления системой Cockpit. Кроме того, в Fedora Server включены такие базы данных, как PostgreSQL.

Для каких пользователей предназначена: Опытные разработчики Linux и системные администраторы выберут именно Fedora Server. Отсутствие среды рабочего стола и характеристики системы уровня предприятия означают, что Fedora лучше всего подходит современным серверам.

Ну, специального выпуска для серверов Debian не имеет. Тем не менее, Debian представляет собой одну из лучших доступных операционных систем Linux для серверов. Поскольку система Debian была выпущена в 1993 году, а ее первый стабильный выпуск появился в 1996 году, эта система является невероятно защищенной. Многие дистрибутивы Linux, включая и Ubuntu, основаны на Debian. Почему же Debian используется в качестве основы другой операционной системы? Только благодаря ее устойчивости.

Кроме того, Debian часто используется на серверах, так как она прошла проверку временем. В состав системы входит менеджер проектов, инструменты APT, и различные средства внешнего представления, такие как GDebi. Поэтому, хотя Debian не поставляется в серверном варианте, это прекрасная операционная система для самостоятельно развертывания собственного сервера. Debian характеризуется впечатляющей совместимостью приложений, надежностью и стабильностью.

Для каких пользователей предназначена: Система Debian предоставляет фантастическую серверную среду для двух направлений. Если вам нужен базовый сервер, такой как web-сервер, почтовый, игровой или медийный сервер, то Debian позволяет установить их без особой сложности. С другой стороны, подумать об использовании Debian должны и более опытные пользователи со специфическими серверными потребностями. При этом такой подход не требует работ типа «сделай сам».

Лучшие операционные системы Linux для серверов

Хотя можно найти много операционных систем Linux пригодных для серверов, каждая из них является лучшей для конкретных групп пользователей. Более того, не относящиеся к серверам выпуски LTS, прекрасно функционируют в качестве операционной системы Linux для серверов. Хорошим примером такого рода является Debian. Хотя эта система не имеет специального дистрибутива для серверов, она обладает основными характеристиками такого дистрибутива. А именно, стабильностью и безопасностью.

Для начинающих, или для тех, кому нужна установка простого сервера, я бы рекомендовал любой дистрибутив на базе Debian или вариант Ubuntu. Я использую варианты Ubuntu для всех своих медийных или игровых серверов. Они имеют максимальную совместимость с тем программным обеспечением, которым я пользуюсь, и позволяют создавать комбинации серверов домашних кинотеатров на базе ПК и медийных серверов.

Публикации по теме