15%

Збережіть 15% на всі хостинг-послуги

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

Використовуй код:

Skills
Почати
31.10.2024
1 +1

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

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

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

Зміст

  1. Оновлення Ubuntu перед встановленням чого-небудь
  2. Встановлення необхідних компонентів
  3. Налаштування репозиторіїв програмного забезпечення
  4. Встановлення та налаштування брандмауера за допомогою UFW
  5. Встановлення та налаштування серверів баз даних
  6. Встановлення додаткових інструментів та утиліт
  7. Налаштування параметрів системи Ubuntu
  8. Налаштування автоматичного резервного копіювання
  9. Моніторинг системи та оптимізація продуктивності
  10. Остаточні поради для готової до виробництва системи Ubuntu

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

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

sudo apt update && sudo apt upgrade -y

Що це робить:

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

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

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

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 — контейнерне середовище виконання

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. Увімкнення автоматичних оновлень безпеки

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

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. Пошук Startup Applications у меню додатків GNOME.
  2. Перегляньте список увімкнених програм при запуску.
  3. Вимкніть будь-які додатки, які вам не потрібні при вході.
  4. Використовуйте кнопку Add для реєстрації нових скриптів запуску або додатків.

Для серверних середовищ керуйте службами за допомогою 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

Дод

15%

Збережіть 15% на всі хостинг-послуги

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

Використовуй код:

Skills
Почати