前期准备

Gitlab

阿里云搭建 Gitlab

内网搭建 Gitlab

官网教程

  • CPU 2 核 4 G内存 (官方推荐)
  • 服务器系统:Centos 6.9
  • 端口:22
  • IP地址:xxxx

Mac 使用终端 SSH 连接到服务器

  1. 打开终端,输入 sudo su - 回车进入根目录
  2. 然后输入 ssh -p 端口号 服务器用户名@ip (例如ssh -p 22 userkunyu@119.29.37.63)回车,到这会让你输入yes或者no来确认是否连接,输入yes 回车
  3. 然后输入服务器上的用户密码 回车
  4. 到此进入的是你在服务器上的账户的目录,即为连接成功
  5. 最后输入sudo su -进入服务器的根目录,进行操作

安装 Gitlab

  1. 安装依赖

    1
    2
    sudo yum install -y curl policycoreutils-python openssh-server cronie
    sudo lokkit -s http -s ssh
  2. 安装 Postfix 发送邮箱,若使用其他第三方的,则跳过,等安装完后再进行配置(SMTP)

    1
    2
    3
    sudo yum install postfix
    sudo service postfix start
    sudo chkconfig postfix on
  3. 添加 Gitlab 仓库,并安装到服务器上 (注意 ce 或 ee)

    1
    curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

    配置 ip 地址,并安装

    1
    sudo EXTERNAL_URL="http://ip" yum -y install gitlab-ce
  4. http://ip 中设置密码,账号 root

80 端口被占用,修改端口

  1. 进入 nginx 的配置文件

    1
    2
    3
    cd /var/opt/gitlab/nginx/conf
    vim gitlab-http.conf
  2. 修改端口 (vim 命令)

    1
    2
    3
    4
    5
    6
    7
    ---- site configuration(截取一部分) ——
    upstream gitlab-workhorse {
    server unix:/var/opt/gitlab/gitlab-workhorse/socket;
    }
    server {
    listen *:80; --修改端口
    server_name localhost; server_tokens off; ## Don't show the nginx version number, a security best practice
  3. 修改完后重启

    1
    gitlab-ctl restart

配置邮箱

官方给出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
vim /etc/gitlab/gitlab.rb 进入配置文件
根据官方给出内容修改邮箱配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
gitlab_rails['smtp_domain'] = "exmail.qq.com"
保存后,重新加载配置
gitlab-ctl reconfigure

卸载

  1. 停止 Gitlab : gitlab-ctl stop
  2. 卸载gitlab(注意这里写的是gitlab-ce)rpm -e gitlab-ce
  3. 查看gitlab进程 ps aux | grep gitlab
  4. 杀掉第一个进程 kill -9 进程 id
  5. 删除所有包含gitlab文件 find / -name gitlab | xargs rm -rf

Centos 防火墙设置

防火墙配置

输入:cat /etc/issue 查看版本

  1. 查看防火墙状态:service iptables status
  2. 关闭防火墙:service iptables stop
  3. 打开防火墙:service iptables start