āĻšā§āĻ¯āĻžāĻ˛ā§ āĻ¸āĻŦāĻžāĻ!
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§, āĻāĻŽāĻ°āĻž 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. āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻšāĻŦā§, āĻ¤āĻžāĻ āĻāĻāĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ pg_hba.conf āĻĢāĻžāĻāĻ˛ā§āĻ° PostgreSQL āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤ āĻšāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻŽāĻžāĻ° āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻ āĻŋāĻāĻžāĻ¨āĻž āĻšāĻ˛ 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 āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻŦā§āĻ¯āĻžāĻāĻāĻĒ āĻāĻ°āĻž āĻ¯āĻžāĻ:
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
PostgreSQL āĻ "internal-gitlab.sql" āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§
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 |
āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻĒā§āĻ¸ā§āĻāĻā§āĻ°ā§āĻāĻ¸āĻāĻŋāĻāĻāĻ˛-āĻ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻāĻŽāĻĻāĻžāĻ¨āĻŋ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻāĻāĻŋ āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĨ¤ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤
āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž:
sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ĐĐĐ ĐĐĐŦ' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE
āĻ¤āĻžāĻ°āĻĒāĻ°, āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§, āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ /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