Сэкономьте 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 на 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 — Container Runtime

Docker позволяет упаковать приложения и их зависимости в портативные контейнеры, обеспечивая согласованность в средах разработки, staging и production.

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

Для production развертываний также рассмотрите установку Docker Compose:

sudo apt install docker-compose -y

htop — Interactive Process Viewer

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

sudo apt install htop -y
htop

Основные сочетания клавиш htop:

  • F6 — Сортировка процессов по столбцу
  • F9 — Завершить процесс
  • F10 — Выход
  • / — Поиск процесса

Tmux — Terminal Multiplexer

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 AM:

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

Для production-окружений надлежащий стек мониторинга обеспечивает исторические данные, оповещения и панели управления.

# 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 сертификатами. Необходимо для любого production веб-сервера.
  • Shared Web Hosting — Доступная точка входа для небольших проектов, которые еще не требуют полного VPS.

Все серверы AlexHost поддерживают Ubuntu и могут быть развернуты за несколько минут, предоставляя вам чистую, актуальную базу для применения всего, что описано в этом руководстве.

Заключение

Установка и настройка компонентов Ubuntu — это не одноразовая задача, а постоянная практика, которая развивается в соответствии с потребностями вашей инфраструктуры. Систематически работая над обновлением системы, установкой необходимых пакетов, конфигурацией репозиториев, настройкой брандмауэра, развертыванием баз данных, оптимизацией производительности и автоматизированными резервными копиями, вы создаете надежную, безопасную и высокофункциональную среду Ubuntu.

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

Ключевые выводы:

  • Всегда обновляйте систему перед установкой нового программного обеспечения.
  • Следуйте принципу наименьших привилегий для пользователей, сервисов и правил брандмауэра.
  • Автоматизируйте обновления безопасности и резервные копии — не полагайтесь на ручные процессы.
  • Проактивно мониторьте вашу систему, а не реактивно.
  • Мудро выбирайте инфраструктуру хостинга — она является основой всего остального.

Применяйте эти практики последовательно, и ваша система Ubuntu останется безопасной, производительной и готовой к любым вызовам.