Skip to content

Commit

Permalink
Merge pull request #145 from ayapapa/dev
Browse files Browse the repository at this point in the history
Ubuntu18.04 および CentOS7で、インストールの成功を確認できたので、マージする。
  • Loading branch information
ayapapa authored Apr 7, 2021
2 parents b003844 + c980034 commit 2a13077
Show file tree
Hide file tree
Showing 8 changed files with 68 additions and 23 deletions.
25 changes: 16 additions & 9 deletions backup
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@
# 第2引数:データベースホスト名
# 第3引数:データベース管理者パスワード
############################################################

# 各種ディレクトリ
ALM_SRC_DIR=${ALM_SRC_DIR:-$(cd $(dirname $0);pwd)}
ALM_VAR_DIR=${ALM_VAR_DIR:-/var/opt/alminium}
ALM_INSTALL_DIR=${ALM_INSTALL_DIR:-/opt/alminium}

# DBホスト、DBrootユーザーパスワード
ALM_DB_HOST=${2:-${ALM_DB_HOST}}
ALM_DB_HOST=${ALM_DB_HOST:-localhost}
ALM_DB_ROOT_PASS=${3:-${ALM_DB_ROOT_PASS}}
Expand Down Expand Up @@ -60,7 +63,7 @@ echo "バックアップファイル名 : ${ALM_BACKUP_DIR}/${ALM_BACKUP_NAME}"

