Заощадьте 15% на всіх хостингових послугах

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код: Skills Почати
Рубрики
Linux Адміністрація

Встановлення та налаштування компонентів Ubuntu: Повний посібник

Ubuntu залишається однією з найпопулярніших дистрибутивів Linux у світі — і це не без причини. Його гнучкість, надійна екосистема пакетів та сильна підтримка спільноти роблять його ідеальною платформою для розробників, системних адміністраторів та компаній. Незалежно від того, налаштовуєте ви локальну машину розробки чи розгортаєте VPS Hosting середовище в хмарі, знання того, як правильно встановлювати та налаштовувати компоненти Ubuntu, є фундаментальною навичкою, яка приносить користь на кожному рівні вашої інфраструктури.

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

1. Оновлення Ubuntu перед встановленням чого-небудь

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

sudo apt update && sudo apt upgrade -y

Що це робить:

  • apt update — Оновлює локальний індекс пакетів з усіх налаштованих репозиторіїв.
  • apt upgrade -y — Оновлює всі встановлені пакети до їхніх найновіших доступних версій, автоматично підтверджуючи запити.

> Професійна порада: На щойно підготованому сервері — особливо якщо ви запускаєте Ubuntu на Виділеному сервері — цей крок є обов’язковим. Застарілі пакети є одним з найпоширеніших векторів для порушень безпеки.

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

sudo reboot

2. Встановлення основних компонентів

Потужність Ubuntu полягає в його розширюваності. Наступні підрозділи охоплюють найбільш критичні пакети для будь-якого серйозного розгортання Ubuntu.

2.1. Build Essentials

Пакет build-essential встановлює підібраний набір інструментів, необхідних для компіляції програмного забезпечення з вихідного коду, включаючи GCC (GNU Compiler Collection), Make та стандартні бібліотеки C/C++.

sudo apt install build-essential -y

Перевірте встановлення:

gcc --version
make --version

Цей пакет є обов’язковою умовою для багатьох інших інструментів та мовних середовищ виконання (наприклад, розширення Python, Ruby gems, модулі Node.js).

2.2. Git — система контролю версій

Git — це стандартний у галузі інструмент для управління вихідним кодом, спільної розробки та конвеєрів розгортання.

sudo apt install git -y

Після встановлення налаштуйте вашу глобальну ідентичність:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

Перевірте вашу конфігурацію:

git config --list

Опціонально, але рекомендується: Встановіть назву гілки за замовчуванням на main для відповідності сучасним конвенціям:

git config --global init.defaultBranch main

2.3. Мережеві інструменти: curl та wget

Ці утиліти незамінні для завантаження файлів, тестування API та налагодження мережевої підключеності безпосередньо з командного рядка.

sudo apt install curl wget -y

Приклади швидкого використання:

# Download a file with wget
wget https://example.com/file.tar.gz

# Test an API endpoint with curl
curl -I https://example.com

Додаткові корисні інструменти діагностики мережі:

sudo apt install net-tools dnsutils traceroute -y
  • net-tools — надає ifconfig, netstat та пов’язані команди.
  • dnsutils — включає dig та nslookup для усунення неполадок DNS.
  • traceroute — відстежує мережевий шлях до віддаленого хоста.

2.4. Текстові редактори

Кожному системному адміністратору потрібен надійний текстовий редактор командного рядка. Ubuntu підтримує кілька варіантів залежно від ваших переваг та робочого процесу.

Nano (дружелюбний для початківців):

sudo apt install nano -y

Vim (потужний, дуже настроюється):

sudo apt install vim -y

Emacs (багатофункціональний, розширюваний):

sudo apt install emacs -y

> Рекомендація: Для серверних середовищ Vim є найбільш універсально доступним та потужним варіантом. Інвестуйте час у вивчення його основних команд — це значно прискорить ваш робочий процес.

2.5. Встановлення веб-сервера

Веб-сервер необхідний для розміщення веб-сайтів, веб-додатків та API. Два домінуючих варіанти на Ubuntu — це Nginx та Apache.

Встановлення Nginx (рекомендується для високої продуктивності)

sudo apt install nginx -y

Запустіть та увімкніть Nginx для автоматичного запуску при завантаженні:

sudo systemctl start nginx
sudo systemctl enable nginx

