2015年1月28日水曜日

CentOS6.4にRedmineを入れてみた

Redmine構築するたびにコマンド調べるの面倒だったので手順まとめてく
今回は仮想Linux(CentOS6.4)にRedmine2.3.0stableを入れる
Redmineとは進捗管理するためのWEBアプリツール
仕組みを図で書くとこんな感じ

手順としては下から順に作ってってHTTPより上はネットワークでつながってるならどのPCでもブラウザからみれる感じ
じゃー作ってこ!

環境準備

  1. OSの用意
  2. 仮想はvagrant使ってく。じゃないとCentOS6.4はなかなか用意できないw
    手順は「Linux仮想環境構築(ssh接続)」参照
  3. アップデート
  4. インストールしたてだと不便なので、yumをアップデート
        $ sudo yum update
    
  5. セキュリティを無効に
  6. SELinuxを切ってセキュリティをガバガバにしておいた方が作りやすいので切っておく
    vagrantで作成したら最初から切れてるっぽい?下のコマンドでDisabledがかえってきたら切れてる
    $ getenforce
    Disabled
    
      もし、Disabledでなければ
      vi /etc/sysconfig/selinux 
      
      # SELINUX=enforcing  # 先頭に#付けてコメントアウトする
      SELINUX=disabled       # 追記文:SELINUXを切る
      
      できたら再起動(これCent0S6.5でやったらbootでエラー出るえげつないバグでたw回避方法は覚えてたら書く)
      $ reboot
      