# バックアップ結果チェック
check_backup_result() {
if [ -f ${ALM_BACKUP_DIR}/$1 -a -s ${ALM_BACKUP_DIR}/$1 ]; then
if [ "$3" = "0" -a -f ${ALM_BACKUP_DIR}/$1 -a -s ${ALM_BACKUP_DIR}/$1 ]; then
echo "$2(${ALM_BACKUP_DIR}/$1)が成功しました。"
else
echo "$2(${ALM_BACKUP_DIR}/$1)が失敗しました。"
Expand All @@ -69,28 +72,32 @@ check_backup_result() {
}

echo "MySQLデータベースをバックアップします。"
mysqldump `db_option` alminium > ${ALM_BACKUP_DIR}/${ALM_DBBACKUP_NAME}
check_backup_result ${ALM_DBBACKUP_NAME} "データベースバックアップ"
result=0
mysqldump `db_option_root` alminium > ${ALM_BACKUP_DIR}/${ALM_DBBACKUP_NAME} || result=$?
check_backup_result ${ALM_DBBACKUP_NAME} "データベースバックアップ" ${result}

#redmineの添付ファイルをバックアップ
echo "Redmineの添付ファイルをバックアップします。"
pushd ${ALM_INSTALL_DIR}/files/
tar czf ${ALM_BACKUP_DIR}/${ALM_FILE_BACKUP} .
check_backup_result ${ALM_FILE_BACKUP} "添付ファイルバックアップ"
result=0
tar czf ${ALM_BACKUP_DIR}/${ALM_FILE_BACKUP} . || result=$?
check_backup_result ${ALM_FILE_BACKUP} "添付ファイルバックアップ" ${result}
popd

#ソースコードリポジトリ
echo "ソースコードリポジトリをバックアップします。"
result=0
pushd ${ALM_VAR_DIR}/
tar czf ${ALM_BACKUP_DIR}/${ALM_REPOS_BACKUP} .
check_backup_result ${ALM_REPOS_BACKUP} "ソースコードリポジトリバックアップ"
tar czf ${ALM_BACKUP_DIR}/${ALM_REPOS_BACKUP} . || result=$?
check_backup_result ${ALM_REPOS_BACKUP} "ソースコードリポジトリバックアップ" ${result}
popd

# バックアップ統合
pushd ${ALM_BACKUP_DIR}
result=0
tar czf ./${ALM_BACKUP_NAME} \
./${ALM_DBBACKUP_NAME} ./${ALM_FILE_BACKUP} ./${ALM_REPOS_BACKUP}
check_backup_result ${ALM_BACKUP_NAME} "バックアップファイル統合"
./${ALM_DBBACKUP_NAME} ./${ALM_FILE_BACKUP} ./${ALM_REPOS_BACKUP} || result=$?
check_backup_result ${ALM_BACKUP_NAME} "バックアップファイル統合" ${result}

# バックアップ終了
echo "[`date`] ALMiniumのデータのバックアップが終了しました。"
Expand Down
2 changes: 1 addition & 1 deletion etc/alminium-backup-cron
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ ALM_BACKUP_CMD=/opt/alminium/backup
ALM_BACKUP_DIR=#ALM_BACKUP_DIR#
ALM_BACKUP_LOG=#ALM_BACKUP_LOG#

#ALM_BACKUP_MINUTE# #ALM_BACKUP_HOUR# #ALM_BACKUP_DAY# * * root ALM_BACKUP_EXPIRY=#ALM_BACKUP_EXPIRY# $ALM_BACKUP_CMD $ALM_BACKUP_DIR >> $ALM_BACKUP_LOG
#ALM_BACKUP_MINUTE# #ALM_BACKUP_HOUR# #ALM_BACKUP_DAY# * * root ALM_BACKUP_EXPIRY=#ALM_BACKUP_EXPIRY# ALM_DB_HOST=#ALM_DB_HOST# $ALM_BACKUP_CMD $ALM_BACKUP_DIR >> $ALM_BACKUP_LOG


1 change: 1 addition & 0 deletions inst-script/config-backup
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ if [ -f ${ALM_ETC_DIR}/alminium-backup-cron ]; then
-e "s|#ALM_BACKUP_HOUR#|${ALM_BACKUP_HOUR}|" \
-e "s|#ALM_BACKUP_DAY#|${ALM_BACKUP_DAY}|" \
-e "s|#ALM_BACKUP_EXPIRY#|${ALM_BACKUP_EXPIRY}|" \
-e "s|#ALM_DB_HOST#|${ALM_DB_HOST}|" \
${ALM_ETC_DIR}/alminium-backup-cron > /etc/cron.d/alminium-backup-cron
chown root:root /etc/cron.d/alminium-backup-cron
else
Expand Down
3 changes: 3 additions & 0 deletions inst-script/ubuntu1804/packages.lst
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,18 @@ curl
g++
git
imagemagick
libapache-dbi-perl
#libapache2-mod-passenger
libapache2-mod-perl2
libapache2-mod-wsgi
libapache2-mod-svn
libapr1-dev
libaprutil1-dev
libauthen-simple-ldap-perl
libcurl4-openssl-dev
libdbd-mysql-perl
libdbi-perl
libio-socket-ssl-perl
libmagickcore-dev
libmagickwand-dev
libmysqlclient-dev
Expand Down
12 changes: 10 additions & 2 deletions jenkins/setup/config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,14 @@ if [ x"$http_proxy" != x"" ]; then
fi

echo セキュリティ解除
sed -i.org "s/<useSecurity>true/<useSecurity>false/" /var/lib/jenkins/config.xml
#sed -i.org "s/<useSecurity>true/<useSecurity>false/" /var/lib/jenkins/config.xml

sed -i.org \
-e "s/<authorizationStrategy class=\"hudson.security.FullControlOnceLoggedInAuthorizationStrategy\">/<authorizationStrategy class=\"hudson.security.AuthorizationStrategy\$Unsecured\"\/>\n <\!-- <authorizationStrategy class=\"hudson.security.FullControlOnceLoggedInAuthorizationStrategy\"> -->/" \
-e "s/<denyAnonymousReadAccess/<\!-- <denyAnonymousReadAccess/" \
-e "s/\/denyAnonymousReadAccess>/\/denyAnonymousReadAccess> -->/" \
-e "s/<\/authorizationStrategy>/<\!-- <\/authorizationStrategy> -->/" \
/var/lib/jenkins/config.xml
service jenkins restart

# プラグインインストール
Expand Down Expand Up @@ -132,11 +139,12 @@ echo "## Jenkinsの設定が終わりました。"
echo "## RedmineユーザーでJenkinsへログインできるようにする場合は、以下を実施してください。"
echo "## ※ブラウザで表示エラーになる場合は、しばらく待ってから以下を実施してください。"
echo "## 1. ブラウザでhttp://${ALM_HOSTNAME}/jenkinsを表示"
echo "## 2. 「Jenkinsの管理」→「セキュリティーを設定」を選択"
echo "## 2. 初期設定後表示されたJenkinsの画面にて、「Jenkinsの管理」→「グローバルセキュリティの設定」を選択"
echo "## 3. ユーザー情報で「Redmineユーザー認証」を選択"
echo "## 4. 「データベース名」、「DBユーザー」、「DBパスワード」にalminiumと記載(その他はデフォルト値のまま)"
echo "## 5. Redmineバージョンで「1.2.0以上」を選択"
echo "## 6. 「保存」ボタンを押下"
echo "※上記設定等、正常に行われたことを確認した後、適切な権限設定を行った上で、運用してください。"
echo "## インストール処理を継続するために、何らかのキーを押下してください。"
read PROCEED

2 changes: 0 additions & 2 deletions redmine/setup/createdb.sql
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
CREATE DATABASE alminium DEFAULT CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON alminium.* TO 'alminium'@'localhost' IDENTIFIED BY 'alminium';
GRANT ALL PRIVILEGES ON alminium.* TO 'alminium'@'%' IDENTIFIED BY 'alminium';
GRANT PROCESS ON *.* TO 'alminium'@'localhost' IDENTIFIED BY 'alminium';
GRANT PROCESS ON *.* TO 'alminium'@'%' IDENTIFIED BY 'alminium';
44 changes: 36 additions & 8 deletions restore
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,9 @@ ALM_VAR_DIR=${ALM_VAR_DIR:-/var/opt/alminium}
ALM_INSTALL_DIR=${ALM_INSTALL_DIR:-/opt/alminium}

# DBホスト、DBrootユーザーパスワード
if [ "$2" != "" ]; then
ALM_DB_HOST=$2
fi
ALM_DB_HOST=${2:-${ALM_DB_HOST}}
ALM_DB_HOST=${ALM_DB_HOST:-localhost}
if [ "$3" != "" ]; then
ALM_DB_ROOT_PASS=$3
fi
ALM_DB_ROOT_PASS=${3:-${ALM_DB_ROOT_PASS}}

ALM_DEAULT_BACKUP_DIR=/var/opt/alminium-backup

Expand All @@ -34,6 +30,8 @@ fi
# バックアップファイルをチェック
if [ "$1" = "" ]; then
echo "第1引数にバックアップファイルを指定してください。"
echo "以下は、デフォルトバックアップディレクト配下の候補です。"
ls ${ALM_DEAULT_BACKUP_DIR}/*-alm-backup.tar.gz
exit 1
fi

Expand All @@ -53,6 +51,7 @@ ALM_BACKUP_FILE_PATH=${ALM_BACKUP_DIR}/${ALM_BACKUP_FILE_NAME}
# バックアップファイルの存在を確認する
if [ ! -f "${ALM_BACKUP_FILE_PATH}" ]; then
echo "指定したバックアップファイルが在りません。処理を中止します。"
exit 1
fi

# リストア用一時ディレクトリ
Expand All @@ -75,23 +74,52 @@ source inst-script/functions
# バックアップの復元
echo "${ALM_BACKUP_FILE_PATH}を復元します。"
cd ${ALM_RESTORE_TMP_DIR}
if [ $? -ne 0 ]; then
echo バックアップの一時復元ディレクトリ${ALM_RESTORE_TMP_DIR}に移動できませんでした。
echo アクセス権やディスク容量などを確認してくだい。
exit 1
fi
tar xzf ${ALM_BACKUP_FILE_PATH}
if [ $? -ne 0 ]; then
echo バックアップの復元に失敗しました。
echo ${ALM_RESTORE_TMP_DIR}のアクセス権やディスク容量などを確認してくだい。
exit 1
fi

echo "***リポジトリーデータを復元しています..."
cd ${ALM_VAR_DIR} && tar xzf ${ALM_REPOS_BACKUP}
if [ $? -ne 0 ]; then
echo "リポジトリーデータの復元に失敗しました。"
exit 1
fi

echo "***Redmine添付ファイルを復元しています..."
cd ${ALM_INSTALL_DIR}/files/ && tar xzf ${ALM_FILE_BACKUP}
if [ $? -ne 0 ]; then
echo "Redmine添付ファイルの復元に失敗しました。"
exit 1
fi

# データベースの復元
if [ "${ALM_DB_BACKUP}" != "no" ]; then
echo "***データベースを復元しています..."
mysql `db_option` alminium < ${ALM_DB_BACKUP}
echo "データ復元が完了しました。"
mysql `db_option_root` alminium < ${ALM_DB_BACKUP}
if [ $? -ne 0 ]; then
echo "データベースの復元に失敗しました。"
exit 1
fi
echo "データベース復元が完了しました。"
#データベースのマイグレーション
echo "データベースのマイグレーションを実施します。"
cd ${ALM_INSTALL_DIR}
${BUNDLER} exec rake db:migrate RAILS_ENV=production
${BUNDLER} exec rake redmine:plugins:migrate RAILS_ENV=production
${BUNDLER} exec rake tmp:cache:clear RAILS_ENV=production
${BUNDLER} exec rake tmp:sessions:clear RAILS_ENV=production
if [ $? -ne 0 ]; then
echo "データベースのマイグレーションに失敗しました。"
exit 1
fi
echo "データベースのマイグレーションが完了しました。"
fi

Expand Down
2 changes: 1 addition & 1 deletion upgrade
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# upgrader for ALMinium.
# 第1引数:バックアップディレクトリ
# defaultは/var/opt/alminium-backup
# "-"を指定したときはdeaultディレクトリを利用
# "-"を指定したときはdefaultディレクトリを利用
# 第2引数:データベースホスト名
# 第3引数:データベース管理者パスワード
############################################################
Expand Down

0 comments on commit 2a13077

Please sign in to comment.