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 vs. Apache — Какой выбрать?

ФункцияNginxApache
Производительность под нагрузкойОтличная (управляемая событиями)Хорошая (на основе процессов/потоков)
Обслуживание статических файловОчень быстроБыстро
Поддержка .htaccessНетДа
Экосистема модулейРастущаяОбширная
Использование памятиНижеВыше

Для большинства современных развертываний — особенно в облачных окружениях VPS Hosting — Nginx является предпочтительным выбором благодаря его превосходной обработке одновременных соединений и более низкому потреблению памяти.

3. Настройка программных репозиториев

Установка Ubuntu по умолчанию включает только репозитории Main и Restricted. Чтобы получить доступ к значительно более широкому диапазону программного обеспечения, вы должны включить репозитории Universe и Multiverse.

Метод 1: Использование GUI (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. Включение автоматических обновлений безопасности

Поддержание вашей системы в актуальном состоянии критично — особенно на общедоступных серверах. Пакет 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. Найдите 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

Добавьте ежедневное задание резервного копирования в 2:00 AM:

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

Лучшие практики резервного копирования

  • Следуйте правилу 3-2-1: 3 копии данных, на 2 разных типах носителей, с 1 копией вне сайта.
  • Регулярно тестируйте ваши резервные копии, выполняя учебные восстановления.
  • Зашифруйте чувствительные данные резервной копии.
  • Мониторьте логи резервного копирования на предмет сбоев.

9. Мониторинг системы и оптимизация производительности

Встроенные инструменты мониторинга

GNOME System

15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать