Установка и настройка компонентов 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 vs. Apache — Какой выбрать?
| Функция | Nginx | Apache |
|---|---|---|
| Производительность под нагрузкой | Отличная (управляемая событиями) | Хорошая (на основе процессов/потоков) |
| Обслуживание статических файлов | Очень быстро | Быстро |
| Поддержка .htaccess | Нет | Да |
| Экосистема модулей | Растущая | Обширная |
| Использование памяти | Ниже | Выше |
Для большинства современных развертываний — особенно в облачных окружениях VPS Hosting — Nginx является предпочтительным выбором благодаря его превосходной обработке одновременных соединений и более низкому потреблению памяти.
3. Настройка программных репозиториев
Установка Ubuntu по умолчанию включает только репозитории Main и Restricted. Чтобы получить доступ к значительно более широкому диапазону программного обеспечения, вы должны включить репозитории Universe и Multiverse.
Метод 1: Использование GUI (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. Включение автоматических обновлений безопасности
Поддержание вашей системы в актуальном состоянии критично — особенно на общедоступных серверах. Пакет 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)
Контроль над тем, какие приложения запускаются при входе, помогает сократить время загрузки и сэкономить системные ресурсы.
- Найдите 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Добавьте ежедневное задание резервного копирования в 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