Перевірте, що він працює:

sudo systemctl status nginx

Перевірте вашу конфігурацію перед перезавантаженням:

sudo nginx -t

Встановлення Apache

sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2

Nginx проти Apache — який вибрати?

ФункціяNginxApache
Продуктивність під навантаженнямВідмінна (керована подіями)Хороша (на основі процесів/потоків)
Обслуговування статичних файлівДуже швидкоШвидко
Підтримка .htaccessНіТак
Екосистема модулівЗростаючаРозширена
Використання пам’ятіНижчеВище

Для більшості сучасних розгортань — особливо в хмарних середовищах VPS Hosting — Nginx є кращим вибором завдяки його вищій обробці одночасних з’єднань та меншому обсягу пам’яті.

3. Налаштування сховищ програмного забезпечення

Стандартна інсталяція Ubuntu включає лише сховища Main та Restricted. Щоб отримати доступ до значно ширшого діапазону програмного забезпечення, вам слід включити сховища Universe та Multiverse.

Метод 1: Використання графічного інтерфейсу (Desktop Ubuntu)

  1. Відкрийте Software & Updates з меню програм.
  2. На вкладці Ubuntu Software установіть прапорці для Universe та Multiverse.
  3. Натисніть Close та перезавантажте список пакетів, коли буде запропоновано.

Метод 2: Використання командного рядка (рекомендується для серверів)

sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo apt update

Огляд сховищ:

СховищеВміст
MainОфіційно підтримуване програмне забезпечення з відкритим кодом
RestrictedВласницькі драйвери з офіційною підтримкою
UniverseПрограмне забезпечення з відкритим кодом, підтримуване спільнотою
MultiverseПрограмне забезпечення з обмеженнями ліцензування

Додавання сторонніх PPA

Для програмного забезпечення, недоступного в офіційних сховищах, ви можете додати Personal Package Archives (PPA):

sudo add-apt-repository ppa:repository-name/ppa
sudo apt update
sudo apt install package-name

> Примітка безпеки: Додавайте PPA лише з надійних, добре відомих джерел. Сховища третіх осіб можуть внести непровірене програмне забезпечення у вашу систему.

4. Встановлення та налаштування брандмауера за допомогою UFW

Ubuntu поставляється з UFW (Uncomplicated Firewall), зручним інтерфейсом для iptables. Правильне налаштування брандмауера — один з найважливіших кроків безпеки для будь-якого сервера, доступного в Інтернеті.

Увімкнення UFW

sudo ufw enable

Дозвіл необхідних служб

Завжди дозволяйте SSH перед увімкненням брандмауера, щоб не заблокувати себе:

sudo ufw allow ssh

Або вкажіть порт явно:

sudo ufw allow 22/tcp

Дозвіл трафіку HTTP та HTTPS для веб-серверів:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Дозвіл конкретних профілів додатків:

sudo ufw allow 'Nginx Full'
# or
sudo ufw allow 'Apache Full'

Перевірка статусу брандмауера

sudo ufw status verbose

Додаткові команди UFW

# Deny a specific port
sudo ufw deny 8080/tcp

# Delete a rule
sudo ufw delete allow 8080/tcp

# Reset all rules
sudo ufw reset

# Disable UFW
sudo ufw disable

> Найкраща практика: Дотримуйтесь принципу найменших привілеїв — відкривайте лише порти, які явно потрібні для ваших служб. Кожен непотрібний відкритий порт — це потенційна поверхня атаки.

5. Встановлення та налаштування серверів баз даних

Бази даних є основою практично кожного веб-додатку. Ubuntu підтримує всі основні реляційні та NoSQL системи баз даних через свої репозиторії пакетів.

5.1. Встановлення MySQL

MySQL — найширше розповсюджена у світі відкрита реляційна база даних.

sudo apt install mysql-server -y

Після встановлення запустіть скрипт посилення безпеки:

sudo mysql_secure_installation

Цей інтерактивний скрипт буде:

  • Встановити пароль root (або перевірити надійність пароля)
  • Видалити анонімних користувачів
  • Заборонити віддалений вхід root
  • Видалити тестову базу даних
  • Перезавантажити таблиці привілеїв

Запустіть та увімкніть MySQL:

