開発管理環境構築 Redmine Ubuntu MySQL Subversion Jenkins Postfix zabbix

【システム構成】

■Ubuntu Server 12.04

■Apache 2.2.22

■Redmine 2.0.3

■MySQL 5.5.24

■Subversion 1.6.17

■Jenkins 1.481

■Postfix 2.9.3

■zabbix 1.8.11

【事前準備】

■viの設定

sudo vi /etc/vim/vimrc

=========================

syntax on

syntax off

=========================

■SSHの設定 sudo vi /etc/ssh/sshd_config

=========================

PermitRootLogin yes ↓ PermitRootLogin no

=========================

【バージョン確認】

■Apache apache2ctl -v ⇒Server version: Apache/2.2.22 (Ubuntu)

■Postfix /usr/sbin/postconf | grep mail_version ⇒mail_version = 2.9.3

■MySQL mysql --version ⇒mysql Ver 14.14 Distrib 5.5.24

■Subversion svn --version ⇒svn, version 1.6.17 (r1128011)

【Apacheインストール】

■パッケージインストール sudo apt-get -y install apache2

■確認 http://サーバのIPアドレス/

【Postfixインストール】

■パッケージインストール

sudo apt-get -y install postfix sasl2-bin mailutils

⇒[インターネットサイト]-[システムメール名:任意]-[了解]

■ファイアーウォール設定

sudo iptables -A INPUT -p tcp --dport 25 -j ACCEPT

【Postfix設定】

■OB25P(Outbound Port 25 Blocking)対策

sudo vi /etc/postfix/main.cf ===========================================================

relayhost = [smtp.gmail.com]:587 #sasl setting smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

smtp_sasl_security_options = noanonymous

smtp_sasl_tls_security_options = noanonymous

smtp_sasl_mechanism_filter = plain #tls setting smtp_use_tls = yes ===========================================================

sudo vi /etc/postfix/sasl_passwd =========================================================== [smtp.gmail.com]:587 メールアドレス:パスワード ===========================================================

sudo chown root:root /etc/postfix/sasl_passwd

sudo chmod 600 /etc/postfix/sasl_passwd

sudo postmap /etc/postfix/sasl_passwd

sudo /etc/init.d/postfix restart

■送信テスト

echo "test" | mail -t メールアドレス -s "test"

【Redmineインストール】

■パッケージインストール

sudo apt-get -y install mysql-server libmysqlclient-dev ruby libmysql-ruby ruby-dev rubygems ■Redmineインストール cd /usr/local/src

sudo wget http://rubyforge.org/frs/download.php/76259/redmine-2.0.3.tar.gz

sudo tar zxvf redmine-2.0.3.tar.gz -C /var/lib/

cd /var/lib/

sudo mv redmine-2.0.3 redmine

sudo gem install bundler

sudo vi /var/lib/redmine/Gemfile

===================以下の行をコメント化====================

# Optional gem for exporting the gantt to a PNG file, not supported with jruby

#platforms :mri, :mingw do # group :rmagick do

#   # RMagick 2 supports ruby 1.9

#    # RMagick 1 would be fine for ruby 1.8 but Bundler does not support

#    # different requirements for the same gem on different platforms

# gem "rmagick", ">= 2.0.0"

#  end

#end

# Database gems 

#platforms :mri, :mingw do

# group :postgresql do

# gem "pg", ">= 0.11.0"

# end

# # group :sqlite do

# gem "sqlite3"

# end

#end =========================================================== cd /var/lib/redmine bundle install

【MySQL設定】

■Redmine用のユーザとデータベースを作成

sudo mysql -uroot –p

===================以下のコマンドを実行====================

create database redmine character set utf8;

create user 'ユーザ名'@localhost identified by 'パスワード';

grant all privileges on データベース名.* to 'ユーザ名'@localhost;

exit

===========================================================

【Redmine設定】

■DB設定

cd /var/lib/redmine/config/

cp -p database.yml.example database.yml

vi database.yml

=====productionを以下のように変更=====

production:

   adapter: mysql database: データベース名

   host: localhost

   username: ユーザ名

   password: パスワード

   encoding: utf8

=======================================

   rake generate_secret_token

   RAILS_ENV=production rake db:migrate

   RAILS_ENV=production rake redmine:load_default_data >ja

 

■起動

cd /var/lib/redmine

ruby script/rails server webrick -e production

■確認

http://サーバのIPアドレス:3000/

【ApacheとRedmine連携】

■パッケージインストール

sudo apt-get -y install apache2-dev libcurl4-gnutls-dev

sudo gem install passenger

 

■実行するパスを検索

sudo find / -name passenger-install-apache2-module

 

■上記の方法で表示されたパスを実行

sudo /var/lib/gems/1.8/gems/passenger-3.0.17/bin/passenger-install-apache2-module ⇒passenger.confファイルに設定する情報が出力されるので注意する必要がある

 

■Apacheの設定(passenger)

sudo vi /etc/apache2/conf.d/passenger.conf(※環境によって設定値が変わる)

========================以下を追加=================================

LoadModule

passenger_module /var/lib/gems/1.8/gems/passenger-3.0.17/ext/apache2/mod_passenger.so PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.17 PassengerRuby /usr/bin/ruby1.8 ================================================================== ■Apacheの設定(rails)

sudo vi /etc/apache2/conf.d/rails.conf

====================以下を追加=========================

<Location /redmine>
      Options -MultiViews
      RailsBaseURI /redmine
</Location>

==================================================================

■公開領域にシンボリックリンクを設定

sudo ln -s /var/lib/redmine/public /var/www/redmine

■起動 sudo /etc/init.d/apache2 restart

■確認 http://サーバのIPアドレス/redmine

