搭建过程趟了很多坑,记录下来,以飨读者。
目录
一、安装apache2
sudo apt-get install apache2-dev apache2
如果安装过程中出现问题或者发现apache2无法重启的话,可以先卸载,之后重新进行一遍安装
卸载Apache2方法
(1)卸载apache2相关的包
sudo apt-get --purge remove apache2
(2) 卸载apache2-开头的所有包。
sudo apt-get --purge remove apache2-*
(3)找到没有删除掉的配置文件,一并删除
sudo find /etc -name “apache” |xargs rm -rf
sudo rm -rf /var/www
重启apache服务
sudo /etc/init.d/apache2 restart
安装完成进行测试
在浏览器中输入 localhost,如果显示默认界面即认为apache2可用
二、部署SVN服务器
(1)下载svn服务,以及 apache2-svn链接库并安装(适用于ubuntu18.04)
sudo apt-get install subversion libapache2-mod-svn
(2)建立自己的工作目录
sudo mkdir /home/svn #此目录为SVN的根目录
(3)建立版本库
sudo svnadmin create /home/svn/test #在根目录下建立版本库,名字可*编制
(4)授予权限给svn及其子目录,可rw(读写)
sudo chmod -R 777 /home/svn
(5)添加subversion管理用户及subversion组
sudo adduser svnuser
sudo addgroup subversion
sudo addgroup svnuser subversion
(6)为apache用到的www-data添加权限,可以http访问 文件夹目录均使用根目录
sudo chown -R root:subversion /home/svn
sudo chown -R www-data:www-data /home/svn
(7)修改test/conf内的配置文件,打开文件夹
cd /home/svn/test/conf
(8)修改仓库配置文档
sudo vim svnserve.conf
(9)修改如下几行,去掉开头的#
anon-access = none 未授权不可读写
auth-access = write
password-db = passwd
authz-db = authz
(10)通过修改passwd文档来添加用户
sudo vim passwd
(11)添加用户
[users]
admin = admin321
账号 = 密码,注意等号左右要有空格
(12)通过修改authz文档来调整分组和权限
sudo vim authz
(13)添加用户分组以及权限
[groups] #用户组
Managers = admin #管理员组 成员:admin;组名 = 成员名
[svnroot:/] 仓库根目录权限 设置
@Managers = rw #managers用户组可读写
[test:/] 自定义版本库设置
@Managers = rw #managers 用户组可读写
(14)启动SVN服务器
sudo svnserver -d -r /home/svn #路径是根目录
(15)监听3690端口,检测是否启动成功
sudo netstat -antp | grep svnserve
其他:
①重启svn服务
1、关闭服务
sudo killall svnserver
2、启动SVN服务器
sudo svnserver -d -r /home/svn #路径是根目录
②实现http访问
之前已经建立起了apache与svn之间的连接,并授予了相关权限
下面通过修改apache2配置文件实现浏览器通过http访问
sudo vim /etc/apache2/mods-available/dav_svn.conf
在末尾添加
<Location /svn>
DAV svn
SVNParentPath /home/svn #版本库的路径
AuthType Basic
AuthName "test svn" #仓库名字
AuthUserFile /etc/apache2/dav_svn.passwd #密钥文件
Require valid-user
</Location>
创建svn用户,路径要与上面配置文件的密钥文件一致
htpasswd -c /etc/apache2/dav_svn.passwd admin #admin是用户名
输入密码; 重复输入密码(尽量与svn用户名与密码一致); 第一次要有参数 -c , 之后添加用户不需要, -c会清除文件原内容,每次新增svn用户就需要进行一次上述创建用户操作
之后重启apache
sudo /etc/init.d/apache2 restart
在浏览器网页上输入
localhost/svn/test #localhost是本机的IP地址
输入用户密码,即可实现访问SVN服务器
参考博主「Mr.Stick」文章,原文链接:https://blog.csdn.net/stickmangod/article/details/85315971
三、搭建Gitlab服务器
1、环境配置
(1)关闭防火墙防火墙相关指令
1:查看防火状态
systemctl status firewalld
2:暂时关闭防火墙
systemctl stop firewalld
3:永久关闭防火墙
systemctl disable firewalld
4:重启防火墙
systemctl enable firewalld
(2)关闭SElinux
输入getenforce,查看是否为disable状态
(3)开启邮件服务
systemctl start postfix
systemctl enable postfix
2、部署Gitlab
(1)安装Gitlab依赖包
sudo apt-get install curl openssh-server ca-certificates postfix
执行完成后,出现邮件配置,选择Internet那一项(不带Smarthost的)
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,命令号是su root),vim打开文件/etc/apt/sources.list.d/gitlab-ce.list,加入下面一行:
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu xenial main
4.装 gitlab-ce:
sudo apt-get update #更新软件库
sudo apt-get install gitlab-ce
5.配置gitlab
①设置登录链接
vim /etc/gitlab/gitlab.rb
修改此文件中 external_url项为
external_url 'http://本机IP地址'
vim中搜索可用 “/” +要搜索内容
②初始化Gitlab,执行命令
sudo gitlab-ctl reconfigure
首次使用时配置时间较长
③打开 sshd 服务
service sshd start
④启动gitlab
sudo gitlab-ctl start
⑤检查GitLab是否安装好并且已经正确运行,输入下面的命令
sudo gitlab-ctl status
如果得到类似下面的结果,则说明GitLab运行正常
run: gitlab-workhorse: (pid 1148) 884s; run: log: (pid 1132) 884s
run: logrotate: (pid 1150) 884s; run: log: (pid 1131) 884s
run: nginx: (pid 1144) 884s; run: log: (pid 1129) 884s
run: postgresql: (pid 1147) 884s; run: log: (pid 1130) 884s
run: redis: (pid 1146) 884s; run: log: (pid 1133) 884s
run: sidekiq: (pid 1145) 884s; run: log: (pid 1128) 884s
run: unicorn: (pid 1149) 885s; run: log: (pid 1134) 885s
⑥ Gitlab 设置HTTPS方式进行访问
如果想要通过https进行访问,就需要把letsencrypt自动生成证书的配置打开,这样在执行重新让配置生效命令(gitlab-ctl reconfigure)的时候会自动给域名生成免费的证书并自动在gitlab自带的nginx中加上相关的跳转配置,都是全自动的,非常方便
vim /etc/gitlab/gitlab.rb
修改如下项
letsencrypt['enable']=true
letsencrypt['contact_emails']=['xxx@126.com(本人电子邮件地址)']
⑦Gitlab添加Smtp邮件功能
vim /etc/gitlab/gitlab.rb
修改如下项
设置完成后,重启gitlab
sudo gitlab-ctl reconfigure 初始化配置
sudo gitlab-ctl stop 停止gitlab服务器
sudo gitlab-ctl start 开启gitlab服务器
按照下列方法进行邮件测试
然后去邮箱看是否收到邮件
四、Gitlab的使用
在浏览器中输入 http://本机ip:制定端口号,然后change password,并使用root用户登录即可(后续动作根据提示操作),后续可使用Gitlab服务管理进行操作
其他:
Gitlab数据备份
Gitlab数据恢复
Over