sudo systemctl start mysql
sudo systemctl enable mysql

Перевірте, що служба працює:

sudo systemctl status mysql

Підключіться до оболонки MySQL:

sudo mysql -u root -p

5.2. Встановлення MariaDB (альтернатива, сумісна з MySQL)

MariaDB — розроблена спільнотою гілка MySQL з покращеною продуктивністю та додатковими функціями:

sudo apt install mariadb-server mariadb-client -y
sudo mysql_secure_installation
sudo systemctl enable --now mariadb

5.3. Встановлення PostgreSQL

PostgreSQL — потужна, корпоративна об’єктно-реляційна система баз даних, відома своєю відповідністю стандартам та розширюваністю.

sudo apt install postgresql postgresql-contrib -y

Запустіть та увімкніть PostgreSQL:

sudo systemctl start postgresql
sudo systemctl enable postgresql

Перейдіть на адміністративного користувача PostgreSQL та відкрийте оболонку:

sudo -i -u postgres
psql

Створіть нову базу даних та користувача:

CREATE DATABASE myapp_db;
CREATE USER myapp_user WITH ENCRYPTED PASSWORD 'strong_password';
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO myapp_user;
q

6. Встановлення додаткових інструментів та утиліт

Крім основних, наступні інструменти значно підвищують вашу продуктивність, видимість системи та можливості розгортання.

Docker — Container Runtime

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

sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker

Додайте свого користувача до групи Docker, щоб виконувати команди без sudo:

sudo usermod -aG docker $USER
newgrp docker

Перевірте, що Docker працює:

docker run hello-world

Для розгортання у виробництві також розглядайте встановлення Docker Compose:

sudo apt install docker-compose -y

htop — Інтерактивний переглядач процесів

htop забезпечує реальний час, кольоровий вигляд системних процесів, використання CPU, споживання пам’яті та багато іншого — набагато краще за стандартну команду top.

sudo apt install htop -y
htop

Ключові скорочення htop:

  • F6 — Сортування процесів за стовпцем
  • F9 — Завершити процес
  • F10 — Вихід
  • / — Пошук процесу

Tmux — Мультиплексер терміналу

Tmux дозволяє вам створювати, керувати та зберігати кілька сеансів терміналу в одному SSH з’єднанні — неоцінимо для довгих завдань на віддалених серверах.

sudo apt install tmux -y

Основні команди Tmux:

# Start a new session
tmux new -s mysession

# Detach from session (keeps it running)
Ctrl+B, then D

# List all sessions
tmux ls

# Reattach to a session
tmux attach -t mysession

Додаткові рекомендовані утиліти

# fail2ban — Intrusion prevention system
sudo apt install fail2ban -y

# unzip — Extract ZIP archives
sudo apt install unzip -y

# tree — Display directory structure
sudo apt install tree -y

# ncdu — Disk usage analyzer
sudo apt install ncdu -y

# jq — JSON processor for the command line
sudo apt install jq -y

7. Налаштування параметрів системи Ubuntu

7.1. Включення автоматичних оновлень безпеки

Утримання вашої системи в актуальному стані критично важливо — особливо на публічно доступних серверах. Пакет unattended-upgrades Ubuntu автоматизує цей процес.

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgrades

Щоб налаштувати поведінку, відредагуйте файл конфігурації:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Ключові параметри для перевірки:

  • Unattended-Upgrade::Allowed-Origins — Визначте, які репозиторії запускають автоматичні оновлення.
  • Unattended-Upgrade::Automatic-Reboot — Встановіть на true, щоб дозволити автоматичні перезавантаження після оновлень ядра.
  • Unattended-Upgrade::Mail — Налаштуйте сповіщення електронною поштою для активності оновлень.

7.2. Керування програмами при запуску (Desktop Ubuntu)

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

  1. Знайдіть Програми при запуску у меню програм GNOME.
  2. Перегляньте список увімкнених програм при запуску.
  3. Вимкніть будь-які програми, які вам не потрібні при вході.
  4. Використовуйте кнопку Додати, щоб зареєструвати нові скрипти запуску або програми.

Для серверних середовищ керуйте сервісами за допомогою systemd:

# Disable a service from starting at boot
sudo systemctl disable service-name

# Enable a service at boot
sudo systemctl enable service-name

