因機器搬遷,需要把舊的 server 的資料,移到新機器上。
用 docker 測試
docker run -d -p 10022:22 -p 10080:80 centosssh /usr/sbin/sshd -D
如果遇到 Failed to get D-Bus connection: Operation not permitted 的問題,就改用這個方式啟動。因為需要 ssh 及 web 的 port,啟動時先對應好。
ref [原创] 解决 CentOS7 容器 Failed to get D-Bus connection: Operation not permitted
docker run -d -p 10022:22 -p 10080:80 -e "container=docker" --privileged=true -v /sys/fs/cgroup:/sys/fs/cgroup --name centos7test centosssh /usr/sbin/init
docker exec -it centos7test /bin/bash
安裝Apache、MariaDB、PHP
yum install -y httpd php mariadb mariadb-server mariadb-devel systemd which wget
設定MariaDB的DB為utf8
vi /etc/my.cnf.d/server.cnf
[mysqld]
character-set-server=utf8
vi /etc/my.cnf.d/client.cnf
[client]
default-character-set=utf8
啟動 MariaDB
systemctl start mariadb
mysql_secure_installation
建立 redmine 資料庫及帳號
mysql -u root -p
CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
flush privileges;
exit;
修改 MariaDB 密碼
mysqladmin -u root password 'password'
安裝 rvm
安裝RVM (Ruby管理工具)、Ruby、Rubygem
# Install Key
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
#Install RVM
\curl -sSL https://get.rvm.io | bash -s stable
測試過 ruby 2.4.0 有些問題,所以安裝 ruby 限制在 2.2.4 版。
source /etc/profile.d/rvm.sh
rvm requirements
rvm install ruby 2.2.4
#rvm install rubygem
#gem install rails --no-rdoc --no-ri
不使用 yum 安裝 ruby (現在是 2.0 版)
#yum list ruby
yum install -y gcc libxml2-devel
# 包含ruby/gem/libyaml
#yum install -y ruby ruby-devel
gem install bundler
gem install rake --no-document
gem i nokogiri --no-document -v='1.6.8'
gem i mime-types --no-document
# ruby 2 與 rails 5 不相容
gem install rails --no-document -v='4.2.7'
gem install rbpdf --no-document
gem install rbpdf-font --no-document
安裝passenger
yum install -y libcurl-devel httpd-devel apr-devel apr-util-devel
gem install passenger
passenger-install-apache2-module
安裝完成後,會出現module passenger的設定檔文字
vi /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.2.4/gems/passenger-5.1.4/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rvm/gems/ruby-2.2.4/gems/passenger-5.1.4
PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.2.4/wrappers/ruby
</IfModule>
設定 redmine httpd virtual host
vi /etc/httpd/conf.d/redmine.conf
RailsEnv production
RailsBaseURI /redmine
<Directory /home/redmine/redmine-3.3.3/public>
Options FollowSymlinks
AllowOverride none
Require all granted
</Directory>
restart httpd
systemctl restart httpd
安裝 redmine
cd /home
mkdir redmine
cd redmine
wget http://www.redmine.org/releases/redmine-3.3.3.tar.gz
tar -xf redmine-3.3.3.tar.gz
ln -s /home/redmine/redmine-3.3.3/public /var/www/html/redmine
chown -R apache:apache redmine-3.3.3
設定 mysql
cd redmine-3.3.3/config
cp database.yml.example database.yml
# 設定資料庫使用者名稱、密碼。
vi database.yml
把
production:
adapter: mysql2
database: redmine
host: localhost
username: root
password: ""
encoding: utf8
改為
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "dbpassword"
encoding: utf8
cd ..
bundle install --without development test rmagick
### 這個是生成redmine的什麼token,不生成的話瀏覽器會連接不上的,每次生成,以前的cookie內容就會失效
bundle exec rake generate_secret_token
如果有舊的 DB 要先 restore redmine db
mysql -uroot -p redmine < redmine_noplugins.sql
升級 DB schema
RAILS_ENV=production bundle exec rake db:migrate
有舊DB 就不需要 loaddefaultdata
# 生成數據庫對象
RAILS_ENV=production REDMINE_LANG=zh bundle exec rake redmine:load_default_data
可用 webrick 內建 web server 測試,也可以跳過不做
bundle exec rails server webrick -e production
wget http://localhost:3000
> 測試安裝
為以後apache服務器對應(redmine/public目錄)做準備
cd public
cp htaccess.fcgi.example htaccess.fcgi
cp dispatch.fcgi.example dispatch.fcgi
設定 email
cd /home/redmine/redmine-3.3.3/config
cp configuration.yml.example configuration.yml
vi configuration.yml
修改 configuration.yml 前面的 email_delivery,要注意不能修改縮排的格式。
email_delivery:
delivery_method: :smtp
smtp_settings:
enable_starttls_auto: true
address: "smtp.gmail.com"
port: 587
domain: "maxkit.com.tw"
authentication: :login
user_name: "maxkit@maxkit.com.tw"
password: "youremailpassword"
references
最小化安装centos7.3 redmine3.3.3 passenger
Redmine 2.6.3 to 3.0.1 upgrade
沒有留言:
張貼留言