文章目录
Centos7 gitlab的安装
1、切换国内的源
备份/etc/yum.repos.d/CentOS-Base.repo
#先备份源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#下载centos7对应的repo文件,放入/etc/yum.repos.d 使用的是网易163的源
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS7-Base-163.repo CentOS-Base.repo
#生成缓存
yum clean all
yum makecache
更新软件:
yum upgrade
如果出现了错误,比如,出现包冲突、重复包,损坏包等问题:
yum install yum-utils
yum-complete-transaction --cleanup-only
#清除可能存在的重复包
package-cleanup --dupes
#清除可能存在的损坏包
package-cleanup --problems
#清除重复包的老版本:
package-cleanup --cleandupes
虚拟机使用物理主机的网络(可选)
练习的时候,如果使用的虚拟机,可以使用桥接模式
- 虚拟机选择网络使用桥接模式(桥接模式就是:虚拟机和主机在同一个网段,和其他内网的电脑没啥区别,会被分配ip,但是有ip冲突的风险。)
- 虚拟机linux设置代理
-
export http_proxy=http://xxxxxx:1080 # 设置物理主机的ip和端口 export http_proxy=http://xxxxxx:1080
- 取消:
-
unset http_proxy unset https_proxy
2、配置防火墙
yum install firewalld systemd -y #安装防火墙
systemctl start firewalld.service #开启防火墙
yum install -y curl policycoreutils-python openssh-server perl #安装ssh协议
#如果报错,rpm --rebuilddb && yum install -y curl policycoreutils-python openssh-server perl
#重建数据库
systemctl enable sshd #设置ssh服务开机启动
systemctl start sshd #启动ssh服务
firewall-cmd --permanent --add-service=http #添加http服务到firewalld
firewall-cmd --permanent --add-service=https #添加HTTPS服务到firewalld
systemctl reload firewalld #重启防火墙
3、安装prostfix发送email服务
yum install postfix #安装Postfix以发送通知邮件
systemctl enable postfix #将postfix服务设置成开机自启动
systemctl start postfix #启动postfix
#最好装一下vim,后面会用到
yum install vim -y
4、添加gitlab仓库,并安装
官网地址:https://about.gitlab.com/install/?version=ce#centos-7
选择的是免费的社区版本:gitlab-ce
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install -y gitlab-ce
5、启动gitlab
gitlab-ctl reconfigure # 自动配置(可选),当然也可以全部修改完以后再执行,执行完就可以访问网站了
vim /etc/gitlab/gitlab.rb # 修改
修改external_url 为gitlab所在服务器的ip+要使用的端口 如:http://192.168.1.141:8888
修改nginx['listen_port'] = 8888
修改时区gitlab_rails['time_zone'] = 'Asia/Shanghai'
重新配置gitlab并重启
gitlab-ctl reconfigure
gitlab-ctl restart
vim 小技巧搜索:
命令行模式输入/要搜索的内容比如: /listen_port ,就会搜索到,然后按n 跳转下一个匹配,N回到上一个匹配
6、配置防火墙
修改完配置文件,会出现无法访问的情况,需要修改一下防火墙,开放设置的端口
#开放8888端口
firewall-cmd --zone=public --add-port=8888/tcp --permanent
#重启防火墙
firewall-cmd --reload
#查看端口号是否开启
firewall-cmd --query-port=8888/tcp
#查看所有打开的端口
firewall-cmd --zone=public --list-ports
7、访问gitlab网站
- http://xxxxxx:8888 这个就是我们gitlab所在的服务器ip+我们配置的端口,就可以访问
- 重新设置root 密码
- 登录,尽情使用把
8、gitlab配置邮件服务
邮件服务的作用:有合并请求时,邮件通知 账号注册时,邮件验证 修改密码时,通过邮件修改 。
-
尽量不要用163邮箱,因为发送几次就不能发送了。可以用qq邮箱。
-
打开QQ邮箱——>设置——>账户——>smtp——>密保验证——>验证成功返回一串字符串,保存下来。
-
修改gitlab配置文件
vim /etc/gitlab/gitlab.rb # 修改 按/后输入smtp_enable,找到下面这一串文本,进行修改 gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qq.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "[email protected]" gitlab_rails['smtp_password'] = "开通smtp时返回的字符" gitlab_rails['smtp_domain'] = "qq.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true user['git_user_email'] = "[email protected]" gitlab_rails['gitlab_email_from'] = 'xx[email protected] # 在这里配置好自己的邮箱即可,然后保存,重新配置 gitlab-ctl reconfigure
-
测试邮件服务是否正常
gitlab-rails console #进入控制台
#然后,输入
Notify.test_email('接收方邮件地址','邮件标题','邮件内容').deliver_now
# 按回车,测试发送。