Установка і настройка домашнього сервера на debian

Чому не Ubuntu Server, запитаєте ви? А тому що, перше - Debian це синонім слова «стабільність», і друге - в репозиторіях Debian лежить більш 43000 пакетів ПО. З цих двох причин з'являється третя - гіперпопулярність Debian-а, величезна ком'юніті і невичерпне кількість інформації по ОС.

Установка і настройка домашнього сервера на debian

Для вірності знімний диск коштує попередньо відформатувати в FAT32, тому що деякі старі материнські плати не вміють завантажуватися з NTFS-флешок.

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Отже, вставляємо «пропалені» флешку в майбутній сервер і включаємо його. Але попередньо зайдемо в BIOS. виставимо порядок завантаження, перемістивши знімні диски на перше місце. Зберігаємо зміни, перезавантажується. У меню тиснемо «Install».

Відразу вибираємо мову, країну і розкладку клавіатури. Коли буде завантажено необхідні компоненти, нам буде запропоновано ввести мережеве ім'я ПК і ім'я домену, яке ми залишимо порожнім.

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Далі необхідно створити основну обліковий запис, від імені якої ми будемо працювати більшу частину часу. Вводимо повне ім'я користувача, ім'я облікового запису (логін), і двічі пароль. Чекаємо, поки підтягнеться мережу і завантажаться потрібні файли.

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Тепер нам запропонують розмітити диск і настроїти менеджер логічних томів LVM. Оскільки у нас не серйозний сервер великої корпорації, виберемо автоматичну розмітку з налаштуванням LVM.

Установка і настройка домашнього сервера на debian

Далі вибираємо диск для розмітки (скрішоти робилися в віртуальній машині з одним жорстким диском).

Установка і настройка домашнього сервера на debian

У наступному вікні має бути вибір: скласти всі фали в один розділ, встановити систему в / boot, а призначені для користувача файли в / home, або той же, але ще з / var та / tmp. Виберемо друге, бо ж поки що var і tmp нам не потрібні, а в першому випадку, при можливій перевстановлення системи, ми втратимо всі свої файли. А якщо відвести під наші потреби окремий розділ home, то при перевстановлення або установці будь-якого іншого дистрибутива, досить буде просто подмонтировать / home, і всі файли знову будуть доступні. Погоджуємося на внесення змін, дивимося, що і як буде розмічено, погоджуємося, і ще раз погоджуємося.

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Поки встановлюється базова система, приведу конфігурацію мого тестового сервера:

«Динозавр класичний» вийшов.

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Після нам запропонують взяти участь в програмі збору статистики використання пакетів. Тут вибираємо за власним бажанням. Я відповів «ні».

Установка і настройка домашнього сервера на debian

А ось тепер нам заманливо пропонують вибрати, який додатковий софт необхідно встановити. Але, оскільки у нас сервер, то знімаємо зірочку з оточення робочого столу, ну і заодно з сервера друку (потім все необхідне доустановити вже в системі), залишивши тільки стандартні утиліти.

Установка і настройка домашнього сервера на debian

Коли притягнуться і налаштуються стандартні утиліти, погоджуємося на установку завантажувача. і вказуємо, куди його ставити. Ще півхвилини налаштувань і, як тільки побачимо повідомлення про вдале завершення установки, виймаємо флешку і тиснемо «Продовжити». Система встановлена.

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Установка і настройка домашнього сервера на debian

Після перезавантаження перше, що ми побачимо - це менеджер завантаження GRUB.

Установка і настройка домашнього сервера на debian

Перший пункт меню «Debian GNU / Linux» завантажиться автоматично через 2 секунди, тому просто чекаємо. І бачимо вітання. Входимо, ввівши свій логін і, за запитом, пароль. Далі робити скріншоти безглуздо, тому я обмежуся введенням і висновком терміналу.

Установка і настройка домашнього сервера на debian

Що б мати можливість запускати програми від імені адміністратора, необхідно встановити утиліту під назвою sudo. Виконуємо в терміналі:

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

apt-get install sudo

Коли sudo встановиться, додамо нашого користувача в групу sudo:

adduser username sudo

Перед подальшої налаштуванням приймемо за даність, що в інтернет всі наші пристрої ходять через роутер. У моєму випадку це Huawei HG532e.

За ідеєю, сервер повинен тихо і непомітно виконувати свою роботу, стоячи, наприклад, в коморі або підвалі (якщо приватний будинок). Але сервером все так же потрібно управляти. Кращий і загальноприйнятий спосіб - це термінал через мережевий протокол SSH. Для цього нам знадобиться SSH-сервер. виконуємо:

