Chinaunix首页 | 论坛 | 博客
  • 博客访问: 764422
  • 博文数量: 144
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1150
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-17 14:32
个人简介

小公司研发总监,既当司令也当兵!

文章分类

全部博文(144)

分类: LINUX

2015-12-03 18:01:43

PART1:环境说明

linux server采用的是ubuntu server12虚拟机(ubuntu-12.04.5-server-amd64.iso,下载地址:)

搭建环境时,linux server ip为192.168.0.188,管理用户为mng
由于linux server对鼠标、图形界面支持不是很友好,在搭建阶段,采用另一台控制主机远程登录的方式进行管理,方便操作
控制主机为192.168.0.55,管理用户为tly

PART2:linux主环境

1. 更新apt源:在控制主机上准备好apt源文件,linux主机上采用通过scp从控制主机获取apt源文件并覆盖到/etc/apt/目录下同名文件
   执行apt-get update更新
2. 安装vim 和 sshd(openssh-server),如果无特殊说明均采用apt-get install 安装,下同
3. 为root用户设置密码(sudo passwd root),编辑/etc/sudoers/ 管理组sudo免密码(%admin ALL=(ALL)NOPASSWD: ALL,%admin ALL=(ALL) NOPASSWD: ALL)
4. 设置server虚拟机网络连接方式为桥接,并设置路由器绑定静态ip给server 188地址
5. 从管理机通过ssh远程登录到server(ssh mng@192.168.0.188)
6. 设置server hostname(),同时更新hosts文件中的域名映射(127.0.1.1  )。特别说明,如果需要安装邮件服务,域名的设置一定不要跳过。

PART3:安装域名服务器

1. 安装bind9
2. 配置bind9(参考)
3. 配置resolv.conf,让dns解析指向域名服务器;因为resolv.conf由resolvconf工具更新,不能直接修改resolv.conf,否则重启配置丢失。
   配置resolvconf,将server的ip地址加入/etc/resolvconf/resolv.conf.d/head中(nameserver 192.168.0.188),重启resolvconf(sudo /etc/init.d/resolvconf restart)
4. 验证:输入nslookup
   在nslookup交互环境中输入可以正常解析,即为OK

PART4:安装邮件服务

1. 安装postfix和mailutils(sudo apt-get install postfix mailutils)
   按默认配置即可
2. 安装完成后,测试(echo “mail installed, send is OK?” | mail -s "test mail send" xxx@126.com
   可以通过tail -f /var/log/mail* 查看发生日志

PART5:安装geriit

1. 安装git(git-core)
2. 安装java(openjdk-7-jre-headless)
3. 下载gerrit(下载地址:),安装(java -jar gerrit-2.11.war init -d review_site)
   认证方式修改为http,gerrit运行在代理后,其余按默认安装
   修改配置文件(参考 http://blog.csdn.net/ganshuyu/article/details/8978614)
4. 安装apache2(sudo apt-get install --reinstall apache2  apache2.2-commo)

5. 配置apache2
   配置apache2,开启代理功能、复写功能:
          cd /etc/apache2/mods-enabled
          ln -s ../mods-available/proxy.load 
          ln -s ../mods-available/proxy.conf
          ln -s ../mods-available/proxy_http.load
          ln -s ../mods-available/proxy_balancer.conf
          ln -s ../mods-available/proxy_balancer.load
          ln -s ../mods-available/rewrite.load
          ln -s ../mods-available/ssl.conf
          ln -s ../mods-available/ssl.load

   配置apache2的监听端口:
         $: vi /etc/apache2/ports.conf

         ……
     NameVirtualHost *:80
     NameVirtualHost *:8080   -->仿照80端口,加上对8080端口的监听。
     Listen 80
     Listen 8080

   配置反向代理:
         $: sudo vi /etc/apache2/httpd.conf


6. 配置邮件gerrit.config(如果使用本地邮件服务器,不需要配置,如果使用外部邮件服务器需要配置)
[sendemail]  
    smtpServer = smtp.exmail.qq.com
    smtpServerPort = 465  
    smtpEncryption = ssl  
    smtpUser = xxx@qq.com
    smtpPass = xxx
    sslVerify = false  
    from=CodeReview 

7. 添加gerrit用户(htpasswd -cb review_site/etc/passwords mng 123456, -c 是创建passwords文件,后续添加不要使用-c否则会覆盖之前的设置)
8. 设置gerrit服务开机自启动(参考http://blog.csdn.net/xbl1986/article/details/18656887)
   安装sysv-rc-conf,把gerrit初始化目录下~/bin/gerrit.sh 拷贝到/etc/init.d/下重命名为gerrit
   运行sysv-rc-conf,找到gerrit把2、3、4、5勾选上(使用空格)
   配置inti.d/gerrit,修改GERRIT_SITE_1="/home/mng/review_site"
   重启查看是否自启动

PART5:注册管理员用户

1. 生成密匙/公匙(ssh-keygen -t rsa, 生成的密匙对在.ssh目录下)
2. 登录到gerrit网页,输入用户名和密码;登录后完成姓名,邮箱注册(发送确认邮件到注册有效,登录状态下,复制邮件中的链接到浏览器,完成确认);添加公匙到gerrit中(cat .ssh/id_rsa.pub,复制显示内容到网页)。

PART6:创建项目

1. 命令行创建项目
   ssh -p 29418 gerrit create-project --empty-commit --name SDK/manifest

  注:删除项目,先删除git目录下的xxx.git,软后执行
   ssh -p 29418 gerrit flush-caches --cache projects
2. 客户端clone项目,修改并提交到评审服务器
   克隆:git clone ssh://192.168.0.188:29418/SDK/manifest.git
   安装commit-msg钩子(服务器开启change-id确认,该钩子用于生成change-id):scp -P 29418 tly@192.168.0.188:hooks/commit-msg .git/hooks/
   提交:git push origin HEAD:refs/for/master:

PART7:repo

1. 下载repo
    git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git
2. 把repo导入到gerrit服务器,供其他人下载
    在服务器/var/www/目录下,执行git clone --bare  git://aosp.tuna.tsinghua.edu.cn/android/git-repo.gi git-repo.git,完成后使能post-update(cp hooks/post-update.sample hooks/post-update)
    将下载好的repo修改其中REPO_URL指向 gerrit服务器 “http:///git-repo.git”
    将修改的repo脚本复制到/var/www/目录下
 
阅读(7584) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~