一、准备一台Linux主机
我用了一台VMware虚拟机,配置如下:
IP:192.168.1.159
1、开SSH
systemctl enable sshd
2、关闭SELINUX
vi /etc/sysconfig/selinux
修改下边红字部分
This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of three two values:
targeted - Targeted processes are protected,
minimum - Modification of targeted policy. Only selected processes are protected.
mls - Multi Level Security protection.
SELINUXTYPE=targeted
3、安装rz
yum -y install lrzsz
之后上传文件一定要用-be参数(其中-b是--binary用二进制的方式上传,-e是--escape强制escape所有控制字符),否则上传的文件不完整
rz –be
4、安装wget
yum -y install wget
5、更换yum源,用于提速yum
(1)备份yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
(2)下载新的CentOS-Base.repo 到/etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清理缓存
yum clean all
重新生成缓存
yum makecache
一、安装GitLab
1、安装必须的组件
yum install -y curl policycoreutils-python openssh-server
2、安装GitLab社区版包库
cd /home
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
3、安装GitLab社区版
EXTERNAL_URL是访问的URL
EXTERNAL_URL="http://192.168.1.159" yum install -y gitlab-ce
安装完成后:
gitlab-ctl reconfigure #使配置文件生效 但是会初始化除了gitlab.rb之外的所有文件
gitlab-ctl status #查看状态
gitlab-ctl stop #停服务
gitlab-ctl start #起服务
gitlab-ctl tail #查看日志的命令(Gitlab 默认的日志文件存放在/var/log/gitlab 目录下)
相关目录信息
.git/config #版本库特定的配置设置,可用--file修改
~/.gitconfig #用户特定的配置设置,可用--global修改
/var/opt/gitlab/git-data/repositories/root #库默认存储目录
/opt/gitlab #是gitlab的应用代码和相应的依赖程序
/var/opt/gitlab #此目录下是运行gitlab-ctl reconfigure命令编译后的应用数据和配置文件,不需要人为修改配置
/etc/gitlab #此目录下存放了以omnibus-gitlab包安装方式时的配置文件,这里的配置文件才需要管理员手动编译配置
/var/log/gitlab #此目录下存放了gitlab各个组件产生的日志
/var/opt/gitlab/backups/ #备份文件生成的目录
相关文件
/opt/gitlab/embedded/service/gitlab-rails/config #配置文件(修改clone的ip地址)
/etc/gitlab/gitlab.rb #设置相关选项进行配置(gitlab地址就在这)
/var/opt/gitlab/git-data #Git存储库数据(默认
4、运行服务(此步可不做)
gitlab-ctl start
5、登录测试
首次登录需要修改root密码
密码改成:
账号:root
登录后的页面(这是IE浏览器,显示有问题,需换非IE浏览器访问)
二、汉化GitLab
1、检查安装版本和汉化包版本
安装版本检查
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
汉化包检查
2、汉化过程
如果具有相同版本的汉化标签
(1)克隆汉化版本库
yum install -y git
git clone https://gitlab.com/xhang/gitlab.git
(可以指定版本号git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh)
如果已经克隆过,则进行更新git fetch
(2)查看该汉化补丁的版本
cat gitlab/VERSION
(2)比较汉化标签和原标签,导出 patch 用的 diff 文件。
gitlab-ctl stop
cd /home/gitlab
git diff v11.1.4 v11.1.4-zh > ../11.1.4-zh.diff
生成11.1.4-zh.diff文件
由于官方版本比汉化包少一些文件(assets目录下所有文件)会导致打补丁时出错,所以先拷贝这些文件到官方目录
cd /home/gitlab/app
cp -r assets /opt/gitlab/embedded/service/gitlab-rails/app/
将11.1.4-zh.diff作为补丁更新到gitlab中
yum install patch -y
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 11.1.4-zh.diff
或
cd /opt/gitlab/embedded/service/gitlab-rails
git apply /home/11.1.4-zh.diff
强行拷贝过去后git apply可能会出错
用patch打补丁
出现询问时都输入y,注意上图有个失误,导致多了一个rej文件,这个文件一定要重命名掉
cd gitlab-rails/app/assets/javascripts/boards/components/
mv board_delete.js.rej board_delete.js.rej.bak
启动和检查GitLab配置
gitlab-ctl start
gitlab-ctl reconfigure
重新登录192.168.1.159
三、用LDAP接入AD
略
四、增加邮件功能
1、修改配置文件gitlab.rb
vi /etc/gitlab/gitlab.rb
在gitlab.rb文件中添加下面配置:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp."
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "gitlab"
gitlab_rails['smtp_password'] = "**"
gitlab_rails['smtp_domain'] = "**"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@**'
user['git_user_email'] = "gitlab@**"
2、修改完,重新配置
gitlab-ctl reconfigure
查看日志
gitlab-ctl tail
五、修改时区
如果不修改默认时间会造成下图的现象,可能会差几个小时
1、修改配置文件gitlab.rb
vi /etc/gitlab/gitlab.rb
在gitlab.rb文件中
添加下面配置:
gitlab_rails['time_zone'] = 'Asia/Shanghai'
2、修改完,重新配置
gitlab-ctl reconfigure
查看日志
gitlab-ctl tail
六、设置密码输错锁定
1、修改配置文件gitlab.rb
vi /etc/gitlab/gitlab.rb
在gitlab.rb文件中修改下面配置:
gitlab_rails['rack_attack_git_basic_auth'] = {
'enabled' => true,
'ip_whitelist' => ["127.0.0.1"],
'maxretry' => 300,
'findtime' => 60,
'bantime' => 60
}
解释:
Rack Attack IP banning enabled
'enabled' => true
Whitelist requests from 127.0.0.1 for web proxies (NGINX/Apache) with incorrect headers
'ip_whitelist' => ["127.0.0.1"]
Limit the number of Git HTTP authentication attempts per IP
'maxretry' => 300
Reset the auth attempt counter per IP after 60 seconds
'findtime' => 60
Ban an IP for one hour (60s) after too many auth attempts
'bantime' => 60
2、修改完,重新配置
gitlab-ctl reconfigure
查看日志
gitlab-ctl tail
七、备份
1、修改配置文件gitlab.rb
vi /etc/gitlab/gitlab.rb
在gitlab.rb文件中
修改为下面配置:
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" //gitlab备份目录
gitlab_rails['backup_archive_permissions'] = 0644 //生成的备份文件权限
gitlab_rails['backup_keep_time'] = 7776000 //备份保留天数为3个月(即90天,这里是7776000秒)
2、修改完,重新配置
gitlab-ctl reconfigure
查看日志
gitlab-ctl tail
3、手动备份一次
gitlab-rake gitlab:backup:create
cd /var/opt/gitlab/backups目录,查看已有备份文件
4、添加每日备份的计划任务
编辑crontab
vi /etc/crontab
添加下边一行
0 4 * * * root /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
注意:环境变量CRON=1的作用是如果没有任何错误发生时, 抑制备份脚本的所有进度输出
重启crond服务
systemctl restart crond
重启系统
shutdown –r now
七、恢复测试
GItLab只能还原到与备份文件相同的gitlab版本。
1、克隆一份正式环境的GitLab,改服务器IP为192.168.1.211
略
2、修改GitLab的访问IP地址
vi /etc/gitlab/gitlab.rb
在gitlab.rb文件中
修改为下面配置:
external_url 'http://192.168.1.221'
修改完,重新配置
gitlab-ctl reconfigure
3、随便删除一个项目
4、开始恢复操作
(1)将备份文件权限修改为777,不然可能恢复的时候会出现权限不够,不能解压的问题
cd /var/opt/gitlab/backups
chmod 777 1550089292_2019_02_14_11.1.4_gitlab_backup.tar
(2)执行命令停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl status
(3)执行命令从备份文件中恢复Gitlab
Gitlab的恢复操作会先将当前所有的数据清空,然后再根据备份数据进行恢复
gitlab-rake gitlab:backup:restore BACKUP=备份文件编号
gitlab-rake gitlab:backup:restore BACKUP=1550089292_2019_02_14_11.1.4
输入yes
输入yes
恢复完成
(4)最后再次启动Gitlab
gitlab-ctl start
gitlab-ctl status
5、检查恢复情况
(1)check命令
gitlab-rake gitlab:check SANITIZE=true
全部ok
(2)web页面
之前删除的项目已经恢复了。20GB的数据,200个项目共计恢复用时1小时
Hey there! Do you know if they make any plugins to help with Search Engine Optimization? I’m trying to get my blog
to rank for some targeted keywords but I’m not seeing very good gains.
If you know of any please share. Thanks!
Hello, you can read this article to believe that it will help you. https://www.php.cn/cms/wordpress/430444.html ,
Yoast is one of the most popular WordPress SEO plugins and provides tools to ensure that every part of your site is SEO friendly
# delete branch #