Ubuntu 14.04 GitLab 安装

本贴最后更新于 2964 天前,其中的信息可能已经水流花落

首先,妈的鸡,搞了大半天才搞完

步骤总结:

  1. 安装 postfix

  2. 配置 postfix

关于 postfix 的坑

  1. 安装 gitlab

  2. 配置 gitlab

关于 gitlab 的坑

安装 postfix

  1. 安装其实很简单:

apt-get install postfix

但是需要在这个之前先对自己的域名进行解析,我用的是阿里云,解析直接放图:

准备工作做好了,就到了蛋疼的配置了

配置 postfix

  1. postfix 的配置

/etc/postfix/main.cf //配置文件地址

myhostname = mail.yourSite.cn mydomain = yourSite.cn alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = $mydomain mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all //涉及到的字段,改为上述的样子
  1. 重启

service postfix restart

关于 postfix 的坑

坑的总结:

  • 在安装的时候没有注意,就按照网上的教程一路默认安装,导致找不到配置文件,也就是在 /etc/postfix 中没有 main.cf 文件

解决方法:

先卸载了这个玩意 apt-get purge postfix 再次安装 apt-get install postfix 安装的时候切记,选择internet site,并填写你的上面解析的mail.domain.com域名
  • 在安装的时候选择的 Local only 的结果:就是只能收件不能发件

现象

postfix 输出日志: /var/log/mail.log postfix 默认邮件存储文件夹: /var/mail/root 输出日志显示 status=bounced

安装 gitlab

  1. 建议找一个比较稳定的网络环境下载本地再上传服务器

  2. 安装:dpkg -i gitlab-ce_7.10.5~omnibus-1_amd64.deb

  3. 前提是安转了 postfix 并配置好了,这样在安装的时候会自动构建依赖,不然,你就算 Gitlab 安装好了,你还是注册不了用户

配置 gitlab

  1. 配置 1:gitlab.rb

位置:/etc/gitlab/gitlab.rb

external_url 'http://ip:8090' //将这一行改为自己的地址,端口分配一个没有被占用的
  1. 配置 2:unicorn.rb

位置:/var/opt/gitlab/gitlab-rails/etc/unicorn.rb

listen "127.0.0.1:8099", :tcp_nopush => true //将这一行改为自己的地址,端口分配一个没有被占用的,不要与上面的重复
  1. 重启服务

gitlab-ctl reconfigure

关于 gitlab 的坑

  1. 已经配置了访问地址端口为 8090,8080 端口还一直被占用,kill 也没有用

找到占用 8080 端口的服务为 config.rf,找到 pid

ps pid 找到服务创建文件,发现是/var/opt/gitlab/gitlab-rails/etc/unicorn.rb

找到原因:没有修改这个配置文件

  1. Gitlab 在辛辛苦苦配置后成功跑起来,但时不时出现 500 界面

找到 log 文件 /var/log/gitlab/gitlab-rails/production.log

发现是内存问题 :Error (Cannot allocate memory)

发现是应为没有 Swap 分区导致

创建 Swap 分区

1、进入一个目录:cd /var/ 2、获取256M的文件块:dd if=/dev/zero of=swapfile bs=1024 count=262144 如果需要添加2G的SWAP分区,则获取2G的文件块: dd if=/dev/zero of=swapfile bs=1024 count=2097152 3、创建swap文件:/sbin/mkswap swapfile 4、激活swap文件:/sbin/swapon swapfile 5、查看一下swap是否正确:/sbin/swapon -s 6、加到fstab文件中让系统引导时自动启动:vi /etc/fstab 在末尾增加以下内容:/var/swapfile swap swap defaults 0 0 也可以执行如下命令,感觉这样更方便 :echo "/var/swapfile swap swap defaults 0 0" >>/etc/fstab 顺便附上DD命令的参数介绍: dd命令 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。 语法:dd [选项] if =输入文件(或设备名称)。 of =输出文件(或设备名称)。 ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。 skip = blocks 跳过读入缓冲区开头的ibs*blocks块。 obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。 bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs) cbs = byte 一次转换bytes字节。 count=blocks 只拷贝输入的blocks块。 注意:阿里云默认在启动项里关闭了SWAP分区,在/etc/rc.d/rc.local文件里有一行 swapoff -a ,表示禁用swap。把这行删掉就好了。
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    125 引用 • 585 回帖 • 1 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...