# List all enabled services
sudo systemctl list-unit-files --state=enabled

7.3. Налаштування часового поясу системи

Правильне налаштування часового поясу є важливим для точності журналів, запланованих завдань та перевірки сертифіката SSL.

# Check current timezone
timedatectl

# List available timezones
timedatectl list-timezones

# Set timezone
sudo timedatectl set-timezone Europe/London

7.4. Налаштування SSH для безпечного віддаленого доступу

Якщо ви керуєте віддаленим сервером, посилення конфігурації SSH є першорядним.

sudo nano /etc/ssh/sshd_config

Рекомендовані параметри безпеки:

# Disable root login
PermitRootLogin no

# Disable password authentication (use SSH keys instead)
PasswordAuthentication no

# Change default SSH port (optional but reduces automated scanning)
Port 2222

# Limit login attempts
MaxAuthTries 3

Після внесення змін перезавантажте SSH:

sudo systemctl restart sshd

> Важливо: Завжди тестуйте нову конфігурацію SSH у окремому сеансі терміналу перед закриттям поточного з’єднання, щоб уникнути блокування доступу.

8. Налаштування автоматичних резервних копій

Втрата даних — це катастрофа. Незалежно від того, чи ви запускаєте особистий проект або критично важливу для бізнесу програму, автоматичні резервні копії є обов’язковими.

Використання вбудованого інструменту резервного копіювання Ubuntu (Desktop)

  1. Знайдіть Backups (Déjà Dup) у меню програм.
  2. Налаштуйте місце призначення резервної копії: зовнішній диск, мережева папка або хмарне сховище.
  3. Встановіть розклад резервного копіювання на вкладці Scheduling.
  4. Увімкніть Automatic Backup і налаштуйте періоди збереження.

Резервне копіювання з командного рядка за допомогою rsync (рекомендується для серверів)

rsync є золотим стандартом для ефективного, інкрементального резервного копіювання файлів на серверах Linux.

# Basic local backup
rsync -avz /source/directory/ /backup/destination/

# Remote backup over SSH
rsync -avz -e ssh /local/directory/ user@remote-server:/backup/path/

# Exclude specific directories
rsync -avz --exclude='*.log' --exclude='tmp/' /source/ /destination/

Автоматизація резервного копіювання за допомогою Cron

crontab -e

Додайте щоденне завдання резервного копіювання о 2:00 ночі:

0 2 * * * rsync -avz /var/www/ /backup/www/ >> /var/log/backup.log 2>&1

Найкращі практики резервного копіювання

  • Дотримуйтесь правила 3-2-1: 3 копії даних, на 2 різних типах носіїв, з 1 копією поза межами сайту.
  • Регулярно тестуйте резервні копії, виконуючи навчальні відновлення.
  • Зашифруйте конфіденційні дані резервної копії.
  • Моніторьте журнали резервного копіювання на предмет помилок.

9. Моніторинг системи та оптимізація продуктивності

Вбудовані інструменти моніторингу

GNOME System Monitor (Desktop):

Надає графічний огляд використання CPU, пам’яті, дискового вводу-виводу та мережі. Запустіть його з меню програм або через:

gnome-system-monitor

htop (Command Line):

htop

vmstat — Virtual Memory Statistics:

vmstat 1 10

iostat — CPU and I/O Statistics:

sudo apt install sysstat -y
iostat -x 1 5

free — Memory Usage:

free -h

df — Disk Space Usage:

df -h

netstat / ss — Network Connections:

ss -tuln

9.1. Налаштування моніторингу системи за допомогою Prometheus та Node Exporter

Для виробничих середовищ належний стек моніторингу забезпечує історичні дані, оповіщення та панелі керування.

# Install Node Exporter for system metrics
wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-*.linux-amd64.tar.gz
tar xvfz node_exporter-*.tar.gz
sudo cp node_exporter-*/node_exporter /usr/local/bin/
sudo systemctl enable --now node_exporter

10. Оптимізація продуктивності системи

10.1. Вимкніть непотрібні стартові сервіси

Визначте та вимкніть сервіси, які вам не потрібні:

# List all running services
sudo systemctl list-units --type=service --state=running

# Disable a specific service
sudo systemctl disable --now bluetooth.service
sudo systemctl disable --now cups.service