sudo apt-get install ssh

sudo nano / etc / ssh / sshd_config

Оскільки на пост-радянському просторі з IPv6 все ще погано, обмежимо підключення тільки протоколом IPv4. Відразу після порту вставляємо новий рядок:

Повертаємося в початок. Оскільки ми вже набудували sudo, заборонимо вхід через SSH під root-ом. Правимо рядок:

Йдемо далі. Оскільки ми не будемо використовувати графічне середовище, відключимо форвардного сервера вікон X11 через ssh:

sgtatham / putty / download.html) з усіма необхідними утилітами відразу, розпаковуємо і запускаємо PuTTYgen. Тиснемо «Generate», і хаотично «мотилять» мишкою по вікну, поки процес генерації не закінчиться. Після, тиснемо «Save public key» і «Save private key», і зберігаємо куди-небудь.

Установка і настройка домашнього сервера на debian

Однак, щоб скопіювати свій публічний ключ на сервер, увійти один раз за логіном / паролем все ж доведеться. Для цього видаляємо # перед рядком:

Тиснемо Ctrl + O, Enter і Ctrl + X. Перезапускаємо сервіс ssh:

sudo systemctl restart ssh

Тепер треба завести файл з публічними ключами. Створюємо в каталозі профілю папку .ssh:

Переходимо в неї, потім на нашому ПК відкриваємо блокнотом файл з публічним ключем і копіюємо власне сам ключ (рядки між «comment ...» і «---- end ----»), створюємо файл authorized_keys і вписуємо в нього (послідовність команд збережена):

ssh-rsa AAAAA ... .. (key) ... .. == username @ server

Примітка: коли вставите у вікно PuTTY з відкритим файлом authorized_keys, ключ (просто тисніть ПКМ) потрібно видалити переходи на новий рядок (щоб весь ключ був в одну строчку).

Тиснемо Ctrl + O, Enter і Ctrl + X. Перезапускаємо сервіс ssh:

sudo systemctl restart ssh

sudo nano / etc / ssh / sshd_config

Тиснемо Ctrl + O, Enter і Ctrl + X. Перезапускаємо сервіс ssh:

sudo systemctl restart ssh

З ssh розібралися, їдемо далі.

Найперше, що нам потрібно - це можливість розшарювання файлів в нашій локальній мережі. Для цієї мети ідеально підходить протокол Samba. У репозиторіях восьмого Debian-а вже лежить нова Samba 4, тому просто встановлюємо (погоджуємося на установку всіх додаткових пакетів):

sudo apt-get install samba

Тепер налаштовуємо Samba. Відкриваємо файл конфігурації:

sudo nano /etc/samba/smb.conf

wins support = yes

І відразу під нею вкажемо пріоритет нашого сервера (99 буде достатньо, максимально 255):

Далі переміщаємося майже в самий кінець конфіга, в розділ «Share Definitions». Саме тут потрібно вказати всі папки і принтери, якими ми хочемо поділитися в локальній мережі. А тому, наприклад, після підсекції [printers], вписуємо приблизно такі рядки:

comment = public folder

create mask = 0777

chmod 0777 share

Варто сказати пару слів щодо підтримки Samba в Windows 7/8 / 8.1 і, можливо, 10. Їх теж можна зробити для серверів Samba, виконавши пару скриптів в PowerShell-е. Але нам потрібно активувати тільки клієнт для Samba. Запускаємо командний рядок від імені адміністратора і виконуємо по черзі:

sc.exe config lanmanworkstation depend = bowser / mrxsmb10 / mrxsmb20 / nsi

sc.exe config mrxsmb20 start = auto

sudo systemctl restart smbd

Наступною сферою застосування для домашнього сервера, яка приходить в голову - це сервер друку. Для цього встановимо CUPS:

sudo apt-get install cups

sudo nano /etc/cups/cupsd.conf

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

Тим самим дозволивши доступ до всіх трьох пунктах тільки з нашої локальної мережі.

sudo systemctl restart cups

sudo systemctl restart cups

Там же, в адмінці, можна надрукувати тестову сторінку. Тепер загальнодоступному місці на сервері повинен з'явитися тільки-що підключений принтер. Можна приєднувати його до Windows і працювати.

sudo apt-get install apache2

sudo apt-get install mysql-server mysql-client

За запитом придумуємо і вводимо двічі пароль для користувача root. Коли установка закінчиться, можемо перевірити статус сервера:

sudo systemctl mysql status

У висновку повинна бути зелена рядок «Active» повідомляючи нам про те, що демон MySQL працює. Прийшла черга інтерпретатора мови PHP:

sudo apt-get install php5

