首页 > 电脑专区 > 电脑教程 >

在 vagrant debian8 lnmp 环境下 安装 gitlab

来源:互联网 2023-02-21 18:05:07 版权归原作者所有,如有侵权,请联系我们

今天在局域网内利用vagrant搭建了debian8的测试服务器,安装了lnmp1.4作为测试环境,索性就把gitlab-ce也搭建起来并且成功了。期间遇到了几个问题,在这里做下记录,并且分享给大家,如果用就拿去,如果您按照此流程配置失败了,勿喷。lGw办公区 - 实用经验教程分享!

vagrant及lnmp的安装配置就不在这里做说明了,百度搜索或官网都有详细介绍。lGw办公区 - 实用经验教程分享!

工具/原料

  • vagrant
  • lnmp1.4
  • gitlab10.0.3

gitlab安装

  • 1

    在安装gitlab之前请编辑vagrant的配置文件Vagrantfile,设置虚拟机内存为2048M以上。lGw办公区 - 实用经验教程分享!

    config.vm.provider "virtualbox" do |vb|lGw办公区 - 实用经验教程分享!

    # Display the VirtualBox GUI when booting the machinelGw办公区 - 实用经验教程分享!

    # vb.gui = truelGw办公区 - 实用经验教程分享!

    # # Customize the amount of memory on the VM:lGw办公区 - 实用经验教程分享!

    vb.memory = "4096"lGw办公区 - 实用经验教程分享!

    endlGw办公区 - 实用经验教程分享!

    保存修改后,使用vagrant reload 重新启动虚拟机。lGw办公区 - 实用经验教程分享!

    因为gitlab要求的内存分配不能小于2048M,否则会报 502 Whoops, GitLab is taking too much time to respond. lGw办公区 - 实用经验教程分享!

    在 vagrant debian8 lnmp 环境下 安装 gitlablGw办公区 - 实用经验教程分享!

  • 1此文章未经授权抓取自百度经验
  • 2

    使用vagrant up命令启动虚拟机,之后输入lGw办公区 - 实用经验教程分享!

    sudo apt-get update更新软件源lGw办公区 - 实用经验教程分享!

    sudo apt-get dist-upgrade 更新所有的软件lGw办公区 - 实用经验教程分享!

    如果存在不想更新的包,使用以下命令添加当前版本锁定,拿gitlab-ce举例:lGw办公区 - 实用经验教程分享!

    sudo echo "gitlab-ce hold" | sudo dpkg --set-selectionslGw办公区 - 实用经验教程分享!

  • 3

    开始安装gitlablGw办公区 - 实用经验教程分享!

    1、安装配置依赖:lGw办公区 - 实用经验教程分享!

    sudo apt-get install -y curl openssh-server ca-certificateslGw办公区 - 实用经验教程分享!

    2、安装并配置邮件发送服务:lGw办公区 - 实用经验教程分享!

    sudo apt-get install -y postfixlGw办公区 - 实用经验教程分享!

    注意:这里在弹出的界面选择OK,第二个弹出界面选择Internet Site,第三个里面填写System Emai name根据自己的实际情况填写,我做测试填写的是vgt-gitlablGw办公区 - 实用经验教程分享!

    3、添加gitlab包库并安装:lGw办公区 - 实用经验教程分享!

    sudo curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bashlGw办公区 - 实用经验教程分享!

    sudo apt-get install gitlab-eelGw办公区 - 实用经验教程分享!

    4、配置并启动gitlab:lGw办公区 - 实用经验教程分享!

    sudo Configure and start GitLablGw办公区 - 实用经验教程分享!

    到这里gitlab已经安装完毕,但是本机已经安装了nginx,不想使用gitlab内置的nginx,那么请参考下面步骤:lGw办公区 - 实用经验教程分享!

  • 配置gitlab使用本机lnmp的nginx

  • 1

    编辑gitlab配置文件,debian中默认位于在/etc/gitlab/gitlab.rb:lGw办公区 - 实用经验教程分享!

    修改external_url = 'http://gitlab.vgt.com' // nginx 中配置的站点域名lGw办公区 - 实用经验教程分享!

    在 vagrant debian8 lnmp 环境下 安装 gitlablGw办公区 - 实用经验教程分享!

  • 2

    添加nginx['enable'] = false //禁用内置nginxlGw办公区 - 实用经验教程分享!

    在 vagrant debian8 lnmp 环境下 安装 gitlablGw办公区 - 实用经验教程分享!

  • 3

    去掉web_server['external_users']前的注释并设置值为['www-data'] //我本地环境为lnmp,所以填写为wwwlGw办公区 - 实用经验教程分享!

    在 vagrant debian8 lnmp 环境下 安装 gitlablGw办公区 - 实用经验教程分享!

  • 4

    修改:lGw办公区 - 实用经验教程分享!

    gitlab_workhorse['listen_network'] = "tcp"lGw办公区 - 实用经验教程分享!

    gitlab_workhorse['listen_addr'] = "127.0.0.1:8090"//此处ip与端口在nginx中要用到lGw办公区 - 实用经验教程分享!

    在 vagrant debian8 lnmp 环境下 安装 gitlablGw办公区 - 实用经验教程分享!

  • 5

    添加git_data_dirs({ "default" => { "path" => "/home/gitlab/git-data" } }) //修改gitlab默认的文件存储位置,gitlab默认的位置是:/var/opt/gitlab/git-datalGw办公区 - 实用经验教程分享!

    在 vagrant debian8 lnmp 环境下 安装 gitlablGw办公区 - 实用经验教程分享!

  • 6

    以上修改后要执行lGw办公区 - 实用经验教程分享!

    gitlab-ctl reconfigurelGw办公区 - 实用经验教程分享!

    来重新加载配置,过程中我还用到了一下几个命令:lGw办公区 - 实用经验教程分享!

    1、gitlab-ctl restartlGw办公区 - 实用经验教程分享!

    2、gitlab-ctl startlGw办公区 - 实用经验教程分享!

    3、gitlab-ctl statuslGw办公区 - 实用经验教程分享!

    在 vagrant debian8 lnmp 环境下 安装 gitlablGw办公区 - 实用经验教程分享!

  • nginx配置

  • 1

    从gitlab官方下载nginx配置文档到/usr/local/nginx/conf/vhost/目录下lGw办公区 - 实用经验教程分享!

    网址:https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/nginxlGw办公区 - 实用经验教程分享!

    在 vagrant debian8 lnmp 环境下 安装 gitlablGw办公区 - 实用经验教程分享!

  • 2

    在/usr/local/nginx/conf/vhost/目录下创建gitlab.conf文件,把从gitlab官网获取到的conf文件的内容粘贴进去,并做如下修改:lGw办公区 - 实用经验教程分享!

    1、listen 0.0.0.0:80 default_server;视情况去掉default_serverlGw办公区 - 实用经验教程分享!

    2、server_name:gitlab.vgt.comlGw办公区 - 实用经验教程分享!

    3、proxy_pass http://gitlab-workhorse; 修改为gitlab.rb文件中配置的listen_addr的值proxy_pass http://127.0.0.1:8090lGw办公区 - 实用经验教程分享!

    4、access_log /var/log/nginx/gitlab_access.log;error_log /var/log/nginx/gitlab_error.log;//需要手动创建log文件lGw办公区 - 实用经验教程分享!

    下面给出完整配置文件截图:lGw办公区 - 实用经验教程分享!

    在 vagrant debian8 lnmp 环境下 安装 gitlablGw办公区 - 实用经验教程分享!

  • 3

    配置完成后,需要重启nginx:lnmp nginx restart。lGw办公区 - 实用经验教程分享!

    重启后并不能访问成功,需要开放8090端口,我直接开放了8080:8099端口lGw办公区 - 实用经验教程分享!

    vi /etc/iptables.rulslGw办公区 - 实用经验教程分享!

    添加lGw办公区 - 实用经验教程分享!

    -A INPUT -p tcp -m tcp --dport 8080:8099 -j ACCEPTlGw办公区 - 实用经验教程分享!

    保存退出后,使用iptables-restore /etc/iptables 把规则导入至iptables中,并让他生效。lGw办公区 - 实用经验教程分享!

    注:想让iptables添加的规则在服务器重启后也生效的方法是:lGw办公区 - 实用经验教程分享!

    vi /etc/network/if-pre-up.d/iptableslGw办公区 - 实用经验教程分享!

    添加:iptables-restore /etc/iptables.ruleslGw办公区 - 实用经验教程分享!

    lGw办公区 - 实用经验教程分享!

    到此已经配置完了,lGw办公区 - 实用经验教程分享!

    输入以下命令已确认所有所需服务及配置以正确启动或加载lGw办公区 - 实用经验教程分享!

    lnmp nginx restartlGw办公区 - 实用经验教程分享!

    gitlab-ctl stoplGw办公区 - 实用经验教程分享!

    gitlab-ctl reconfigurelGw办公区 - 实用经验教程分享!

    gitlab-ctl startlGw办公区 - 实用经验教程分享!

    lGw办公区 - 实用经验教程分享!

    本机为windows10,host文件增加:lGw办公区 - 实用经验教程分享!

    #gitlab.vgt.com startlGw办公区 - 实用经验教程分享!

    192.168.5.112 gitlab.vgt.comlGw办公区 - 实用经验教程分享!

    #gitlab.vgt.com endlGw办公区 - 实用经验教程分享!

    lGw办公区 - 实用经验教程分享!

    在浏览器里输入:gitlab.vgt.com,出现了熟悉的界面。lGw办公区 - 实用经验教程分享!

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

    在 vagrant debian8 lnmp 环境下 安装 gitlablGw办公区 - 实用经验教程分享!

  • 常用命令

  • 1

    Command line instructionslGw办公区 - 实用经验教程分享!

    lGw办公区 - 实用经验教程分享!

    Git global setuplGw办公区 - 实用经验教程分享!

    git config --global user.name "xxx"lGw办公区 - 实用经验教程分享!

    git config --global user.email "xxx@xxx.xxx"lGw办公区 - 实用经验教程分享!

    lGw办公区 - 实用经验教程分享!

    Create a new repositorylGw办公区 - 实用经验教程分享!

    git clone git@gitlab.vgt.com:goodhoe/vuetest.gitlGw办公区 - 实用经验教程分享!

    cd vuetestlGw办公区 - 实用经验教程分享!

    touch README.mdlGw办公区 - 实用经验教程分享!

    git add README.mdlGw办公区 - 实用经验教程分享!

    git commit -m "add README"lGw办公区 - 实用经验教程分享!

    git push -u origin masterlGw办公区 - 实用经验教程分享!

    lGw办公区 - 实用经验教程分享!

    Existing folderlGw办公区 - 实用经验教程分享!

    cd existing_folderlGw办公区 - 实用经验教程分享!

    git initlGw办公区 - 实用经验教程分享!

    git remote add origin git@gitlab.vgt.com:goodhoe/vuetest.gitlGw办公区 - 实用经验教程分享!

    git add .lGw办公区 - 实用经验教程分享!

    git commit -m "Initial commit"lGw办公区 - 实用经验教程分享!

    git push -u origin masterlGw办公区 - 实用经验教程分享!

    lGw办公区 - 实用经验教程分享!

    Existing Git repositorylGw办公区 - 实用经验教程分享!

    cd existing_repolGw办公区 - 实用经验教程分享!

    git remote add origin git@gitlab.vgt.com:goodhoe/vuetest.gitlGw办公区 - 实用经验教程分享!

    git push -u origin --alllGw办公区 - 实用经验教程分享!

    git push -u origin --tagslGw办公区 - 实用经验教程分享!

    --------------------------------------------------------------------------------lGw办公区 - 实用经验教程分享!

    cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 查看gitlab版本lGw办公区 - 实用经验教程分享!

    cat /var/opt/gitlab/gitlab-rails/etc/database.yml 查看gitlab数据库文件lGw办公区 - 实用经验教程分享!

    --------------------------------------------------------------------------------lGw办公区 - 实用经验教程分享!

    lsof -i :22 知道22端口被哪个进程占用lGw办公区 - 实用经验教程分享!

    chown -R www:www dd 修改文件或目录的所有者和用户组lGw办公区 - 实用经验教程分享!

    usermod -a -G apache cnzhx 将一个已有用户增加到一个已有用户组中 -a表示不离开原有组lGw办公区 - 实用经验教程分享!

    usermod -g apache cnzhx 修改用户组lGw办公区 - 实用经验教程分享!

    gpasswd -d user group 将用户从group中去除lGw办公区 - 实用经验教程分享!

  • 注意事项

    • gitlab.rb配置文件中的lister_addr要与nginx.conf中的proxy_pass保持一致,除了http://
    • gitlab.rb配置文件中的external_url要与nginx.conf中的server_name保持一致,除了http://
    • gitlab.rb配置文件中的external_users要与nginx用户保持一致,debian中默认为www-data,lnmp默认为www,centos默认为nginx
    • 配置iptables开放相应端口

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!lGw办公区 - 实用经验教程分享!


    标签: 操作系统环境安装

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号