インストールしてく

  1. yum強化
  2. epel導入してyumをさらに強化する https://dl.fedoraproject.org/pub/epel/6/x86_64/
    上記URLから「epel-release- (略」で始まる新しそうなパッケージのリンクアドレスを取得。
    今回の場合は「epel-release-6-8.noarch.rpm」のリンクアドレス使用
    $ sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    
  3. いろいろインストール
  4. # 開発ツール(Cコンパイラ等)のインストール
    $ sudo yum groupinstall "Development Tools"
    
    # RubyとPassengerのビルドに必要なヘッダファイルなどのインストール
    $ sudo yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel
    
    # MySQLとヘッダファイルのインストール
    $ sudo yum -y install mysql-server mysql-devel
    
    # Apacheとヘッダファイルのインストール
    $ sudo yum -y install httpd httpd-devel
    
    # ImageMagickとヘッダファイル・日本語フォントのインストール
    $ sudo yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts
    
  5. ルビーインストール
  6. RedmineはRubyで動いてるのでインストール
    RedmineはRuby2.1以降はだめなので、2.0.0らへんを入れる
    $ curl -O http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p451.tar.gz
    $ tar zxvf ruby-2.0.0-p451.tar.gz 
    $ cd ruby-2.0.0-p451
    $ ./configure --disable-install-doc
    $ make
    $ sudo make install
    
  7. Redmineが使用するGemを一括インストールするツールをインストール
  8. bundlerっていうツール。コレをインストールするにはrootユーザである必要があるので、rootユーザでコマンドを行う
    $ su -
    passwd:  # vagrantでつくるとrootユーザのパスもvagrant
    $ gem install bundler --no-rdoc --no-ri
    $ exit # rootユーザをログアウト
    

MySQLの設定

  1. 文字をutf8に設定
  2. RedmineではUTF-8でDBとやり取りするので、文字をUTF-8に設定する
    $ cat /etc/my.cnf 
    
    
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    character-set-server=utf8
    
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    
    [mysql]
    default-character-set=utf8
    
    
    MySQLを起動させる
    $ sudo service mysqld start
    $ sudo chkconfig mysqld on
    
    文字がUTF-8になってるかチェック
    $ mysql -u root
    mysql> show variables like 'character_set%';  # 文字コードをみる
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    # ↑こんな感じ担ってればOK
    mysql> exit  # MySQL終了
    
  3. MySQLの初期化
  4. $ mysql_secure_installation
    # あとは言われるがまま設定をしていけばOK
    
    ここで設定するパスワードは今後rootユーザでMySQLを起動する度に必要になるので忘れないように
  5. Redmineで使用するDB作成
  6. $ mysql -u root -p
    # パスワード聞かれるのでさっき設定したパスワード入力
    mysql> create database redmine_db default character set utf8;
    # redmine用のユーザ作成
    #  by ' 'のところは好きなパスワード設定。redmine側の設定するときに必要になる
    mysql> grant all on redmine_db.* to redmine_user@localhost identified by 'redmine';
    mysql> flush privileges;
    mysql> exit;
    

Redmineの設定

  1. Redmineをダウンロード
  2. 下のアドレスから欲しいRedmineバージョンを選択
    http://www.redmine.org/releases/
    .tar.gzの拡張子のリンクアドレスコピー。
    # 2.3.0を入れるので redmine-2.3.0.tar.gz のリンクアドレス
    $ curl -O http://www.redmine.org/releases/redmine-2.3.0.tar.gz
    # 解凍
    $ tar xvf redmine-2.3.0.tar.gz
    # アパッチで公開する所に解凍したファイルを移動
    $ sudo mv redmine-2.3.0 /var/lib/redmine
    
  3. RedmineのDB接続設定
  4. 接続設定はRedmineディレクトリのなかのconfigの中に「database.yml」作ってそこで設定する
    # redmineディレクトリに移動
    $ cd /var/lib/redmine
    $ cd config
    # DB接続設定のテンプレートが用意されているのでコピー
    $ cp database.yml.example database.yml
    $ vi database.yml
    
    database.ymlの編集箇所
    production:
      adapter: mysql2
      database: redmine_db
      host: localhost
      username: redmine_user
      password: "redmine"
      encoding: utf8
    
  5. Gemパッケージのインストール
  6. bundlerを使つかってRedmineで使用するGemをインストール
    ついでにRedmineの初期設定とデータベースのテーブル作成
    Redmineディレクトリで実行
    $ cd /var/lib/redmine
    $ bundle install --without development test
    $ bundle exec rake generate_secret_token
    $ RAILS_ENV=production bundle exec rake db:migrate
    

Apatcheとかwebサーバ設定

このへんからrootユーザでないとできないコマンドがあるのでユーザ切り替え
$ su - 
Password:  # vagrantで環境設定してたらパスワードは「vagrant」
$ id # 今のユーザを調べるコマンド↓この表示我出ればrootユーザ状態
uid=0(root) gid=0(root) groups=0(root) 
  1. Passengerインストール
  2. Redmineは「Ruby on Rails」というフレームワークで動いてるので、このフレームワークを動かすためのPassengerをインストール
    $ gem install passenger --no-rdoc --no-ri
    $ passenger-install-apache2-module  # apache用モジュールインストール
    
  3. Passengerの設定をApatheに追加
  4. /etc/httpd/conf.dにpassenger.confをつくる
    $ passenger-install-apache2-module --snippet  > /etc/httpd/conf.d/passenger.conf
    # ちょっと修正
    $ vi /etc/httpd/conf.d/passenger.conf 
    
    # のタグと字下げを消す。
    # その他は環境依存の設定値なのでいじらないように
    LoadModule passenger_module /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.58/buildout/apache2/mod_passenger.so
    PassengerRoot /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.58
    PassengerDefaultRuby /usr/local/bin/ruby
    
  5. Apathe再起動
  6. service httpd start
    chkconfig httpd on # Linux再起動時もApathe onにする
    
  7. WebサーバをRedmine専用機に編集
  8. Apacheを実行するユーザー・グループで読み書きできるよう、オーナー変更
    chown -R apache:apache /var/lib/redmine
    
    httpd.conf を編集
    $ vi /etc/httpd/conf/httpd.conf
    
    # DocumentRoot "/var/www/html"  # コレをコメントアウトして下の設定にする
    DocumentRoot "/var/lib/redmine/public"
    
    Apatcheの再起動
    /etc/init.d/httpd configtest
    /etc/init.d/httpd graceful
    
完成!!時間かかったーー



起動して確認してみる

ブラウザ開いて、URLにIPアドレスを入力
RedmineサーバのIPアドレスは構築環境で下のコマンドで確認できる
$ ifconfig
# この辺に書いてる「inet addr:」のところ↓
eth1      Link encap:Ethernet  HWaddr 08:00:27:39:EB:4B  
          inet addr:192.168.33.10  Bcast:192.168.33.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe39:eb4b/64 Scope:Link
でた!! Redmineの初期状態のログインIDは
IDadmin
PASSadmin

0 件のコメント:

コメントを投稿