January 5

Nginx, Adminer, PostgreSQL. Полная настройка нового сервера.  

Данная статья рассказывает как настроить сервер с СУБД PostgreSQL под управлением системы Admier.

Шаг 1: Откройте терминал и обновите пакеты.

Для начала откройте терминал и введите команды для обновления системы:

sudo apt update
sudo apt upgrade

Шаг 2: Установите Nginx.

sudo apt install nginx

sudo apt install nginx

Шаг 3: Установите PostgreSQL.

sudo apt install postgresql postgresql-contrib
Для управления СУБД необходимо создать пользователя - администратора!

Необходимо по очереди ввести 3 команды. Не забудьте изменить пароль для аминистратора!

sudo -u postgres psql
CREATE USER admin WITH SUPERUSER PASSWORD 'admin';
\q

Чтобы открыть доступ для подключения любых сторонних устройств нужно настроить конфигурацию БД. (ТОЛЬКО ПРИ НЕОБХОДИМОСТИ):

Найдите и отредактируйте файлыpg_hba.conf и postgresql.conf Обычно находятся по пути: /etc/postgresql/16/main/

Добавьте следующую строку в файл pg_hba.conf:

host    all             all             0.0.0.0/0               md5

Добавьте следующую строку в файл postgresql.conf:

listen_addresses = '*'

После внесения изменений необходимо перезапустить сервер базы данных:

sudo systemctl restart postgresql

Шаг 4: Установите PHP:

Установите PHP и необходимые модули

sudo apt install php-fpm php-pgsql

Шаг 5: Создайте директорию для Adminer:

sudo mkdir -p /var/www/adminer

Шаг 6: Скачайте последнюю версию Adminer:

sudo wget https://www.adminer.org/latest.php -O /var/www/adminer/adminer.php

Шаг 7: Создайте конфигурационный файл для nginx:

sudo nano /etc/nginx/conf.d/adminer.conf
server {
listen 80;
server_name adminer.your-domain.com; # замените на ваш домен или IP
root /var/www/adminer;
index adminer.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php-fpm.sock; # проверьте путь к php-fpm socket
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
try_files $uri $uri/ =404;
}
}

Шаг 8: Проверьте конфигурацию nginx:

sudo nginx -t

Шаг 9: Если проверка прошла успешно, перезагрузите nginx:

sudo systemctl reload nginx

Шаг 10: Установите корректные права доступа:

sudo chown -R www-data:www-data /var/www/adminer

Шаг 11: Откройте веб-браузер и перейдите по адресу:

http://<ваш_домен_или_IP>/adminer.php

При входе выберите движок PostreSQL и сервер 127.0.0.1:

Как запустить бота?

Если на сервере только одна версия python:

Перейдите в директорию с вашим ботом

cd /путь/к/вашему/боту

Создайте виртуальное окружение:

python3 -m venv venv

Активируйте виртуальное окружение:

source venv/bin/activate

Установите зависимости из файла requirements.txt:

pip install -r requirements.txt

Запустите бота:

nohup python3 app.py &

Если на сервере несколько версий python:

Не забудь установить python и виртуальное окружение для него:

sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa

sudo apt update
sudo apt install --reinstall python3.11 python3.11-venv python3.11-dev

Перейдите в директорию с вашим ботом

cd /путь/к/вашему/боту

Создайте виртуальное окружение:

python3.11 -m venv venv

Активируйте виртуальное окружение:

source venv/bin/activate

Установите зависимости из файла requirements.txt:

pip install -r requirements.txt

Запустите бота:

nohup python3 app.py &