vim /opt/gitlab/embedded/service/gitlab-rails/.bundle/config
将BUNDLE_WITHOUT: "development:test:mysql" 修改为
BUNDLE_WITHOUT: "development:test:postgres"
yum -y install ruby-devel
cd /opt/gitlab/embedded/bin
./gem install mysql2
1、创建数据库
#创建数据库
create database gitlab DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
#创建用户并添加权限
GRANT ALL PRIVILEGES ON gitlab.*TO 'gitlab'@'%'> MySQL8.0需要执行如下:
mysql> create user 'gitlab'@'%'> Query OK, 0 rows affected (0.08 sec)
mysql> GRANT ALL PRIVILEGES ON gitlab.* TO 'gitlab'@'%';
Query OK, 0 rows affected (0.06 sec)
#刷新权限
flush privileges;
2、配置gitlab.rb,添加mysql
vim /etc/gitlab/gitlab.rb
#修改数据库配置
gitlab_rails['db_adapter'] = "mysql2"
gitlab_rails['db_encoding'] = "utf8"
gitlab_rails['db_database'] = "gitlab"
gitlab_rails['db_username'] = "gitlab"
gitlab_rails['db_password'] = "gitlab"
gitlab_rails['db_host'] = "127.0.0.1"
gitlab_rails['db_port'] = 3306
postgresql['enable'] = false
3、配置gitlab的依赖
3.1去掉掉postgres依赖
#缺少 mysql2,用ruby的gem工具下载一个,在下载之前,得先配置下ruby的gem与bundle
#编辑config
vim /opt/gitlab/embedded/service/gitlab-rails/.bundle/config
将原来的mysql替换成postgres,我们不需要postgers的包了。
这里写图片描述
3.2安装mysql依赖
安装依赖,需要指定版本,可以先安装后,在执行gitlab-rake gitlab:check查看安装的版本。
gitlab几乎所有的命令都在此目录下
cd /opt/gitlab/embedded/bin/
##安装mysql
./gem install mysql2
检查配置:根据红色提示安装相应的包。注意一定要指定版本,如:
/opt/gitlab/embedded/bin/gem install mysql2 -v'0.4.10'
/opt/gitlab/embedded/bin/gem install peek-mysql2 -v'1.1.0'
gitlab-rake gitlab:check
这一步很坎坷,一直报错。类似如下:
make: *** No rule to make target /include/x86_64-linux/ruby/config.h', needed byclient.o'. Stop.
解决办法就是按照提示,创建目录,并cp所需文件。如下:
我执行了三次,其中还有一个backward.h文件是在网上找的。
mkdir -p /opt/gitlab/embedded/lib/ruby/include/
cp /usr/include/ruby/* /opt/gitlab/embedded/lib/ruby/include/
mkdir -p /opt/gitlab/embedded/lib/ruby/include/ruby/
cp -r /opt/gitlab/embedded/lib/ruby/include/*.h /opt/gitlab/embedded/lib/ruby/include/ruby/
mkdir -p /include/x86_64-linux/ruby/
cp -r /opt/gitlab/embedded/lib/ruby/include/* /include/x86_64-linux/ruby/
#删除mysql
./gem uninstall mysql2
#安装指定版本
./gem install mysql2 -v "0.3.20"
#查看版本
./gem list | grep mysql
4、检查配置
这个检查,是为了保证咋们的配置绝对的正确。不然直接搞,会死得很惨的。这个地方会有很多错误的,具体可以看我的常见问题,说不定有一样的。
#查看配置是否ok,如果数据库ok了 可以直接执行gitlab-rake gitlab:setup,来创建数据库的表。
gitlab-rake gitlab:check
5、初始化gitlab
执行gitlab-rake gitlab:setup命令,来初始化gitlab.
#初始化gitlab
gitlab-rake gitlab:setup
我们执行了gitlab-rake gitlab:setup 之后,会提示以前的数据信息会丢失掉。当然我们不设定为yes,后面咋玩啊。
成功后之后,就会创建一个root用户
6、重启服务
#####后面几个gitlab-ctl 常用命令,这次配置用不到
#配置服务
gitlab-ctl reconfigure;
#重启服务
gitlab-ctl restart;
#查看启动情况
gitlab-ctl tail
7、查看数据库信息
可以看到数据库中,多出了好多张表,然后服务也正常启动了
#可以看到好多表已经自动创建了。
show tables;
服务正常启动
常见问题
1、仓库存储目录权限
人家提供了解决方案了,解决办法就是给仓库设定gt用户的权限 sudo chown -R git:git /var/opt/gitlab/git-data/repositories
default... no
User> Try fixing it:
sudo chown -R git:git /var/opt/gitlab/git-data/repositories
For more information see:
doc/install/installation.md in section "GitLab Shell"
Please fix the error above and rerun the checks.
2、gitlab没有mysql2的依赖
Specified 'mysql2' for database adapter, but the gem is not loaded. Add gem 'mysql2' to your Gemfile (and ensure its version is at the minimum required by ActiveRecord). excluded from capture due to environment or should_capture callback
1
解决办法,安装依赖
#到bin目录下,执行gem的命令
cd /opt/gitlab/embedded/bin
#安装指定版本的mysql驱动
gem install mysql2 -v "0.3.20"
3、gitlab找不到表的问题
如果驱动安装成功后,执行gitlab-rake gitlab:check,如果是表不存在,可以执行下面代码,来创建表。
gitlab-rake gitlab:setup
4、gitlab-shell self-check failed
自动检查失败,导致这个问题的原因是没找到自己的服务器,解决方案是在本地的hosts中指向自己的服务器。
解决方案,/etc/hosts添加 127.0.0.1 localhost 就可以了、我先测试功能
vim /etc/hosts
#添加
127.0.0.1 localhost
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com