Redmineの再構築と移行など
開発支援サーバを構築したいとおもいSubversion、GitおよびRedmineのサービスを行うサーバを構築しました。3ヶ月くらい前に行ったことのメモをまとめました。メインはRedmineの移行です。
- アプリケーション等管理ツール
- バージョン管理ツール
-
- Subversionサーバ
いろいろゴチャゴチャやったのでまとまってません。また今度やる時があれば綺麗にまとめたいなと(^_^;) - Gitサーバ
インストールは以下のように。sudo aptitude install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev cd /usr/local/src sudo wget http://git-core.googlecode.com/files/git-1.7.11.1.tar.gz sudo tar zxvf git-1.7.11.1.tar.gz cd git-1.7.11.1 sudo ./configure sudo make sudo paco -D make install
サーバの構築は以下のリンク先で。
UbuntuにGitサーバ構築。Macでローカルリポジトリを運用してみる。 - ペイパー・プログラマーズ・ダイアリー
- Subversionサーバ
- Apacheのインストール
# ダウンロードと解凍 cd /usr/local/src sudo wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache//httpd/httpd-2.4.2.tar.gz sudo tar xzvf httpd-2.4.2.tar.gz # apr, apr-utilをダウンロードと解凍 # Subversionサーバ構築に必要だから。 > http://svn.apache.org/repos/asf/subversion/tags/1.7.5/INSTALL # Subversionサーバ構築に必要だから。 > http://svn.apache.org/repos/asf/httpd/httpd/tags/2.4.2/INSTALL sudo wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache//apr/apr-1.4.6.tar.gz sudo tar zxvf apr-1.4.6.tar.gz sudo wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache//apr/apr-util-1.4.1.tar.gz sudo tar zxvf apr-util-1.4.1.tar.gz # apr, apr-utilを組み込んだApacheをインストール sudo mv apr-1.4.6 httpd-2.4.2/srclib/apr sudo mv apr-util-1.4.1 httpd-2.4.2/srclib/apr-util sudo cd httpd-2.4.2 sudo sh ./buildconf sudo ./configure --enable-dav --enable-so --enable-maintainer-mode --enable-ssl --enable-rewrite --with-included-apr --sysconfdir=/etc/apache2 sudo make sudo paco -D make install # 自動起動の設定 cd /usr/local/apache2/bin sudo cp -iv apachectl /etc/init.d/apache2 sudo sysv-rc-conf apache2 on sysv-rc-conf --list | grep apache2
- MySQLのインストール
sudo aptitude install cmake sudo groupadd mysql sudo useradd -r -g mysql mysql cd /usr/local/src sudo wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.25a.tar.gz sudo tar zxvf mysql-5.5.25a.tar.gz cd mysql-5.5.25a/ sudo aptitude install libncurses5-dev sudo cmake . \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_READLINE=1 sudo make sudo paco -D make install cd /usr/local/mysql sudo chown -R mysql . sudo chgrp -R mysql . sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.20120707 sudo scripts/mysql_install_db --user=mysql sudo chown -R root . sudo chown -R mysql data sudo cp -iv support-files/mysql.server /etc/init.d/mysql sudo sysv-rc-conf mysql on
- Rubyのインストール
cd /usr/local/src sudo wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz sudo tar zxvf yaml-0.1.4.tar.gz cd yaml-0.1.4 sudo ./configure sudo make sudo paco -D make install paco -1Fdsa cd /usr/local/src sudo aptitude install zlib1g-dev # すでに入ってた sudo wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz sudo tar zxvf ruby-1.9.3-p194.tar.gz cd ruby-1.9.3-p194/ sudo ./configure sudo make sudo paco -D make install ruby -v
- bundlerのインストール
sudo gem install bundler
- Imagemagickのインストール
sudo aptitude install libmagickwand-dev
- Redmineのダウンロードおよびpassengerの設定
cd /opt sudo mkdir -p redmine sudo useradd redmine sudo chown -R redmine redmine sudo chgrp -R redmine redmine cd redmine # ユーザ redmine を作ってこれ以降はredmineユーザで作業することとする。 sudo su - redmine svn co http://redmine.rubyforge.org/svn/branches/2.0-stable redmine-2.0 cd redmine-2.0 # passengerのスタンドアローン版で運用するので。 touch Gemfile.local echo 'gem "passenger"' > Gemfile.local bundle install --without development test postgresql sqlite --path=vendor/bundle
- MySQLの設定
- DBにログイン。
$ cd /usr/local/mysql/bin $ ./mysql -u root
- mysqlシェルより以下の各処理を行う。
mysql> create database redmine character set utf8; -- redmineデータベースを作成 mysql> create user 'redmine'@'localhost' identified by 'yourpassword'; -- redmineデータベースにユーザ"redmine"を作成 mysql> grant all privileges on redmine.* to 'redmine'@'localhost'; -- ユーザ"redmine"のredmineデータベースにおける権限を付与
- 一応 redmine にsu
$ sudo su - redmine
- /opt/redmine/config/database.yml の設定
production: adapter: mysql2 database: redmine host: localhost username: redmine password: yourpassword
- セッションストアシークレットを作成
$ cd /opt/redmine $ bundle exec rake generate_secret_token
- DBにログイン。
- DBおよびファイルのバックアップ
$ cd /mnt/nas01/redmine $ sudo mkdir migrate_redmine $ cd migrate_redmine; $ sudo cp -iprv /var/lib/redmine/default/files ./ $ sudo sh -c 'mysqldump -u redmine redmine -pmypassword > redmine.sql'
- アーカイブして移行先(tattersall)にコピー
sudo tar czvf redmine_argyle.backup.migrate_redmine.tgz files redmine.sql sudo scp redmine_argyle.backup.migrate_redmine.tgz naoyes@tattersall.mnb:tmp/
- バックアップを解凍
$ cd ~/tmp $ tar vzxf redmine_argyle.backup.migrate_redmine.tgz
- redmineにファイルを移行
$ sudo cp -irv files /opt/redmine
- MySQLのデータを移行
$ /usr/local/mysql/bin/mysql -u root redmine < redmine.sql
- 新しいredmine用にMySQLのDBの属性変更
$ cd /opt/redmine $ sudo RAILS_ENV=production bundle exec rake db:migrate $ bundle exec rake tmp:cache:clear $ bundle exec rake tmp:sessions:clear
- passengerを8080ポートで起動してみる
$ cd /opt/redmine $ sudo RAILS_ENV=production bundle exec /opt/redmine/vendor/bundle/ruby/1.9.1/bin/passenger start -p 8080 --user=redmine -d