CentOS7.2 に新規にredmine3.2を入れて,旧redmine1.1.2で作成してきたデータを移行できました.redmineってよくできてます.下記が方法です.
データの保存
- データの保存(mysql)
mysqldump -u root -p --default-character-set=utf8 db_redmine > /tmp/redmine_backup_`date +%Y%m%d-%H%M%S`.sql
- データの保存(wikiなどでの添付ファイル)
/var/lib/redmine/files をtarで固めて移動 (/var/lib/redmineの部分は設定による) cd /var/lib/redmine tar cvfz filesback.tgz files
インストール (CentOS7.2)
- getenforce で確認して SELinux切る
- firewall 空ける
firewall-cmd --zone=public --add-service=http --permanent firewall-cmd --reload
- パッケージインストール
yum groupinstall "Development Tools" yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel httpd-devel yum install ImageMagick ImageMagick-devel ipa-pgothic-fonts
- mysqlを入れる (mariaDBの削除)
yum remove mariadb-libs yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm yum install mysql-community-server yum install mysql-devel
- /etc/my.cnf を開いて最後に下記を追加(文字はUTF-8を利用)
character_set_server=utf8 skip-character-set-client-handshake
- 起動
touch /var/lib/mysql/mysql.sock chown -R mysql:mysql /var/lib/mysql systemctl start mysqld.service
- mysqlのパスワードなど設定
mysql_secure_installation (これを実行) この時,最初のmysqlのrootパスワードの質問は無視 Enter current password for root (enter for none): (空でenter) あとはいろいろ systemctl restart mysqld.service
- /etc/my.cnf を開いて最後に下記を追加(文字はUTF-8を利用)
- DBにredmine(ver1.1.2)をコピーする
- まずDBに空の redmineデータベースを作成し,redmineユーザを作る
mysql -u root -p で入る CREATE DATABASE redmine CHARACTER SET utf8; CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'パスワード'; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; quit;
- 先ほど保存した過去のredmineDBを入れる
mysql -u root -p --default-character-set=utf8 redmine < redmine_backup_20161104-080707.sql
- まずDBに空の redmineデータベースを作成し,redmineユーザを作る
- Rubyを CentOS7.2にいれる
- デフォルトでは 2.0.0 が入ってるが(/usr/bin/ruby)それは削除.2.2.3にする.
- 特に消してもバージョンアップしても今のところ問題なかった
curl -O https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.gz tar xvfz ruby-2.2.3.tar.gz cd ruby-2.2.3 ./configure --disable-install-doc make make install で /usr/local/bin/ruby に入る (確認) ruby -v
- gemのインストール
gem install bundler --no-rdoc --no-ri
- Redmineを入れる 参考は http://blog.redmine.jp/articles/3_2/install/centos/ http://weblabo.oscasierra.net/install-redmine32-centos7-1/など.redmine 3.2を入れる
curl -O http://www.redmine.org/releases/redmine-3.2.0.tar.gz tar xvfz redmine-3.2.0.tar.gz mv redmine-3.2.0 /var/lib/ (ここはお好み) それで名前をredmineに変える cd /var/lib/ mv redmine-3.2.0 redmine (この後,redmineディレクトリの下を全部 ユーザapache,グループapacheに変更するが,まだいろいろインストールするので最後にする)
- データベース接続設定
cd /var/lib/redmine/config/ cp database.yml.example database.yml
- database.ymlで 最初のproductionだけ書き直した
production: adapter: mysql2 database: redmine host: localhost username: redmine password: "パスワード" encoding: utf8
- database.ymlで 最初のproductionだけ書き直した
- configuration.ymlの作成(メールの設定)
- /var/lib/redmine/config/configuration.yml を新規に作る.configuration.yml.exampleというのもあるみたいだけど無視した
- 内容は下記(メールの設定に合わせる)
production: email_delivery: delivery_method: :smtp smtp_settings: address: "localhost" port: 25 domain: "fullのドメイン名" rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf
- 必要なファイルのdownload
cd /var/lib/redmine bundle install --without development test --path vendor/bundle ここでエラーがでた場合はメッセージを読む (database.ymlの中が正しいか,mysql関係のライブラリが不足しているか?など)
- 秘密鍵の作成
cd /var/lib/redmine bundle exec rake generate_secret_token 下記のワーニングが出る /var/lib/redmine/vendor/bundle/ruby/2.2.0/gems/htmlentities-4.3.1/lib/htmlentities/mappings/expanded.rb:465: warning: duplicated key at line 466 ignored: "inodot"
- httpd との連携にむけて (passengerなどいれる)
cd /var/lib/redmine gem install passenger --no-rdoc --no-ri passenger-install-apache2-module --auto
- httpdに登録すべき内容の表示
passenger-install-apache2-module --snippet
と打つと
LoadModule passenger_module /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.30 PassengerDefaultRuby /usr/local/bin/ruby </IfModule>
- 上記の内容をhttpdに設定
touch /etc/httpd/conf.d/redmine.conf
- としてファイルを作って内容は下記
<Directory "/var/lib/redmine/public"> Require all granted </Directory> LoadModule passenger_module /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.30 PassengerDefaultRuby /usr/local/bin/ruby </IfModule> RackBaseURI /redmine (この最後の1行も重要)
- としてファイルを作って内容は下記
Redmineまわりの設定とファイルの移動
- 旧redmineのfileをコピーする
cd /var/lib/redmine mv files filesBak mv filesback.tgz . tar xvfz filesback.tgz これで files ディレクトリが /var/lib/redmineの下にできる
- データベースを修正する(これが重要)
cd /var/lib/redmine RAILS_ENV=production bundle exec rake db:migrate
- Redmineの下を apacheユーザ,apacheグループの権限に変える
chown -R apache:apache /var/lib/redmine
- /var/www/html/ がhttpdが公開するディレクトリの時,この下にシンボリックリンクを張る
ln -s /var/lib/redmine/public /var/www/html/redmine
起動
systemctl restart httpd.service
起動時に自動で立ち上げるには
systemctl enable httpd.service
アクセス
http://localhost/redmine/ のところにアクセスすると表示される.