Що таке Unix (для початківців). Сервера на платформі Unix

У Останнім часом Unix-рішення поступово почали здавати свої позиції на ринку серверів. Система, що славиться своєю стабільністю та добре зарекомендувала себе за роки успішної служби, повільно, але неухильно витісняється новими перспективними рішеннямина базі Windowsта Linux.

Чому популярність Unix-рішень на ринку серверів падає? Є кілька причин. По-перше, стала еволюція як Windows, так і Linux-серверів. Неможливо не звернути увагу на те, що порівняно з зовсім недавнім минулим платформа Windowsзараз виглядає набагато зрілішим. Варто зауважити, що Unix займав своє місце на ринку серверів майже 40 років, тоді як Windows та Linux є відносними новачками у світі серверів. Однак надання безкоштовних послугоднією компанією та потужні постійні фінансові вливання іншою разом виявилися достатньою силою, щоб зайняти гідне місце на ринку.

Зростаюча популярність Windows відчутно вплинула на продаж Unix, позбавивши його істотної частки ринку в останні кілька років. З кінця 2005 року Unix більше не є постачальником серверів №1 на ринку, як свідчать дослідження IDC. Зростаюча тенденція лише підтверджує довгострокові прогнози аналітиків щодо перспектив Unix-рішень. Все частіше зростання потреб корпоративних споживачів призводить до заміни Unix-сервера на рішення, що базуються на Microsoft Windows Server.

Крім того, відбулися помітні зміни у технічні характеристикисерверів. Довгий час«залізні» Unix сервера, що працюють на SPARCs, Power або Intel Itanium, були платформою, яку вибирали для роботи великі корпорації. Хоча компанії IBM та Sun продовжували роботу над удосконаленням своїх центральних процесорів, архітектура x86 помітно зросла, особливо з появою 64-розрядних процесорів, наприклад, Opteron від AMD. IDC зазначає, що у другому кварталі 2006р. постачання серверів x86 зросли на 13.7%, з яких майже 80% - саме 64-розрядні процесори. А сервери, засновані на Intel Itanium і які є окремою категорією як сервери здатні працювати різних операційних системах нарахували загалом 740 млн. що становить близько 36.4% від загального обсягу продажів.

Можливо, ще більш значним фактором є удосконалення blade - серверів: привабливість форми, здатність підключати кілька «лез» до одного джерела живлення та можливість їхньої «гарячої» заміни (без вимкнення електроживлення) у кластерах. Продаж «лез» у 2005 році зріс на 49.3% порівняно з попереднім роком, а в поточному році їх продажі сягають 37.1% (639 млн. дол. При цьому IBM має частку 39.5%, HP ж істотно скоротив розрив і посів друге місце , отримавши 38,9%.

Вітаю.
Насамперед, не варто уявляти собі рішення задачі, як "велику кнопку", т.к. наші уявлення про управління інфраструкурою дещо перекручені досвідом роботи з продуктами MS. Інтерфейс приховує від нас стек ПЗ, що використовується для досягнення мети. Наприклад, WSUS. Під його капотом знаходиться набір служб, кожна з яких відіграє певну роль - bits для завантаження на сервер і доставки пакетів на клієнта, веб-сервер для команд, база даних для зберігання стану клієнтів і виправлень, . net додаток, що об'єднує все це. Для парку nix машин вам належить побудувати подібну архітектуру самому, вибираючи щоразу інструмент, який відіграватиме ту чи іншу роль.
На другому кроці потрібно подивитися на завдання. Якщо у вас десяток інфраструктурних серверів, то Ansible справді непоганий вибір. Але тільки не "скрипт". "Скрипт" - це мова, яка говорить як досягти результату. Але інструменти управління конфігурацією позбавляють вас цього, за допомогою декларативної мови ви описуєте сам кінцевий результат (це ключовий момент) і не замислюйтеся про те, який дистрибутив (читай менеджер пакетів, розташування файлу конфігурації) встановлений на керованій системі.
Якщо вам потрібно дати доступ великій кількості користувачів до великої кількості машин, то на першому кроці вам потрібно вибрати два інструменти:
1. Управління конфігурацією.
2. управління sudo.
Перший інструмент з натяжкою може надати можливість вирішити пункт 2, т.к. у цьому другому пункті вам потрібно керувати тими самими політиками: групі користувачів дати доступ до групи машин і дозволити виконувати групу команд. Тут в гру вступає Identity Manager і це питання для мене з Крайній мірі, відкритий. Поточні тенденції ведуть до розгортання двох каталогів (MS AD та каталог для парку NIX), але не беруся сказати, наскільки це правильно. Обійтися без другого каталогу можна і, якщо відкинути лушпиння, то ключовою проблемою, в такому випадку, є зіставлення ідентифікаторів безпеки користувачів в MS AD і в nix системах (просто коли один домен, складніше коли ліс, зовсім не просто у випадку створених вручну довірчих відносин). Раніше це питання вирішувало winbind з набором бібліотек, що реалізують той чи інший алгоритм зіставлення, тепер це SSSD, що реалізує два алгоритми. Знову ж таки питання з виконанням привілейованих команд у такій конфігурації не вирішується. RedHat пропонує скомпановані в єдиний продукт інструменти, які ці завдання вирішують. Підтримка від цього самого редахату коштує шалених для нас грошей, але ви подивіться з чого складаються такі рішення як Sattelit та IdM, це відкриті продукти(FreeIPA, candlepin, pulp, katello, puppet і, нарешті, foreman.) які, можливо вам і потрібні.



Книга описує процес розгортання та адміністрування мережі на основі Unix-сервера та Linux-станцій. Автор пропонує готові рішеннядля швидкої установкита налаштування локальної мережі. Велика кількістьприкладів і готових налаштувань дозволяє використовувати цю книгу як практичного керівництвадля роботи.
Видання призначене для системних адміністраторівта досвідчених користувачів.

Міграція з ActiveDirectory на LDAP

21.1. Перш ніж приступити до налаштування

Минулого розділу ми розглянули, як налаштувати первинний контролер домену на базі FreeBSD п Samba. У цьому розділі ми ускладнимо завдання та розглянемо міграцію з ActiveDirectory на LDAP (Lightweight Directory Access Protocol- легковагий нротокап доступу до каталогів). Щоб фанатам Linux не було прикро, у цьому розділі ми розглядатимемо налаштування на базі Linux. У FreeBSD формати файлів будуть темпом же. але слідкуйте за іменами файлів - вони можуть бути дещо іншими (маються на увазі повні іменафайлів - назви конфігураційних каталогів у FreeBSD та Linux відрізняються).

Отже, припустимо, що ми маємо Windows 2000 Server з налаштованим ActiveDirectory, наш домен називається LTD. а NetBIOS-ім'я Windows-сервера - server (ім'я для Linux-сервера придумаємо в процесі налаштування). Для реалізації нашого проекту необхідно встановити наступні пакети: samba (бажано використовувати версію 3, якщо вийде), slapd. smbldap-tools. libnss-ldap. apache2. nscd. phpldapadmin. libpam-ldap.

