動作
如何在 Debian Squeeze 上安裝 Redmine 搭配 Postgresql、Ruby-on-Rails 和 Apache2-Passenger¶
本操作指南類似於如何在 Debian 上安裝 Redmine 搭配 Ruby-on-Rails 和 Apache2-Passenger,但稍微簡短一些,並使用 Postgresql 而不是 Mysql 作為資料庫伺服器。
應該注意的是,Redmine 及其所有依賴項都可以在 Debian 的儲存庫中以套件的形式獲得,因此不需要像我們在本操作指南中那樣從 svn 下載 Redmine。
首先,我們以 root 身分登入並安裝一些必要的套件
su apt-get install postgresql-8.4 apache2 subversion rake rubygems libopenssl-ruby libpgsql-ruby libapache2-mod-passenger gem install -v=2.3.5 rails
在配置 Redmine 之前,我們需要在 Postresql 中建立一個使用者和一個資料庫。 請務必將 <password> 替換為您的密碼。
su postgres psql postgres=# CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD '<password>' NOINHERIT VALID UNTIL 'infinity'; postgres=# CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine TEMPLATE template0; postgres=# \q exit
現在,讓我們下載 Redmine 並進行配置
cd /tmp svn co http://redmine.rubyforge.org/svn/branches/1.0-stable redmine-1.0 mv redmine-1.0/ /var/lib/redmine cd /var/lib/redmine
首先是一些資料庫的東西。 請將 <password> 替換為您的密碼。
echo "production: adapter: postgresql database: redmine host: localhost username: redmine password: <password> encoding: utf8 schema_search_path: public" > config/database.yml RAILS_ENV=production rake config/initializers/session_store.rb rake generate_session_store RAILS_ENV=production rake db:migrate RAILS_ENV=production rake redmine:load_default_data
最後,我們設定 Apache。 建立一個指向 www 目錄的符號連結,並將所有權授予 www-data。
ln -s /var/lib/redmine/public /var/www/redmine chown -R www-data:www-data /var/www/redmine
我們啟用網站並重新啟動 Apache。
echo "RailsBaseURI /redmine" > /etc/apache2/sites-available/redmine a2ensite redmine /etc/init.d/apache2 restart
就是這樣。 您可以在以下位置找到 Redmine:
localhost/redmine
您的 IP/redmine 或
您的網域/redmine
如果您需要使用沒有別名(/redmine)的正常網域運行 redmine,您可以按照以下說明進行操作。
有兩種可能性- 使用 mod_fcgid
- 使用已安裝的 mod_passenger
使用 mod_fcgid
為 Apache 安裝 fcgid 模組
aptitude install libapache2-mod-fcgid
配置範例虛擬主機 /etc/apache2/sites-available/yourvirtualhost
<VirtualHost *:80> ServerAdmin mail@yourserver ServerName www.redmine.org DefaultInitEnv RAILS_ENV production DefaultInitEnv GEM_PATH /var/lib/gems/1.8 DocumentRoot /var/lib/redmine/public <Directory /var/lib/redmine/public> Options +FollowSymLinks +ExecCGI RewriteEngine On RewriteRule ^$ index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly" AllowOverride None #AllowOverride all Order allow,deny allow from all </Directory> # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ErrorLog /var/log/apache2/error.log ServerSignature Off </VirtualHost>
啟用新的虛擬主機並重新啟動 Apache mod-rewrite 也需要
cd /etc/apache2/sites-available a2ensite yourvirtualhost a2enmod rewrite /etc/init.d/apache2 restart
請記住更改 /var/lib/redmine/files/ 的所有者和權限(用於上傳檔案)
chown -R www-data:www-data /var/lib/redmine/files/ chmod -R 0777 /var/lib/redmine/files/
使用以下帳號登入:使用者:admin,密碼:admin
使用已安裝的 mod_passenger
(*在 Debian 6.0.1、Apache 2.2.16 和 mod_passenger 2.2.11 上測試過*)
在 /etc/apache2/sites-available 下建立一個簡單的配置檔案
<VirtualHost *:80> ServerAdmin mail@yourserver ServerName www.redmine.org DocumentRoot /var/lib/redmine/public <Directory /var/lib/redmine/public> Options -MultiViews allow from all </Directory> # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined ErrorLog /var/log/apache2/error.log ServerSignature Off </VirtualHost>
注意:請記住以所有者身分進行更改並設定權限。