1. Войдите на виртуальный сервер с помощью SSH
Подключение через протокол SSH.
2. Создайте базу данных PostgreSQL
initdb -D $HOME/postgresql echo "listen_addresses = '$(vs-loopback-ip -4)'" >> $HOME/postgresql/postgresql.conf echo "unix_socket_directories = '$HOME/tmp'" >> $HOME/postgresql/postgresql.conf
3. Создайте файл конфигурации PM2
Файл PM2 необходим для автоматического запуска службы PostgreSQL. В имени файла важно окончание .config.js!
Откройте файл ~/postgresql/postgresql.config.js
и добавьте:
module.exports = { apps: [ { name: "postgresql", script: "/opt/zse/bin/postgres", args: "-D " + process.env.HOME + "/postgresql/", exec_mode: "fork", // Ensures it runs in the background autorestart: true, // Restart if it crashes watch: false, // PM2 will not watch for file changes max_restarts: 10, // Maximum number of restarts before giving up }, ], };
4. Добавить приложение PM2 в панель управления Мой Zone
В управлении веб-хостингом в панели Мой Zone
выберите PM2 (Node.js)
, а затем Установить новое приложение
.
Введите Postgresql
в поле Имя приложения.
В поле Скрипт или PM2 .JSON введите: postgresql/postgresql.config.js
.
Максимальное использование памяти: перетащите ползунок на максимальное значение.
Нажмите кнопку Сохранить
.
Подождите 3-4 минуты, пока в pm2 list
в shell не появится статус приложения postgresql: online.
5. Установите пароль пользователя root!
Имя пользователя root – это ваше имя пользователя SSH в форме virtXXX, которое вы видите при запуске shell: whoami
Хост сервера PostgreSQL – это ваш loopback IP-адрес, который вы можете увидеть, если выполните команду shell: vs-loopback-ip -4
Чтобы установить пароль, войдите на сервер PostgreSQL:
psql -h $(vs-loopback-ip -4) -U $(whoami) -d postgres
Замените new_password на надежный пароль и запуст
ALTER USER SESSION_USER WITH PASSWORD 'new_password';
Затем удалите метод “trust” из файла pg_hba.conf (без него пароль не будет запрашиваться):
sed -i 's/trust$/md5/g' ~/postgresql/pg_hba.conf
Перезапустите сервер postgresql:
pm2 restart postgresql
Убедитесь, что теперь при подключении вам будет предложено ввести пароль!
psql -h $(vs-loopback-ip -4) -U $(whoami) -d postgres
6. Примечания
- NB! На сервере ZoneOS доступна только одна версия PostgreSQL (в настоящее время 14.5), и она может измениться с обновлением ZoneOS без предварительного уведомления!
- Нелишним будет регулярно создавать резервные копии базы данных самостоятельно, поскольку резервное копирование файловой системы Zone по умолчанию может быть не идеальным.
- Если вы хотите использовать PostgreSQL с PHP, вам нужно активировать расширение PostgreSQL в разделе Расширения PHP в панели управления Мой Zone.