Встановлення та налаштування компонентів Ubuntu: Повний посібник
Ubuntu залишається однією з найпопулярніших дистрибутивів Linux у світі — і це не без причини. Його гнучкість, надійна екосистема пакетів та сильна підтримка спільноти роблять його ідеальною платформою для розробників, системних адміністраторів та компаній. Незалежно від того, налаштовуєте ви локальну машину розробки чи розгортаєте VPS Hosting середовище в хмарі, знання того, як правильно встановлювати та налаштовувати компоненти Ubuntu, є фундаментальною навичкою, яка приносить користь на кожному рівні вашої інфраструктури.
Цей комплексний посібник проведе вас через кожен критичний крок: оновлення вашої системи, встановлення необхідних пакетів, налаштування брандмауерів, налаштування серверів баз даних, оптимізацію продуктивності та багато іншого. Наприкінці ваша система Ubuntu буде захищена, ефективна та готова до виробничих навантажень.
1. Оновлення Ubuntu перед встановленням чого-небудь
Перед тим, як торкатися будь-якого пакета, завжди приведіть вашу систему в повністю оновлений стан. Це гарантує, що ви працюєте з найновішими патчами безпеки, виправленнями помилок та поліпшеннями сумісності програмного забезпечення.
sudo apt update && sudo apt upgrade -yЩо це робить:
apt update— Оновлює локальний індекс пакетів з усіх налаштованих репозиторіїв.apt upgrade -y— Оновлює всі встановлені пакети до їхніх найновіших доступних версій, автоматично підтверджуючи запити.
> Професійна порада: На щойно підготованому сервері — особливо якщо ви запускаєте Ubuntu на Виділеному сервері — цей крок є обов’язковим. Застарілі пакети є одним з найпоширеніших векторів для порушень безпеки.
Після оновлення перезавантажте систему, якщо було оновлено ядро:
sudo reboot2. Встановлення основних компонентів
Потужність 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 main2.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 -ynet-tools— надаєifconfig,netstatта пов’язані команди.dnsutils— включаєdigтаnslookupдля усунення неполадок DNS.traceroute— відстежує мережевий шлях до віддаленого хоста.
2.4. Текстові редактори
Кожному системному адміністратору потрібен надійний текстовий редактор командного рядка. Ubuntu підтримує кілька варіантів залежно від ваших переваг та робочого процесу.
Nano (дружелюбний для початківців):
sudo apt install nano -yVim (потужний, дуже настроюється):
sudo apt install vim -yEmacs (багатофункціональний, розширюваний):
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 apache2Nginx проти Apache — який вибрати?
| Функція | Nginx | Apache |
|---|---|---|
| Продуктивність під навантаженням | Відмінна (керована подіями) | Хороша (на основі процесів/потоків) |
| Обслуговування статичних файлів | Дуже швидко | Швидко |
| Підтримка .htaccess | Ні | Так |
| Екосистема модулів | Зростаюча | Розширена |
| Використання пам’яті | Нижче | Вище |
Для більшості сучасних розгортань — особливо в хмарних середовищах VPS Hosting — Nginx є кращим вибором завдяки його вищій обробці одночасних з’єднань та меншому обсягу пам’яті.
3. Налаштування сховищ програмного забезпечення
Стандартна інсталяція Ubuntu включає лише сховища Main та Restricted. Щоб отримати доступ до значно ширшого діапазону програмного забезпечення, вам слід включити сховища Universe та Multiverse.
Метод 1: Використання графічного інтерфейсу (Desktop Ubuntu)
- Відкрийте Software & Updates з меню програм.
- На вкладці Ubuntu Software установіть прапорці для Universe та Multiverse.
- Натисніть 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 -p5.2. Встановлення MariaDB (альтернатива, сумісна з MySQL)
MariaDB — розроблена спільнотою гілка MySQL з покращеною продуктивністю та додатковими функціями:
sudo apt install mariadb-server mariadb-client -y
sudo mysql_secure_installation
sudo systemctl enable --now mariadb5.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;
q6. Встановлення додаткових інструментів та утиліт
Крім основних, наступні інструменти значно підвищують вашу продуктивність, видимість системи та можливості розгортання.
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 -yhtop — Інтерактивний переглядач процесів
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 -y7. Налаштування параметрів системи 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)
Контроль над тим, які програми запускаються при вході, допомагає скоротити час завантаження та зберегти ресурси системи.
- Знайдіть Програми при запуску у меню програм GNOME.
- Перегляньте список увімкнених програм при запуску.
- Вимкніть будь-які програми, які вам не потрібні при вході.
- Використовуйте кнопку Додати, щоб зареєструвати нові скрипти запуску або програми.
Для серверних середовищ керуйте сервісами за допомогою 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=enabled7.3. Налаштування часового поясу системи
Правильне налаштування часового поясу є важливим для точності журналів, запланованих завдань та перевірки сертифіката SSL.
# Check current timezone
timedatectl
# List available timezones
timedatectl list-timezones
# Set timezone
sudo timedatectl set-timezone Europe/London7.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)
- Знайдіть Backups (Déjà Dup) у меню програм.
- Налаштуйте місце призначення резервної копії: зовнішній диск, мережева папка або хмарне сховище.
- Встановіть розклад резервного копіювання на вкладці Scheduling.
- Увімкніть 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-monitorhtop (Command Line):
htopvmstat — Virtual Memory Statistics:
vmstat 1 10iostat — CPU and I/O Statistics:
sudo apt install sysstat -y
iostat -x 1 5free — Memory Usage:
free -hdf — Disk Space Usage:
df -hnetstat / ss — Network Connections:
ss -tuln9.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_exporter10. Оптимізація продуктивності системи
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.service10.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.conf10.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 clean10.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/scheduler10.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 залишатиметься безпечною, продуктивною та готовою до будь-яких викликів.
на всіх хостингових послугах