2013年7月31日 星期三

[Linux] 架設Gerrit + LDAP auth

建立放置Gerrit的帳戶
1). sudo useradd -m -s /bin/bash gerrit
2). sudo passwd gerrit

安裝MySQL
1). 下載
sudo apt-get install mysql-server libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql
設定新建帳戶mysql密碼
※ MySQL-server: MySQL Server
※ libapache2-mod-php5: 把 Apache2 跟 PHP5 連接起來用的 Module
※ libapache2-mod-auth-mysql: MySQL for Apache HTTP Server
※ php5-mysql: MySQL for Apache HTTP Server
2). 建立初始值
 a). 以root登入
  mysql –u root -p
 b). 建立gerrit這個使用者帳號,且密碼為0000
  CREATE USER 'gerrit'@'localhost' IDENTIFIED BY '0000';
 c). 建立reviewdb這個資料庫
  CREATE DATABASE reviewdb;
 d). 設定資料庫的編碼方式為latin1
  ALTER DATABASE reviewdb charset=latin1;
 e). 將 reviewdb 資料庫權限,開給 gerrit@localhost
  GRANT ALL ON reviewdb.* TO 'gerrit'@'localhost';
 f). 載用新設好的權限
  FLUSH PRIVILEGES;

安裝Apache
1). 下載
sudo apt-get install apache2
2). 重開
sudo service apache2 restart

安裝PHP
1). 下載
sudo apt-get install php5
2). 測試方法: 在/var/www/中將以下程式碼新增成一隻檔案(.php),測試apache2能不能解讀php
<?php phpinfo(); ?>

安裝PHPmyAdmin (可有UI方式管理MySQL,網址是http://ip.ip.ip.ip/phpmyadmin)
1). 下載
sudo apt-get install phpmyadmin
2). 因為phpmyadmin並不是放在apache2預設目錄,需將phpmyadmin inclue到apache2,將以下程式碼加在apache2.config檔之後
sudo vi /etc/apache2/apache2.conf
Include /etc/phpmyadmin/apache.conf
3). 重開apache2
sudo service apache2 restart

安裝postfix mail system (與下面Exim4擇一,此在設定比較單純)
1). 下載
sudo apt-get install postfix

安裝Exim4 mail system (輕量級mail system)
1). 下載
sudo apt-get install exim4
2). 依照公司rule修改/etc/exim4/update-exim4.conf.conf
dc_eximconfig_configtype='smarthost'
dc_relay_domains='example.com'
dc_relay_nets='ip.ip.ip.ip'
dc_smarthost='example.com'

安裝Gerrit
1). 到官網下載,放在使用者gerrit家目錄
2). 切換到使用者gerrit
sudo su - gerrit
3). 安裝
java -jar gerrit-full-2.5.war init -d review_site
4). review_site/etc/gerrit.conf範本參考,修改完後須重新安裝,並打上LDAP AD帳號密碼及MySQL密碼
[gerrit]
  basePath = git
  canonicalWebUrl = http://ip.ip.ip.ip:8080/
[database]
  type = MYSQL
  hostname = localhost
  database = reviewdb
  username = gerrit
[auth]
  type = LDAP
  emailFormat = {0}@example.com
[ldap]
  server = ldap://ip.ip.ip.ip
  username = 公司網域\\公司AD帳號
  accountBase = OU=xxx,OU=xxx,DC=example,DC=com
  accountPattern = (&(objectClass=person)(sAMAccountName=${username}))
  accountFullName = displayName
  accountEmailAddress = ${mail.toLowerCase}
  accountMemberField = memberOf
  referral = follow
  groupBase = OU=xxx,OU=xxx,DC=example,DC=com
  groupPattern = (&(objectClass=group)(cn=${groupname}))
[sendemail]
  smtpServer = localhost
[container]
  user = gerrit_test
  javaHome = /usr/lib/jvm/java-6-sun-1.6.0.26/jre
[sshd]
  listenAddress = *:29418
[httpd]
  listenUrl = http://*:8080/
[cache]
  directory = cache

沒有留言:

張貼留言