在 vagrant debian8 lnmp 环境下 安装 gitlab

2025-11-07 02:22:54

1、在安装gitlab之前请编辑vagrant的配置文件Vagrantfile,设置虚拟机内存为2048M以上。

config.vm.provider "virtualbox" do |vb|

    # Display the VirtualBox GUI when booting the machine

    # vb.gui = true

    #   # Customize the amount of memory on the VM:

    vb.memory = "4096"

 end

保存修改后,使用vagrant reload 重新启动虚拟机。

因为gitlab要求的内存分配不能小于2048M,否则会报 502 Whoops, GitLab is taking too much time to respond.  

在 vagrant debian8 lnmp 环境下 安装 gitlab

2、使用vagrant up命令启动虚拟机,之后输入

sudo apt-get update 更新软件源

sudo apt-get dist-upgrade 更新所有的软件

如果存在不想更新的包,使用以下命令添加当前版本锁定,拿gitlab-ce举例:

sudo echo "gitlab-ce hold" | sudo dpkg --set-selections

3、开始安装gitlab

1、安装配置依赖:

sudo apt-get install -y curl openssh-server ca-certificates

2、安装并配置邮件发送服务:

sudo apt-get install -y postfix

注意:这里在弹出的界面选择OK,第二个弹出界面选择Internet Site,第三个里面填写System Emai name根据自己的实际情况填写,我做测试填写的是vgt-gitlab

3、添加gitlab包库并安装:

sudo curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

sudo apt-get install gitlab-ee

4、配置并启动gitlab:

sudo Configure and start GitLab

到这里gitlab已经安装完毕,但是本机已经安装了nginx,不想使用gitlab内置的nginx,那么请参考下面步骤:

1、编辑gitlab配置文件,debian中默认位于在/etc/gitlab/gitlab.rb:

修改external_url = 'http://gitlab.vgt.com' // nginx 中配置的站点域名

在 vagrant debian8 lnmp 环境下 安装 gitlab

2、添加nginx['enable'] = false //禁用内置nginx

在 vagrant debian8 lnmp 环境下 安装 gitlab

3、去掉web_server['external_users']前的注释并设置值为['www-data'] //我本地环境为lnmp,所以填写为www

在 vagrant debian8 lnmp 环境下 安装 gitlab

4、修改:

gitlab_workhorse['listen_network'] = "tcp"

gitlab_workhorse['listen_addr'] = "127.0.0.1:8090"//此处ip与端口在nginx中要用到

在 vagrant debian8 lnmp 环境下 安装 gitlab

5、添加git_data_dirs({ "default" => { "path" => "/home/gitlab/git-data" } }) //修改gitlab默认的文件存储位置,gitlab默认的位置是:/var/opt/gitlab/git-data

在 vagrant debian8 lnmp 环境下 安装 gitlab

6、以上修改后要执行

gitlab-ctl reconfigure

来重新加载配置,过程中我还用到了一下几个命令:

1、gitlab-ctl restart

2、gitlab-ctl start

3、gitlab-ctl status

在 vagrant debian8 lnmp 环境下 安装 gitlab

1、从gitlab官方下载nginx配置文档到/usr/local/nginx/conf/vhost/目录下

网址:https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/nginx 

在 vagrant debian8 lnmp 环境下 安装 gitlab

2、在/usr/local/nginx/conf/vhost/目录下创建gitlab.conf文件,把从gitlab官网获取到的conf文件的内容粘贴进去,并做如下修改:

1、listen 0.0.0.0:80 default_server;视情况去掉default_server

2、server_name:gitlab.vgt.com

3、proxy_pass http://gitlab-workhorse; 修改为gitlab.rb文件中配置的listen_addr的值proxy_pass http://127.0.0.1:8090

4、access_log  /var/log/nginx/gitlab_access.log;error_log   /var/log/nginx/gitlab_error.log;//需要手动创建log文件

下面给出完整配置文件截图:

在 vagrant debian8 lnmp 环境下 安装 gitlab

3、配置完成后,需要重启nginx:lnmp nginx restart。

重启后并不能访问成功,需要开放8090端口,我直接开放了8080:8099端口

vi /etc/iptables.ruls

添加

 -A INPUT -p tcp -m tcp --dport 8080:8099 -j ACCEPT

保存退出后,使用iptables-restore /etc/iptables 把规则导入至iptables中,并让他生效。

注:想让iptables添加的规则在服务器重启后也生效的方法是:

vi /etc/network/if-pre-up.d/iptables

添加:iptables-restore < /etc/iptables.rules

到此已经配置完了,

输入以下命令已确认所有所需服务及配置以正确启动或加载

lnmp nginx restart

gitlab-ctl stop

gitlab-ctl reconfigure

gitlab-ctl start

本机为windows10,host文件增加:

#gitlab.vgt.com start

192.168.5.112   gitlab.vgt.com

#gitlab.vgt.com end

在浏览器里输入:gitlab.vgt.com,出现了熟悉的界面。

(至此已经安装配置好了两台服务器,一台局域网的,一台阿里云的,不过都是debian8。本文使用的是gitlab-ce,gitlab-ee也适用,因为刚开始没注意直接从官网复制命令安装了ee版)

在 vagrant debian8 lnmp 环境下 安装 gitlab

1、Command line instructions

Git global setup

git config --global user.name "xxx"

git config --global user.email "xxx@xxx.xxx"

Create a new repository

git clone git@gitlab.vgt.com:goodhoe/vuetest.git

cd vuetest

touch README.md

git add README.md

git commit -m "add README"

git push -u origin master

Existing folder

cd existing_folder

git init

git remote add origin git@gitlab.vgt.com:goodhoe/vuetest.git

git add .

git commit -m "Initial commit"

git push -u origin master

Existing Git repository

cd existing_repo

git remote add origin git@gitlab.vgt.com:goodhoe/vuetest.git

git push -u origin --all

git push -u origin --tags

--------------------------------------------------------------------------------

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 查看gitlab版本

cat /var/opt/gitlab/gitlab-rails/etc/database.yml 查看gitlab数据库文件

--------------------------------------------------------------------------------

lsof -i :22 知道22端口被哪个进程占用

chown -R www:www dd 修改文件或目录的所有者和用户组

usermod -a -G apache cnzhx 将一个已有用户增加到一个已有用户组中 -a表示不离开原有组

usermod -g apache cnzhx 修改用户组

gpasswd -d user group 将用户从group中去除

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