動作
如何在 Debian 8 上使用 Apache2-Passenger 安裝 Redmine¶
最後更新時間:2015 年 4 月 4 日
本操作說明描述如何在 Debian 8(4 月 15 日,正式版發布前幾週)上使用 Apache 和 MySQL 安裝 Redmine 3.0.1。
提示
以一般使用者身分執行所有指令。如果需要 root 權限,請使用 sudo(需要正確安裝和設定「sudo」套件)。
1. 安裝 Debian 套件¶
sudo aptitude install mysql-server mysql-client libmysqlclient-dev gcc build-essential zlib1g zlib1g-dev zlibc ruby-zip libssl-dev libyaml-dev libcurl4-openssl-dev ruby gem libapache2-mod-passenger apache2-mpm-prefork apache2-dev libapr1-dev libxslt1-dev checkinstall libxml2-dev ruby-dev vim libmagickwand-dev imagemagick
2. 下載並準備 Redmine¶
2.1 下載 Redmine¶
cd /opt/ sudo mkdir redmine sudo chown -R $your_user redmine cd redmine wget $redmine.tar.gz tar xzf $redmine.tar.gz cd redmine-X.X.X
2.2 準備 MySQL¶
mysql --user=root --password=$password
CREATE DATABASE redmine CHARACTER SET utf8; CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password'; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; exit
Redmine 資料庫設定
cp config/database.yml.example config/database.yml
自訂 config/database.yml
production: adapter: mysql2 database: redmine host: localhost username: redmine password: my_password
2.3 Bundler¶
安裝 bundler
sudo gem install bundler bundle install --without development test
產生密鑰
bundle exec rake generate_secret_token
準備資料庫並安裝所有資料表
RAILS_ENV=production bundle exec rake db:migrate RAILS_ENV=production bundle exec rake redmine:load_default_data
2.4 測試 Redmine¶
將 $IP 替換為您的外部 IP
bundle exec ruby bin/rails server -b $IP webrick -e production
開啟瀏覽器並造訪 http://$IP:3000
3 Apache¶
Apache 服務以 www-data 使用者身分執行,因此 www-data 需要存取某些目錄
sudo chown -R www-data files log tmp public/plugin_assets sudo chmod -R 755 files log tmp public/plugin_assets sudo chown www-data:www-data Gemfile.lock
將 Redmine 公開目錄連結到 Apache 根目錄
sudo ln -s /opt/redmine/redmine-X.X.X/public/ /var/www/html/redmine
以下 VirtualHost 設定需要您對 Web 伺服器的控制權。
/var/www/html/ 下的每個網站可能都需要 Location 指令。
我們產生一個新的虛擬主機設定
sudo vim /etc/apache2/sites-available/master.conf
而 Redmine 需要
<VirtualHost *:80> ServerAdmin admin@example.com Servername hostname DocumentRoot /var/www/html/ <Location /redmine> RailsEnv production RackBaseURI /redmine Options -MultiViews </Location> </VirtualHost>
停用 Debian 的預設虛擬主機
sudo a2dissite 000-default.conf
並啟用新的主要虛擬主機
sudo a2ensite master.conf
為了避免權限錯誤,Passenger 模組也需要以 www-data 身分執行。
編輯 /etc/apache2/mods-available/passenger.conf 並新增以下這一行
PassengerUser www-data
最後重新啟動 Apache
sudo service apache2 restart
開啟瀏覽器並造訪 http://$IP/redmine
完成。