У цьому розділі ми виконаємо не лише налаштування сервера на базі Linux, але й здійснимо міграцію користувачів та комп'ютерів із ActiveDirectory на LDAP.

У більшості випадків у вас буде встановлена ​​російська версія Windows Server, тому перед початком міграції вам потрібно перейменувати такі групи користувачів (у дужках наводиться нова назва групи):

  • Адміністратори домену (Domain Admins).
  • Комп'ютери домену (Domain Computers).
  • Гості домену (Domain Guests).
  • Користувачі домену (Domain Users).

Минулого розділу ми не перейменовували групи, оскільки передбачалося, що самого процесу міграції не буде. Ми налаштовували сервер з нуля, тому одразу створили необхідні групи на англійськоюта встановили їх відповідність системним UNIX-групам за допомогою команд:

Якщо ж залишити назву груп російською, то процес міграції не буде виконано коректно – користувачі не будуть перенесені на Linux-сервер.

Тепер потрібно підготувати сервер Linux. Потрібно переконатися, що на сервері немає груп з наступними GID: 512, 513. 514, 515, 544, 548. 550, 552. Справа в тому. що сценарії smbldap-populate створить групи саме з цими GID. 11 якщо в системі вже будуть групи з такими GID, то сценарію Sfrbldap-populate не вдасться створити необхідні групи, отже, не вдасться зробити процес міграції. До речі, саме через smbldap-populate ми перейменовували групи користувачів на Windows-сервері - цей сценарій створює групи англійською мовою.

Сам процес міграції проводитиметься утилітою Windowsдо Linux Migration Toolkit (w2lmt). Завантажити цю утиліту можна за адресою: sourceforge.net/projects/w2lmt/

До складу w2lmt входять кілька сценаріїв. Основний сценарій називається w21mt-migrate-smbauth. Саме цей сценарій переносить користувачів із Windows-сервера на LDAP. Для міграції DNS використовується сценарій w21mt-migrate-dns, але ми цей сценарії використовувати не будемо, оскільки вважатимемо, що DNS-сервер вже працює під керуванням UNIX. Для міграції служби Exchangeвикористовується сценарій w21mt-migrate-directory. У багатьох випадках Exchange не використовується, а ActiveDirectory використовується тільки для автентифікації користувачів, отже, вам доведеться запустити лише один сценарій - w21mt-migrate-dns.

Все готове для міграції, тепер можна приступити до встановлення програмного забезпеченняна Linux-сервер. Налаштування Linux-сервера буде проводитись на прикладі дистрибутива Debian. В інших дистрибутивах будуть невеликі відмінності, пов'язані з іншими менеджерами пакетів. Тобто, команди установки пакетів в інших дистрибутивах будуть іншими, а формати файлів залишаться такими ж, як описано в цьому розділі.

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

Про це написано багато різної літератури. Деякі книги про Лінукс налічують тисячу сторінок. Працювати доведеться через термінал та всі команди вводити вручну. Але все ж таки ви зможете зробити невеликий Linux-сервер своїми руками, який буде включати файлове сховище, Web-сервіси та поштовий протокол.

Ubuntu Server створена на базі операційної системи Linux. Для її роботи не потрібен сучасний процесор, гарна відеокартаабо великий обсяг оперативної пам'яті. З Лінуксом можна розгорнути сервер навіть на старому ноутбуці. І в ньому будуть усі потрібні компоненти: пошта, FTP, Web.

Завантажити образ диска з Linux можна із сайту Ubuntu.ru. Вибирайте будь-яку версію з сервером (не 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-сервер. Система доменних імен. З нею можна розпізнати 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 розписані порти, що прослуховуються.
  • Якщо ви додасте слово "Stop" після команди "sudo /etc/init.d/apache2", 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-сховища, термінали