一弓熏、Postgresql數(shù)據(jù)庫遠(yuǎn)程連接配置
使用Omnibus-GitLab 進(jìn)行一鍵安裝GitLab后控淡,自帶了 PostgreSQL 作為缺省的內(nèi)部數(shù)據(jù)存儲好乐,比如用戶信息始苇, 源碼倉庫信息等肌毅。
PostgreSQL默認(rèn)情況下筷转,遠(yuǎn)程訪問不能成功,如果需要允許遠(yuǎn)程訪問悬而,需要修改2個(gè)配置文件呜舒。
- pg_hba.conf
- postgresql.conf
# cd /var/opt/gitlab/postgresql/data //進(jìn)入到postgresql配置文件存放位置
# vim pg_hba.conf
host all all ::1/32 trust //此行表示“本機(jī)”不需要密碼即可登錄
host all all 0.0.0.0/0 md5 //此行,0.0.0.0/0 代表所有ip地址可以連接笨奠,但需要密碼
# vim postgresql.conf
listen_addresses = '*' //為保證locahost袭蝗、127.0.0.1、ip地址均可訪問般婆,設(shè)置為“*”
# gitlab-ctl restart postgresql //重啟postgresql
# cd /opt/gitlab/embedded/ //進(jìn)入安裝目錄
# bin/psql -U gitlab -d gitlabhq_production -h localhost // 不用輸入密碼就可進(jìn)來
psql (9.6.3)
Type "help" for help.
gitlabhq_production=> alter user gitlab with password 'gitlab'; //修改gitlab密碼
//gitlab創(chuàng)建的[數(shù)據(jù)庫超級用戶為gitlab-psql到腥,想修改密碼自己通過命令修改即可
gitlabhq_production-> \q //退出
# cd /var/opt/gitlab/postgresql/data
# vim pg_hba.conf
host all all ::1/32 md5 //修改trust 為md5 ,即連接需要密碼
# gitlab-ctl restart postgresql //重啟
注意:既然修改了數(shù)據(jù)庫gitlab用戶的密碼蔚袍,gitlab服務(wù)器中數(shù)據(jù)庫配置文件乡范,也需要修改,不然數(shù)據(jù)庫連接不上
# cd /var/opt/gitlab/
# vim gitlab-rails/etc/database.yml
adapter: postgresql
encoding: unicode
collation:
database: gitlabhq_production
pool: 10
username: 'gitlab'
password: 'gitlab' #添加設(shè)置的密碼
host: '/var/opt/gitlab/postgresql'
port: 5432
socket:
sslmode:
sslrootcert:
sslca:
load_balancing: {"hosts":[]}
prepared_statements: true
statements_limit: 1000
# gitlab-ctl restart
# /opt/gitlab/embedded/bin/psql -U gitlab -d gitlabhq_production -h localhost
Password for user gitlab:
輸入密碼"gitlab" 回車就可以進(jìn)來了
到此啤咽,配置完成晋辆。
做了上面的配置,我們可以使用Navicat Premium 連接postgresql
另外宇整,查看postgresql進(jìn)程日志可以查看/var/log/gitlab/postgresql
該路徑下的 current文件
二瓶佳、配置GitLab郵箱
GitLab的郵箱服務(wù)是不可或缺的一部分, 它提供了代碼提交提醒, 用戶密碼找回,注冊認(rèn)證等功能. GitLab也提供了幾種郵件配置方案, 有使用sendmail, postfix 及 smtp, 這里只介紹smtp, 其中sendmail太過于古老, 現(xiàn)在幾乎被postfix替代了, 而postfix配置沒有smtp方便, 當(dāng)然, 最主要的還是不想啟動postfix郵件服務(wù)器, 直接用第三方的服務(wù)
1. 修改配置文件
vi /etc/gitlab/gitlab.rb
#修改如下配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "gitlab@example.com"
gitlab_rails['smtp_password'] = "123"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
2. 修改gitlab發(fā)信人
#修改其發(fā)件人為GitLab 與上面保持一致
gitlab_rails['gitlab_email_from'] = "gitlab@example.com"
user["git_user_email"] = "gitlab@example.com"
記住這里有一個(gè)坑, 如果你不配置發(fā)件人, 有些郵件服務(wù)器會發(fā)送失敗, 所以我們最好把賬號和發(fā)件人都配置了, 并且保持一致, 這樣保證兼容問題鳞青。
另外的問題:
將
/etc/gitlab/gitlab.rb
文件中的
external_url 'localhost'
改為
external_url 'http://192.169.10.11' #服務(wù)器地址
這樣重置密碼或者登陸驗(yàn)證時(shí)所發(fā)送的連接地址才能指向服務(wù)器涩哟。
修改完成后,重新加載配置并重啟盼玄,注意:重新加載配置后,postgresql遠(yuǎn)程連接需要重新修改配置文件潜腻,其密碼不會變埃儿,可以在運(yùn)行 gitlab-ctl reconfigure
之前備份下文件。
gitlab-ctl reconfigure
gitlab-ctl restart
3.測試
安裝完成后可進(jìn)行“忘記密碼”以及注冊驗(yàn)證來測試郵箱服務(wù)是否可用融涣。
問題:
以上是使用郵箱代理童番,當(dāng)申請下業(yè)務(wù)郵箱后精钮,我依然使用上述配置,郵箱依然不可用剃斧,查看/var/log/gitlab/sidekiq/current
日志報(bào)出如下錯誤:【證書與服務(wù)器不符】
WARN: OpenSSL::SSL::SSLError: hostname "mail.host.com" does not match the server certificate
WARN: /opt/gitlab/embedded/lib/ruby/2.3.0/openssl/ssl.rb:318:in `post_connection_check'
解決辦法:
不加入驗(yàn)證
修改/etc/gitlab/gitlab.rb文件
gitlab_rails['smtp_openssl_verify_mode'] = 'none'
三轨香、GitLab日常配置
- gitlab配置文件路徑: /etc/gitlab/gitlab.rb
- 修改地址為外網(wǎng)地址:
external_url 'http://herbguo.gitlabserver.com'
修改后再次執(zhí)行sudo gitlab-ctl reconfigure
以便配置修改生效。