Fifindran'ny angona GitLab mankany amin'ny PostgreSQL ivelany

Miarahaba ny rehetra!

Amin'ity lahatsoratra ity, hamindra ny angona GitLab avy amin'ny PostgreSQL anatiny, izay napetraka miaraka amin'ny GitLab, mankany amin'ny PostgreSQL ivelany, izay efa napetraka amin'ny server hafa.

Fifindran'ny angona GitLab mankany amin'ny PostgreSQL ivelany

FANAMARIHANA
Все действия гарантированно работают на CentOS 7.7.1908, PostgreSQL 12 и GitLab 12.4.2-ee.0.

Fiomanana mialoha

Andeha isika hanao zavatra telo mialoha:

1. amin'ny mpizara Ampio fitsipika ao amin'ny rindranasa afomanga PostgreSQL izay mamela ny fifandraisana miditra amin'ny seranana PostgreSQL 5432/TCP.

Raha ny amiko:

firewall-cmd --add-service=postgresql --zone=internal --permanent
success
firewall-cmd --reload
success

2. Ao amin'ny toerana iray ihany, fa ao amin'ny rakitra postgresql.conf, avelao ny interface interface hanaiky ny fifandraisana miditra avy any ivelany. Sokafy ny rakitra postgresql.conf, tadiavo ny andalana misy fanehoan-kevitra "#listen_addresses = 'localhost'" ary eo ambaniny dia ampio tsipika toy ny etsy ambany. Aiza - 10.0.0.2, ny adiresin'ny interface-nao.

Raha ny amiko:

vi /var/lib/pgsql/12/data/postgresql.conf
# - Connection Settings -

#listen_addresses = 'localhost'         # what IP address(es) to listen on;
listen_addresses = 'localhost, 10.0.0.2'
                                        # comma-separated list of addresses;

3. Koa satria hifandray amin'ny angon-drakitra ivelany ny mpizara GitLab, dia mpizara Mila alefa ao amin'ny rakitra pg_hba.conf ny PostgreSQL. 10.0.0.4 ny adiresin'ny mpizara GitLab-ko.

Andao hanokatra ny rakitra pg_hba.conf ary ampio ny tsipika eo:

host    all             gitlab               10.0.0.4/24             md5

Ho toy izao izany:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             postgres                                     md5

# IPv4 local connections:
host    all             postgres             127.0.0.1/32            md5
host    all             gitlab               10.0.0.4/24             md5

Ary farany, averinay indray ny serivisy postgresql:

systemctl restart postgresql-12.service

Manondrana angona GitLab

Andao hanao backup database amin'ny server GitLab:

sudo -u gitlab-psql /opt/gitlab/embedded/bin/pg_dumpall -U gitlab-psql --host=/var/opt/gitlab/postgresql > /tmp/internal-gitlab.sql

Ny backup dia niseho tao /tmp:

ls -lh
total 836K
-rw-r--r--. 1 root root 836K Nov 18 12:59 internal-gitlab.sql

Andao handika ity kopia ity amin'ny mpizara PostgreSQL:

scp /tmp/internal-gitlab.sql 10.0.0.2:/tmp/
internal-gitlab.sql                                                                               100%  835KB  50.0MB/s   00:00

Manafatra "internal-gitlab.sql" ao amin'ny PostgreSQL

Ampidiro ao amin'ny PostgreSQL ny angon-drakitra:

sudo -u postgres psql -f /tmp/internal-gitlab.sql

Hamarino fa ao amin'ny PostgreSQL izao ny angona:

sudo -u postgres psql -l

Ity tsipika manaraka ity dia tokony hiseho:

gitlabhq_production | gitlab   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

Fametrahana ny GitLab

Rehefa avy nanafatra ny angon-drakitra tao amin'ny PostgreSQL dia nisy mpampiasa gitlab iray noforonina. Mila manova ny tenimiafin'ny mpampiasa ianao.

Fanovana ny tenimiafina:

sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ПАРОЛЬ' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE

Avy eo, amin'ny mpizara GitLab, ao amin'ny fisie /etc/gitlab/gitlab.rb, dia hanondro ny angon-drakitra rehetra momba ny PostgreSQL ivelany.

Andao hanao dika mitovy amin'ny rakitra gitlab.rb:

cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.orig

Ampio ireto andalana ireto amin'ny faran'ny rakitra gitlab.rb:

# Отключить встроенный PostgreSQL.
postgresql['enable'] = false

# Данные для подключения к внешней базе. Указывайте свои.
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'utf8'
gitlab_rails['db_host'] = '10.0.0.2'
gitlab_rails['db_port'] = 5432
gitlab_rails['db_database'] = "gitlabhq_production"
gitlab_rails['db_username'] = 'gitlab'
gitlab_rails['db_password'] = '******'

Tehirizo ny rakitra /etc/gitlab/gitlab.rb ary amboary ny GitLab:

gitlab-ctl reconfigure && gitlab-ctl restart

Izay ihany :)

Fangatahana lehibe. Raha mametraka minus ianao dia soraty ao amin'ny fanehoan-kevitra ny antony.

Source: www.habr.com

Mividiana fampiantranoana azo antoka ho an'ny tranokala misy fiarovana DDoS, mpizara VPS VDS 🔥 Mividiana fampiantranoana tranonkala azo antoka miaraka amin'ny fiarovana DDoS, mpizara VPS VDS | ProHoster