⇒admin/admin

 

【PostfixとRedmine連携】

■Redmine設定

cd /var/lib/redmine/config/

sudo cp -p configuration.yml.example configuration.yml

sudo vi configuration.yml

====================以下のように変更=======================

default:

  # Outgoing emails configuration (see examples above)

  email_delivery:

  delivery_method: :smtp

  smtp_settings: enable_starttls_auto: false

  address: localhost

      port: 25

  domain: localhost

 # authentication: :login

 # user_name: redmine@example.net

 # password: "redmine" ==============================================================

■再起動 sudo /etc/init.d/apache2 restart

■Redmineテストメール [管理]-[設定]-[メール通知]-[テストメールを送信]

【Jenkinsインストール】

■キー追加

 wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -

■リストにJenkins追加

 sudo vi /etc/apt/sources.list

================最後の行に追加=================

 deb http://pkg.jenkins-ci.org/debian binary/ ===============================================

 sudo apt-get update

■パッケージインストール sudo apt-get -y install jenkins

■再起動 sudo /etc/init.d/apache2 restart

.■確認 http://サーバのIPアドレス:8080/ {{:user:watanuki:技術:開発管理環境構築:jenkins.png?200x200}}

【Subversionインストール】

■パッケージインストール sudo apt-get -y install subversion subversion-tools libapache2-svn

【Subversion設定】

■Subversion設定  

sudo vi /etc/apache2/mods-enabled/dav_svn.conf

============コメントを外し、パスを変更する=================

<Location /svn>
    DAV svn
    SVNParentPath /home/svn
 </Location>

===========================================

■リポジトリ登録

sudo mkdir /home/svn/ cd /home/svn

sudo svnadmin create repos

sudo chown -R www-data.www-data repos

■テストプロジェクト作成

cd /home sudo mkdir -p test/trunk

■モジュール登録

cd /home/test

sudo svn import http://サーバのIPアドレス/svn/repos/test -m "Initial import."

■再起動

sudo /etc/init.d/apache2 restart

■確認

http://サーバのIPアドレス/svn/repos

 

【RedmineとSubversion連携】

■プロジェクトにSubversionのパスを紐づける(Redmine画面内) [プロジェクト]-[プロジェクト名]-[設定]-[リポジトリ]-[新しいリポジトリ]-[「1.Subversion情報」を入力]-[作成] 1.Subversion情報 URL :http://サーバのIPアドレス/svn/repos/test ログイン : パスワード:

【JenkinsとSubversion連携】

 ■Subversionのバージョン設定(Jenkins画面内)   

[Jenkinsの管理]-[システムの設定]-[以下を設定]-[保存]     ワークスペースバージョン:1.6

【ジョブ(Subversion編)】

■ [新規ジョブ作成]-[ジョブ名:]-[フリースタイル・プロジェクトのビルド]-[OK]

プロジェクト名:test

ビルド無効化:チェック

Subersion:チェック リポジトリURL:http://サーバのIPアドレス/svn/repos/test/

ローカルモジュールディレクトリ:test

チェックアウト方式: リポジトリ

■ブラウザ:(自動)

【Zabbixインストール】

■zabbixユーザ作成

sudo adduser zabbix ⇒zabbix

■パッケージインストール

sudo apt-get -y install mysql-client zabbix-server-mysql zabbix-frontend-php

⇒[zabbix-server-mysqlのデータベースをdbconfig-commonで設定しますか?:はい]-[データベースの管理権限を持つユーザのパスワード:]-[了解]-[zabbix-server-mysql用のMySQLアプリケーションパスワード:パスワード]-[了解]-[パスワードの確認:zabbix]-[了解]-[zabbix-fronted-phpが使うデータベースの種類:mysql]-[了解]-[zabbix-frontend-php用のMySQLアプリケーションパスワード:パスワード]-[了解]-[パスワードの確認:zabbix]-[了解]

 

■パスワード変更

sudo mysql -uroot –p

===================以下のコマンドを実行====================

set password for zabbix@localhost=password('パスワード'); =========================================================== ■確認

【ZabbixとPostfix連携】

■メール設定場所確認

view /etc/zabbix/zabbix_server.conf

⇒解凍先が「AlertScriptsPath=/etc/zabbix/alert.d/」に記述されている

⇒参考HP:http://www.zabbix.jp/modules/newbb/viewtopic.php?topic_id=270&forum=6

■メールスクリプト取得

cd /usr/local/src

sudo wget https://github.com/zabbix-jp/plugins/tarball/master master.tar.gz

sudo tar zxvf master -C /etc/zabbix/

cd /etc/zabbix/zabbix-jp-plugins-721e346/notification

sudo cp -rf sendmessage-smtp-php /etc/zabbix/alert.d/

■メールスクリプト設定

cd /etc/zabbix/alert.d/sendmessage-smtp-php

sudo vi sendmessage_smtp_php.sh =====================================================

$MAIL_FROM = zabbix@dev;

$MAIL_FROMNAME = "";

$MAIL_SMTP_HOST = 'localhost:25';

//$mailer->SMTPAuth = true;

//$mailer->Username = $MAIL_SMTP_USER;

//$mailer->Password = $MAIL_SMTP_PASS; =====================================================

■テスト送信

cd /etc/zabbix/alert.d/sendmessage_smtp_php/

./sendmessage_smtp_php.sh メールアドレス 'test' 'test'

■メディアタイプの設定(Zabbix画面内) [管理]-[メディアタイプ]-[Email]-[メディアタイプの作成] =====================================================

説明    :postfix

タイプ   :スクリプト

スクリプト名:sendmessage_smtp_php/sendmessage_smtp_php.sh =====================================================