8000 redmineのセットアップ処理見直し · Issue #152 · alminium/alminium · GitHub
[go: up one dir, main page]

Skip to content

redmineのセットアップ処理見直し #152

Open

Description

@tkmtmkt

alminiumインストール後の状態で /opt/alminium/vendor/bundler 以下にpassenger含めて全てのgemが揃っており、手動で passenger-install-apache2-module --auto を実行して mod_passenger.so を生成することでシステム領域のライブラリを使用せずにredmineを実行することができます。

root権限でbundlerを実行しないようにredmine設定処理を見直して、インストール中に以下の警告が表示されないようにする。

Don't run Bundler as root. Bundler can ask for sudo if it is needed, 
and installing your bundle as root will break this application for 
all non-root users on this machine.

Activity

  1. tkmtmkt commented on May 6, 2015

    @tkmtmkt
    Author

    2015/5/6時点でのdevブランチのインストール処理は以下の通り。

    #-------------------------------------------------------
    環境変数設定
    メモリチェック
    rootチェック
    OSチェック
    設定確認(入力要求)
        ホスト名設定
        SSLサポート設定
        JENKINS設定
    git submodule更新
    
    #-------------------------------------------------------
    # 前処理(パッケージインストール等)
    # ruby実行環境の構築まで
    inst-script/$OS/pre-install
    
    #-------------------------------------------------------
    # gemインストール
    inst-script/gems
    
    #-------------------------------------------------------
    # データベース作成
    mysql < redmine/setup/createdb.sql
    
    #-------------------------------------------------------
    # apache設定ファイル格納用のディレクトリ作成
    #
    # /etc/opt/alminium ディレクトリの作成
    #
    cp etc/* $ALM_ETC_DIR
    
    # VCS用のディレクトリ作成
    #
    # /var/opt/alminium ディレクトリの作成
    #
    mkdir -p $ALM_VAR_DIR/{git,svn,hg,maven}
    chown -R $APACHE_USER:$APACHE_USER $ALM_VAR_DIR
    
    #-------------------------------------------------------
    # redmineインストール
    #
    # /opt/alminium ディレクトリにredmine環境構築
    #
    mkdir -p $INSTALL_DIR
    
    # redmine展開
    cd cache
    wget $RM_ARC
    tar zxf redmine-$RM_VER.tar.gz
    cd ..
    
    $CPCMD cache/redmine-$RM_VER/* $INSTALL_DIR/
    $RMCMD cache/redmine-$RM_VER
    
    # redmine設定
    cp     redmine/Gemfile.local   $INSTALL_DIR/
    $CPCMD redmine/config/*        $INSTALL_DIR/config/
    $CPCMD redmine/public/themes/* $INSTALL_DIR/public/themes/
    
    # redmineプラグインのインストール(DBマイグレーション含む)
    source redmine/setup/redmine-plugins
    
    # alminium用のカスタマイズ
    $MYSQL alminium < redmine/setup/init.mysql
    
    mkdir -p $INSTALL_DIR/bin
    $CPCMD redmine/bin/* $INSTALL_DIR/bin/
    $CPCMD redmine/hooks $INSTALL_DIR/
    chown -R $APACHE_USER:$APACHE_USER $INSTALL_DIR
    
    #-------------------------------------------------------
    # jenkinsインストール
    #
    # /var/lib/jenkins
    #
    source jenkins/setup/$OS/install.sh
    source jenkins/setup/config.sh
    
    #-------------------------------------------------------
    # 後処理(apache設定とか)
    source inst-script/$OS/post-install
    

    処理の順番を以下のように入れ替える。
    また、スクリプトを分割して個別に実行できるようにし、インストール失敗した場合に残りのスクリプトを実行するだけでよいようにする。

    #-------------------------------------------------------
    # 準備処理
    #  -> 引数で渡して入力要求なしで実行できるモードが必要
    環境変数設定
    メモリチェック
    rootチェック
    OSチェック
    設定確認(入力要求)
        ホスト名設定
        SSLサポート設定
        JENKINS設定
    git submodule更新
    
    #-------------------------------------------------------
    # 前処理(パッケージインストール等)
    # ruby実行環境の構築まで
    inst-script/$OS/pre-install
    
    #-------------------------------------------------------
    # gemインストール
    #  -> bundlerだけあればよいので不要
    #  -> その他のgemは全てbundlerで管理している
    inst-script/gems
    
    #-------------------------------------------------------
    # redmineインストール
    #
    # /opt/alminium ディレクトリにredmine環境構築
    #
    mkdir -p $INSTALL_DIR
    
    # redmine展開
    cd cache
    wget $RM_ARC
    tar zxf redmine-$RM_VER.tar.gz
    cd ..
    
    $CPCMD cache/redmine-$RM_VER/* $INSTALL_DIR/
    $RMCMD cache/redmine-$RM_VER
    
    # redmine設定
    # redmineディレクトリ以下(setup除く)をコピーする
    #  -> setupを除外指定して他をコピーするようにしたほうがよい
    cp     redmine/Gemfile.local   $INSTALL_DIR/
    $CPCMD redmine/config/*        $INSTALL_DIR/config/
    $CPCMD redmine/public/themes/* $INSTALL_DIR/public/themes/
    mkdir -p $INSTALL_DIR/bin
    $CPCMD redmine/bin/* $INSTALL_DIR/bin/
    $CPCMD redmine/hooks $INSTALL_DIR/
    
    # データベース作成
    mysql < redmine/setup/createdb.sql
    
    # redmineプラグインのインストール(DBマイグレーション含む)
    #  -> プラグインはコピーするだけ
    #  -> データベース処理は別のスクリプトにしたほうがよい
    #  -> mod_passengerインストール処理は別のスクリプトにしたほうがよい
    source redmine/setup/redmine-plugins
    
    # alminium用のカスタマイズ
    $MYSQL alminium < redmine/setup/init.mysql
    
    # VCS用のディレクトリ作成
    #
    # /var/opt/alminium ディレクトリの作成
    #
    mkdir -p $ALM_VAR_DIR/{git,svn,hg,maven}
    
    # ファイル権限設定
    chown -R $APACHE_USER:$APACHE_USER $INSTALL_DIR
    chown -R $APACHE_USER:$APACHE_USER $ALM_VAR_DIR
    
    #-------------------------------------------------------
    # apache設定ファイル格納用のディレクトリ作成
    #  -> ディレクトリ作成の後にpassenger.confの生成を追加する
    #
    # /etc/opt/alminium ディレクトリの作成
    #
    cp etc/* $ALM_ETC_DIR
    
    #-------------------------------------------------------
    # jenkinsインストール(JDKインストール含む)
    #
    # /var/lib/jenkins
    #
    source jenkins/setup/$OS/install.sh
    source jenkins/setup/config.sh
    
    #-------------------------------------------------------
    # 後処理(apache設定とか)
    source inst-script/$OS/post-install
    
Sign up fo 42FD r free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0