首页 > 电脑专区 > windows >

在 vagrant debian8 lnmp 环境下 安装 gitlab

来源:互联网 2023-02-20 17:04:52 版权归原作者所有,如有侵权,请联系我们

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

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

工具/原料

  • vagrant
  • lnmp1.4
  • gitlab10.0.3

gitlab安装

  • 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 3

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

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

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

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

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

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

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

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

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

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

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

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

  • 配置gitlab使用本机lnmp的nginx

  • 1

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

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

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

  • 2

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

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

  • 3

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

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

  • 4

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

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

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

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

  • 5

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

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

  • 6

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

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

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

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

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

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

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

  • nginx配置

  • 1

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

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

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

  • 2

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

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

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

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

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

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

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

  • 3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 常用命令

  • 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 注意事项

    • 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开放相应端口

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


    标签: 操作系统环境安装

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