Представь, что ты только что развернул чистый Ubuntu Server и тебе нужно превратить его в полноценный рабочий сервер. В этой статье я, как Senior DevOps ментор, проведу тебя через ключевые этапы установки на Ubuntu Server самых важных сервисов: от базовой настройки SSH до развертывания Postgresql и Apache.
Подготовка Ubuntu Server к работе
Перед тем как начать установку на Ubuntu Server конкретных сервисов, давай разберем базовые шаги, которые обеспечат стабильную работу системы.
Обновление системы и установка базовых утилит
Первое, что нужно сделать после Ubuntu Server установки — обновить пакеты:
sudo apt update
sudo apt upgrade -y
sudo apt install -y curl wget htop net-tools
💡 Совет ментора: Всегда выполняй apt update перед установкой любых пакетов. Это гарантирует, что ты работаешь с актуальными версиями из репозиториев.
Установка SSH на Ubuntu Server
SSH — твой главный инструмент для удаленного управления. Установка SSH на Ubuntu Server обычно выполняется одной командой, но правильная настройка требует внимания.
Базовая установка и настройка безопасности
# Установка OpenSSH сервера
sudo apt install -y openssh-server
# Проверка статуса службы
sudo systemctl status ssh
# Автозагрузка при старте системы
sudo systemctl enable ssh
После установки SSH на Ubuntu Server, рекомендую сразу же настроить безопасность:
# Резервное копирование конфига
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
# Открываем конфиг для редактирования
sudo nano /etc/ssh/sshd_config
В файле /etc/ssh/sshd_config измени следующие параметры:
Port 2222— меняем стандартный порт (необязательно, но рекомендуется)PermitRootLogin no— запрещаем вход под rootPasswordAuthentication no— отключаем парольную аутентификациюPubkeyAuthentication yes— включаем аутентификацию по ключам
⚠️ Внимание: Прежде чем отключать PasswordAuthentication, убедись, что добавил свой SSH-ключ в ~/.ssh/authorized_keys на сервере!
Установка Apache на Ubuntu Server
Apache — один из самых популярных веб-серверов. Ubuntu Server установка Apache выполняется просто, но есть нюансы в настройке.
Полная установка и базовая конфигурация
# Установка Apache2
sudo apt install -y apache2
# Проверяем версию
apache2 -v
# Запускаем и добавляем в автозагрузку
sudo systemctl start apache2
sudo systemctl enable apache2
После установки Apache на Ubuntu Server, проверь его работу:
# Проверка статуса
sudo systemctl status apache2
# Тестирование конфигурации
sudo apache2ctl configtest
# Перезагрузка конфигурации
sudo systemctl reload apache2
Настройка виртуальных хостов
Для Ubuntu Server установка Apache будет неполной без настройки виртуальных хостов:
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
<Directory /var/www/example.com/public_html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Установка Postgresql Server на Ubuntu
PostgreSQL — мощная объектно-реляционная СУБД. Установка Postgresql Ubuntu Server имеет свои особенности в зависимости от версии.
Установка последней версии PostgreSQL
# Добавляем официальный репозиторий PostgreSQL
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# Импортируем ключ репозитория
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# Обновляем пакеты и устанавливаем PostgreSQL
sudo apt update
sudo apt install -y postgresql postgresql-contrib
После установки Postgresql Server проверь его состояние:
# Проверка статуса службы
sudo systemctl status postgresql
# Проверка версии
psql --version
# Запуск интерактивной консоли PostgreSQL
sudo -u postgres psql
Базовая настройка безопасности PostgreSQL
После установки Postgresql Ubuntu Server нужно настроить аутентификацию:
# Редактируем pg_hba.conf
sudo nano /etc/postgresql/14/main/pg_hba.conf
# Меняем метод аутентификации с trust на md5:
# Было: local all all trust
# Стало: local all all md5
💡 Важно: Цифра 14 в пути — это версия PostgreSQL. У тебя может быть другая версия. Проверь содержимое каталога /etc/postgresql/.
Создание базы данных и пользователя
-- Входим в консоль PostgreSQL
sudo -u postgres psql
-- Создаем нового пользователя
CREATE USER myuser WITH PASSWORD 'StrongPassword123!';
-- Создаем базу данных
CREATE DATABASE mydb OWNER myuser;
-- Даем все привилегии пользователю на базу данных
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
-- Выходим
\q
Сравнение методов установки на Debian-системах
| Сервис | Ubuntu Server | Debian | Рекомендуемая версия |
|---|---|---|---|
| Apache | apt install apache2 |
apt install apache2 |
2.4.x |
| PostgreSQL | Из репозитория pgdg | Из репозитория pgdg | 14+ |
| SSH Server | apt install openssh-server |
apt install openssh-server |
OpenSSH 8.x |
Часто задаваемые вопросы (FAQ)
Чем отличается установка на Debian от Ubuntu Server установки?
В 95% случаев команды идентичны, так как Ubuntu основан на Debian. Основные отличия: версии пакетов в репозиториях и некоторые системные утилиты. Для установки server на Debian используй те же команды apt install, но проверяй доступность пакетов в репозиториях конкретной версии Debian.
Как проверить, что Apache работает после установки на Ubuntu Server?
Выполни команду sudo systemctl status apache2 и проверь, что служба активна. Затем открой браузер и перейди по IP-адресу сервера. Должна появиться стандартная страница "Apache2 Ubuntu Default Page". Также проверь логи: tail -f /var/log/apache2/access.log.
Почему не получается подключиться к PostgreSQL после установки?
Скорее всего, проблема в настройках аутентификации в pg_hba.conf или в брандмауэре. Проверь: 1) Правильно ли настроен метод аутентификации, 2) Открыт ли порт 5432 в брандмауэре, 3) Слушает ли PostgreSQL на нужном интерфейсе (0.0.0.0 или localhost).
Можно ли установить несколько версий PostgreSQL на один сервер?
Да, можно. Каждая версия устанавливается в отдельный каталог (/etc/postgresql/14/, /etc/postgresql/15/ и т.д.) и использует разные порты. Управлять службами можно через systemctl с указанием версии: sudo systemctl status postgresql@14-main.
Заключение
Мы прошли полный путь от чистой системы до рабочего сервера с SSH для управления, Apache для веб-сервисов и PostgreSQL для данных. Запомни ключевые моменты:
- Всегда начинай с обновления системы (
apt update && apt upgrade) - Настрой безопасность SSH перед открытием доступа к серверу
- Для Ubuntu Server установка Apache включает настройку виртуальных хостов под твои проекты
- Установка Postgresql Ubuntu Server требует дополнительной настройки аутентификации
- Тестируй каждый сервис после установки командой
systemctl status
Теперь у те есть готовый к работе сервер. Следующие шаги — настройка брандмауэра (UFW), резервное копирование и мониторинг. Но это уже тема для отдельной статьи.