За замовчуванням, файли сайтів, якими управляє Apache. лежать в директорії / var / www / html. А тому створимо там тестовий php-файл і виведемо з його допомогою сервісну інформацію про нашій установці php:

sudo nano /var/www/html/test.php

Для адміністрування СУБД MySQL створений прекрасний веб-інтерфейс phpMyAdmin. А тому давайте його теж встановимо:

sudo apt-get install phpmyadmin

З метою забезпечення безпеки і хоч мінімального захисту від DOS-атак, рекомендується перекинути входить 80-й порт на 8080-й. В налаштуваннях роутера це робиться в пункті «Port Mapping», а в apache, в свою чергу - в файлі ports.conf:

sudo nano /etc/apache2/ports.conf

Переправляємо рядок на

І перезапускаємо apache:

sudo systemctl restart apache2

sudo groupadd smbgroup

sudo usermod -a -G smbgroup username

Тепер потрібно завести обліковий запис користувача Samba, якому ми надамо право оперування файлами всередині / var / www / html:

sudo smbpasswd -a username

Вводимо двічі пароль і встановлюємо власника і права на / var / www / html:

sudo chown username: smbgroup -R / var / www / html

Невелика ремарка: якщо ви плануєте надати доступ до каталогу декільком користувачам, права необхідно змінити на 0775 і кожного окремого користувача додати в групу smbgroup, а також «включити» через smbpasswd. Плюс, кожна директорія повинна мати права 0755 (або 0775), а файли - 0644. Щодо файлом, права можуть бути і 0755, але 0644 безпечніше.

Додамо ресурс в smb.conf:

Sudo nano /etc/samba/smb.conf

comment = my site

valid users = username

# Що б дозволити відразу цілу групу, замініть на valid users = @smbgroup

І перезапустити Samba:

sudo systemctl restart smbd

Тепер в пункті «Мережа» Windows, на нашому сервері доступна папка mysite. Залишилося тільки ввести логін і пароль.

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

Коли скочується, розпаковуємо завантажений пакет:

sudo dpkg --install webmin_1.760_all.deb

Швидше за все, apt-get повідомить нам про конфлікті в залежностях. А тому надамо йому свободу дій:

sudo apt-get -f install

У певних ситуаціях може знадобитися завантажити (або навпаки, скачати) файл на наш сервер. Для таких цілей немає кращого рішення, ніж протокол FTP. У нашому випадку ми встановимо його реалізацію у вигляді сервера vsftpd (very secure FTP daemon):

sudo apt-get install vsftpd

Всі настройки vsftpd лежать в файлі /etc/vsftpd.conf:

sudo nano /etc/vsftpd.conf

Отже, в залежності від того, чи хочете ви, що б до вашого FTP-сервера можна було підключитися анонімно, ми або залишаємо рядок anonymous_enable, або переправляємо на

Таким чином, користувач і вище / home / username вийде, і писати в неї може. В принципі, параметрів конфігурації vsftpd дуже багато, і ніхто не забороняє встановити chroot-му, наприклад, / var / www / uploads.

На даному етапі ми вже можемо оперувати файлами по FTP (за допомогою FileZilla, наприклад). Але якщо знадобитися дати доступ сторонній людині, заведемо про всяк випадок користувача guest:

sudo adduser guest

Після відповідей на питання створимо групу ftpgroup і внесемо в неї guest-а:

sudo addgroup ftpgroup

sudo usermod -G ftpgroup guest

Бажаючі можуть встановити додаткові параметри на зразок привітального повідомлення, таймаута сесії, таймаута передачі даних, повідомлення про зміну директорії і т.д. відповідно:

ftpd_banner = "This is yet another FTP server"

sudo systemctl restart vsftpd

Можна підключатися. Файли, які завантажить guest, будуть лежати в / home / guest.

На цьому мінімальна настройка ftp закінчена, більш детальну можете знайти в мережі. Не забудьте прокинути 21 і 20-й порти на роутері.

За ідеєю, піднімаючи домашній сервер, ми приймаємо за належне те, що він буде працювати цілодобово (що, в разі, якщо в якості заліза виступає Raspberry Pi, взагалі безпроблемно). А тому, що б він не простоював вночі, ми змусимо його качати торенти. Самий функціональний торрент-клієнт для Linux - це rTorrent. До того ж, він консольний. І третє - для нього написано кілька відмінних веб-інтерфейсів. Встановимо його:

sudo apt-get install rtorrent

/.rtorrent.rc. Створимо і заповнимо цей файл:

# Обмеження швидкості закачування

# Розрив обмін бенкетами

Схожі статті