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

在 vagrant debian8 lnmp 环境下 安装 gitlab

来源:互联网 2023-02-21 18:05:07 134

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

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

工具/原料

  • vagrant
  • lnmp1.4
  • gitlab10.0.3

gitlab安装

  • 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 3

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

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

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

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

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

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

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

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

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

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

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

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

  • 配置gitlab使用本机lnmp的nginx

  • 1

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

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

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

  • 2

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

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

  • 3

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

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

  • 4

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

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

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

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

  • 5

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

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

  • 6

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

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

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

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

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

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

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

  • nginx配置

  • 1

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

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

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

  • 2

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

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

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

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

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

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

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

  • 3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 常用命令

  • 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 注意事项

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

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


    标签: 操作系统环境安装

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