Unbuntu安装gitlab

1、安装依赖包,运行命令

sudo apt-get install curl openssh-server ca-certificates postfix 

 

2.利用清华大学的镜像(https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/)来进行主程序的安装。
首先信任 GitLab 的 GPG 公钥:

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null

 

3、利用root用户[1](不是sudo,而是root),vi打开文件/etc/apt/sources.list.d/gitlab-ce.list,加入下面一行:

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main

 

进入连接https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/,根据实际情况选择

Unbuntu安装gitlab_第1张图片

 

安装 gitlab-ce:

 

  1. sudo apt-get update
  2. sudo apt-get install gitlab-ce

 

执行如下命令:

sudo gitlab-ctl reconfigure

sudo gitlab-ctl restart
sudo gitlab-ctl start|stop|status|restart
sudo gitlab-ctl restart postgresql
sudo gitlab-ctl tail
sudo gitlab-ctl tail #查看所有日志

sudo gitlab-ctl tail nginx/gitlab_access.log #查看nginx访问日志

第一次登陆默认管理员密码和用户名:

Username: root

Password: 5iveL!fe

 

问题1、navicat连接postghreSQL

 

设置密码

 

#切换到可通过Peer方式连接到Postgresql的系统账号,在gitlab中是:gitlab-psql
$ su  - gitlab-psql

#连接到gitlab的数据库
$ psql  -h /var/opt/gitlab/postgresql -d gitlabhq_production

#使用Postgresql内置的命令设置gitlab用户的密码

$ \password gitlab

#退出
$ \q

设置完毕

修改文件,然后,"gitlab"一定要加双引号,否则database.yml 文件不生效。

sudo gitlab-ctl reconfigure

Unbuntu安装gitlab_第2张图片

sudo cat /var/opt/gitlab/gitlab-rails/etc/database.yml 

Unbuntu安装gitlab_第3张图片

 

sudo cat /var/opt/gitlab/gitlab-shell/config.yml 

用navivat连接数据库,如下配置:

sudo vim /var/opt/gitlab/postgresql/data/pg_hba.conf
 host    all        all         0.0.0.0/0       md5
sudo vim /var/opt/gitlab/postgresql/data/postgresql.conf

listen_addresses = '*'     #允许任何的ip地址监听

保存,千万不要  sudo gitlab-ctl reconfigure

然后重启gitlab 。

gitlab-ctl restart 

问题2、仓库的位置:

必要时需要对该目录赋予 777 的权限

/var/opt/gitlab/git-data/

更改仓库位置

git_data_dirs({
   "default" => {
     "path" => "/srv/gitlab/git-data"
    }
 })

 

问题3、ssl认证

1、sudo vi  /etc/gitlab/gitlab.rb

 nginx['redirect_http_to_https'] = true

 nginx['ssl_certificate'] = "cert/***.pem"
 nginx['ssl_certificate_key'] = "cert/***key"

nginx['ssl_ciphers']= 

"ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4"

 nginx['ssl_prefer_server_ciphers'] = "on"

 nginx['ssl_session_timeout'] = "5m"

2、sudo mkdir /var/opt/gitlab/nginx/conf/cert

将***.pem,***.key放入cert文件夹

3.
sudo gitlab-ctl reconfigure

sudo gitlab-ctl restart

问题4、备份

修改gitlab.rb

gitlab_rails['backup_path'] = "/srv/backups"

gitlab_rails['backup_keep_time'] = 604800

备份目录在/srv/backups
有效期为1周

然后

gitlab-ctl reconfigure

修改/etc/crontab,即vi /etc/crontab

0  2    * * *   root    /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

m: 表示分钟,可以是从0到59之间的任何整数。
h:表示小时,可以是从0到23之间的任何整数。
dom:表示日期,可以是从1到31之间的任何整数。
mon:表示月份,可以是从1到12之间的任何整数。
dow:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
user : 表示执行的用户。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件(如shell文件)

编写完 /etc/crontab 文件之后,需要重新启动cron服务

#重新加载cron配置文件
sudo /usr/sbin/service cron reload
#重启cron服务
sudo /usr/sbin/service cron restart 

执行成功后,。

在/srv/backups会生成1544425210_2018_12_10_10.7.3_gitlab_backup.tar

gitlab-rake gitlab:backup:restore BACKUP=1544425210_2018_12_10_10.7.3

回车,yes一直进行即可

 

 

 

你可能感兴趣的:(linux)