Встановлення та налаштування компонентів Ubuntu: Повний посібник
Ubuntu залишається однією з найпопулярніших дистрибутивів Linux у світі — і не без причини. Його гнучкість, надійна екосистема пакетів та сильна підтримка спільноти роблять його ідеальною платформою для розробників, системних адміністраторів та бізнесу. Незалежно від того, чи ви налаштовуєте локальну машину розробки або розгортаєте VPS Hosting у хмарі, знання того, як правильно встановлювати та налаштовувати компоненти Ubuntu, є фундаментальною навичкою, яка приносить користь на кожному рівні вашої інфраструктури.
Цей комплексний посібник проведе вас через кожен критичний крок: оновлення системи, встановлення необхідних пакетів, налаштування брандмауерів, налаштування серверів баз даних, оптимізація продуктивності та багато іншого. Наприкінці ваша система Ubuntu буде посилена, ефективна та готова до виробничих навантажень.
Зміст
- Оновлення Ubuntu перед встановленням чого-небудь
- Встановлення необхідних компонентів
- Налаштування репозиторіїв програмного забезпечення
- Встановлення та налаштування брандмауера за допомогою UFW
- Встановлення та налаштування серверів баз даних
- Встановлення додаткових інструментів та утиліт
- Налаштування параметрів системи Ubuntu
- Налаштування автоматичного резервного копіювання
- Моніторинг системи та оптимізація продуктивності
- Остаточні поради для готової до виробництва системи Ubuntu
1. Оновлення Ubuntu перед встановленням чого-небудь
Перед тим як торкатися будь-якого пакета, завжди повністю оновлюйте вашу систему. Це гарантує, що ви працюєте з останніми патчами безпеки, виправленнями помилок та поліпшеннями сумісності програмного забезпечення.
sudo apt update && sudo apt upgrade -yЩо це робить:
apt update— Оновлює локальний індекс пакетів з усіх налаштованих репозиторіїв.apt upgrade -y— Оновлює всі встановлені пакети до їхніх останніх доступних версій, автоматично підтверджуючи запити.
> Професійна порада: На щойно розгорнутому сервері — особливо якщо ви запускаєте Ubuntu на Dedicated Server — цей крок є обов’язковим. Застарілі пакети є одним із найпоширеніших векторів для порушень безпеки.
Після оновлення перезавантажте систему, якщо було оновлено ядро:
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 — контейнерне середовище виконання
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. Увімкнення автоматичних оновлень безпеки
Утримання вашої системи в актуальному стані є критичним — особливо на публічно доступних серверах. Пакет 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)
Контроль того, які додатки запускаються при вході, допомагає зменшити час завантаження та заощадити системні ресурси.
- Пошук Startup Applications у меню додатків GNOME.
- Перегляньте список увімкнених програм при запуску.
- Вимкніть будь-які додатки, які вам не потрібні при вході.
- Використовуйте кнопку 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=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Дод
