【システム構成】
- 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
### 公開領域にシンボリックリンクを設定
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/
## 【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
### リポジトリ登録
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