GitLab แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ›แƒ˜แƒ’แƒ แƒแƒชแƒ˜แƒ แƒ’แƒแƒ แƒ” PostgreSQL-แƒจแƒ˜

แƒ’แƒแƒฃแƒ›แƒแƒ แƒฏแƒแƒก แƒงแƒ•แƒ”แƒšแƒแƒก!

แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒขแƒแƒœแƒ— GitLab แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก แƒจแƒ˜แƒ“แƒ PostgreSQL-แƒ“แƒแƒœ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ GitLab-แƒ˜แƒ—, แƒ’แƒแƒ แƒ” PostgreSQL-แƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒ™แƒ•แƒ” แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒฎแƒ•แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”.

GitLab แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ›แƒ˜แƒ’แƒ แƒแƒชแƒ˜แƒ แƒ’แƒแƒ แƒ” PostgreSQL-แƒจแƒ˜

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ
แƒงแƒ•แƒ”แƒšแƒ แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒ แƒแƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก CentOS 7.7.1908, PostgreSQL 12 แƒ“แƒ GitLab 12.4.2-ee.0-แƒ–แƒ”.

แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ แƒ˜ แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒกแƒแƒ›แƒ˜ แƒ แƒแƒ› แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ :

1. PostgreSQL แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒคแƒ”แƒ˜แƒ”แƒ แƒ•แƒแƒšแƒก แƒฌแƒ”แƒกแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒš แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒก PostgreSQL แƒžแƒแƒ แƒขแƒ—แƒแƒœ 5432/TCP.

แฒฉแƒ”แƒ›แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜:

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

2. แƒ˜แƒ›แƒแƒ•แƒ” แƒแƒ“แƒ’แƒ˜แƒšแƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› postgresql.conf แƒคแƒแƒ˜แƒšแƒจแƒ˜, แƒ›แƒ˜แƒ”แƒชแƒ˜แƒ— แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒก แƒ›แƒ˜แƒ˜แƒฆแƒแƒก แƒจแƒ”แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ แƒ”แƒ“แƒแƒœ. แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ— postgresql.conf แƒคแƒแƒ˜แƒšแƒ˜, แƒ˜แƒžแƒแƒ•แƒ”แƒ— แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒฎแƒแƒ–แƒ˜ "#listen_addresses = 'แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒ˜'"แƒ“แƒ แƒ›แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒฎแƒแƒ–แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒฅแƒ•แƒ”แƒ›แƒแƒ—. แƒกแƒแƒ“ - 10.0.0.2, แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜.

แฒฉแƒ”แƒ›แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜:

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. แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ GitLab แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒ แƒ” แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก, แƒ”แƒก แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ“แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ PostgreSQL แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” pg_hba.conf แƒคแƒแƒ˜แƒšแƒจแƒ˜. แƒฉแƒ”แƒ›แƒ˜ GitLab แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ˜แƒ 10.0.0.4.

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒฎแƒกแƒœแƒแƒ— pg_hba.conf แƒคแƒแƒ˜แƒšแƒ˜ แƒ“แƒ แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒแƒ— แƒฎแƒแƒ–แƒ˜ แƒ˜แƒฅ:

host    all             gitlab               10.0.0.4/24             md5

แƒ”แƒก แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

# 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

แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ— postgresql แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก:

systemctl restart postgresql-12.service

แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”แƒแƒ‘แƒก GitLab แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ”แƒฅแƒกแƒžแƒแƒ แƒขแƒ˜

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒกแƒ แƒฃแƒšแƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜ GitLab แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”:

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

แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ /tmp:

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

แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒ™แƒแƒžแƒ˜แƒ แƒแƒ— แƒ”แƒก แƒแƒกแƒšแƒ˜ PostgreSQL แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”:

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

แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”แƒแƒ‘แƒก "internal-gitlab.sql"-แƒ˜แƒก แƒ˜แƒ›แƒžแƒแƒ แƒขแƒ˜ PostgreSQL-แƒจแƒ˜

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒ˜แƒ›แƒžแƒแƒ แƒขแƒ˜ PostgreSQL-แƒจแƒ˜:

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

แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ—, แƒ แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒแƒฎแƒšแƒ PostgreSQL-แƒจแƒ˜แƒ:

sudo -u postgres psql -l

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒฎแƒแƒ–แƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒก:

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

แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”แƒแƒ‘แƒก GitLab-แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ

แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก PostgreSQL-แƒจแƒ˜ แƒ˜แƒ›แƒžแƒแƒ แƒขแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ gitlab แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜. แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒแƒ› แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒžแƒแƒ แƒแƒšแƒ˜.

แƒžแƒแƒ แƒแƒšแƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ:

sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ะŸะะ ะžะ›ะฌ' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, GitLab แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”, แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒจแƒ˜ /etc/gitlab/gitlab.rb แƒ›แƒ˜แƒ•แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ— แƒ’แƒแƒ แƒ” PostgreSQL-แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒก.

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— gitlab.rb แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜:

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

แƒแƒฎแƒšแƒ แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒ”แƒก แƒฎแƒแƒ–แƒ”แƒ‘แƒ˜ 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'] = '******'

แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒ”แƒ— แƒคแƒแƒ˜แƒšแƒ˜ /etc/gitlab/gitlab.rb แƒ“แƒ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ“แƒแƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ— GitLab:

gitlab-ctl reconfigure && gitlab-ctl restart

แฒกแƒฃแƒš แƒ”แƒก แƒแƒ แƒ˜แƒก :)

แƒ“แƒ˜แƒ“แƒ˜ แƒ—แƒฎแƒแƒ•แƒœแƒ. แƒ—แƒฃ แƒ›แƒ˜แƒœแƒฃแƒกแƒก แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ“แƒแƒฌแƒ”แƒ แƒ”แƒ— แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒจแƒ˜.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