10.2. Налаштуйте та увімкніть простір підкачки

Простір підкачки діє як переповнення пам’яті, коли RAM вичерпується. На серверах з обмеженою RAM правильно налаштована підкачка може запобігти збоям через нестачу пам’яті.

# Create a 2GB swap file
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Make swap permanent across reboots
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Налаштуйте swappiness (менше значення = менш агресивна підкачка):

sudo sysctl vm.swappiness=10
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

10.3. Видаліть невикористовувані пакети та очистіть кеш пакетів

З часом сирітські пакети та кешовані завантаження займають значний простір на диску:

# Remove automatically installed packages no longer needed
sudo apt autoremove -y

# Remove cached package files
sudo apt autoclean

# Full clean of the package cache
sudo apt clean

10.4. Оптимізуйте дисковий ввід-вивід за допомогою планувальника Deadline

Для SSD планувальник none (noop) часто забезпечує кращу продуктивність:

# Check current scheduler
cat /sys/block/sda/queue/scheduler

# Set scheduler temporarily
echo none | sudo tee /sys/block/sda/queue/scheduler

10.5. Увімкніть та налаштуйте Fail2Ban

Fail2Ban моніторить файли журналів та автоматично блокує IP-адреси, які показують зловмисну поведінку (наприклад, атаки перебору SSH):

sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban

Створіть локальне перевизначення конфігурації:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

Ключові параметри:

[sshd]
enabled = true
port = ssh
maxretry = 5
bantime = 3600
findtime = 600

Перезавантажте Fail2Ban, щоб застосувати зміни:

sudo systemctl restart fail2ban
sudo fail2ban-client status sshd

Розміщення вашого Ubuntu сервера на AlexHost

Правильно налаштована система Ubuntu настільки ж хороша, наскільки хороша інфраструктура, на якій вона працює. Незалежно від того, розгортаєте ви особистий проект, бізнес-додаток або складну багаторівневу архітектуру, надійне розміщення є основою всього.

AlexHost пропонує повний спектр рішень для розміщення, розроблених для доповнення вашої Ubuntu установки:

  • VPS Hosting — Повний root доступ, SSD сховище та масштабовані ресурси. Ідеально для розгортання Ubuntu серверів з повним контролем над вашим середовищем.
  • Dedicated Servers — Продуктивність bare-metal для вимогливих робочих навантажень. Ідеально, коли вам потрібна максимальна CPU, RAM та пропускна здатність I/O без спільного використання ресурсів.
  • VPS з cPanel — Поєднує потужність VPS з простотою веб-інтерфейсу управління cPanel — чудовий варіант, якщо ви віддаєте перевагу GUI замість командного рядка.
  • SSL Certificates — Захистіть ваші веб-додатки надійними SSL/TLS сертифікатами. Необхідно для будь-якого виробничого веб-сервера.
  • Shared Web Hosting — Доступна точка входу для менших проектів, які ще не потребують повного VPS.

Усі сервери AlexHost підтримують Ubuntu і можуть бути розгорнені за кілька хвилин, надаючи вам чисту, актуальну базу для застосування всього, що розглядається в цьому посібнику.

Висновок

Встановлення та налаштування компонентів Ubuntu — це не одноразова задача — це постійна практика, яка розвивається разом з потребами вашої інфраструктури. Систематично працюючи з оновленнями системи, встановленням необхідних пакетів, налаштуванням репозиторіїв, конфігурацією брандмауера, розгортанням баз даних, оптимізацією продуктивності та автоматизованим резервним копіюванням, ви створюєте надійне, безпечне та високофункціональне середовище Ubuntu.

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

Ключові висновки:

  • Завжди оновлюйте вашу систему перед встановленням нового програмного забезпечення.
  • Дотримуйтесь принципу найменших привілеїв для користувачів, сервісів та правил брандмауера.
  • Автоматизуйте оновлення безпеки та резервне копіювання — не покладайтесь на ручні процеси.
  • Моніторьте вашу систему активно, а не реактивно.
  • Розумно вибирайте вашу хостинг-інфраструктуру — вона є основою всього іншого.

Послідовно застосовуючи ці практики, ваша система Ubuntu залишатиметься безпечною, продуктивною та готовою до будь-яких викликів.