ºìÁªLinuxÃÅ»§
Linux°ïÖú

ÔÚScientific Linux 6.4£¨64룩Éϰ²×°Redmine 2.3.3

·¢²¼Ê±¼ä:2014-06-07 10:57:35À´Ô´:ºìÁª×÷Õß:velcbo
[i=s] ±¾Ìû×îºóÓÉ velcbo ÓÚ 2014-6-7 10:58 ±à¼­ [/i]

Ŀ¼
°²×°ÒÀÀµÏî
°²×°Ruby 2.0
ÏÂÔØ°²×°Redmine
´´½¨Êý¾Ý¿âºÍÊý¾Ý¿âÓû§
ÅäÖÃÊý¾Ý¿âÁ¬½ÓÐÅÏ¢
°²×°ÒÀÀµÏî
»á»°´æ´¢ÃÜÔ¿Éú³É
Éú³ÉÊý¾Ý¿â½á¹¹
Ìî³äȱʡÅäÖÃÊý¾Ý
ÉèÖÃÎļþϵͳ·ÃÎÊȨÏÞ
²âÊÔ°²×°ÊÇ·ñ³É¹¦
怬Redmine
½øÒ»²½ÅäÖÃϵͳ
ÕûºÏµ½Apache
¸´ÖƵ½ApacheרÓÃĿ¼
ÅäÖÃfcgid
ÅäÖÃredmineÐéÄâÖ÷»ú
²âÊÔÊÇ·ñ³É¹¦
ÐÞ¸ÄÈÕÖ¾ÅäÖÃ
±¸·Ý
RedmineÊÇÒ»¿îÓÅÐãµÄÏîÄ¿¹ÜÀíºÍBug¸ú×ÙÈí¼þ£¬»ùÓÚRoR£¨Ruby on Rails£©¿ª·¢¡£
ÏÂÃæ¼Ç¼°²×°¹ý³Ì¡£

°²×°ÒÀÀµÏî
sudo yum install vim-enhanced git mysql-server ImageMagick mod_fcgid

°²×°Ruby 2.0
Èç¹ûÒѾ­°²×°ºÃRuby 2.0¿ÉÂÔ¹ýÕâÒ»²½¡£

curl -progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz | tar xz

mkdir /tmp/ruby && cd /tmp/ruby

curl -progress ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz | tar xz

cd ruby-2.0.0-p247

./configure

make

sudo make install

ÏÂÔØ°²×°Redmine
cd /tmp

git clone https://github.com/redmine/redmine.git

cd redmine

git checkout 2.3-stable

´´½¨Êý¾Ý¿âºÍÊý¾Ý¿âÓû§
mysql -u root -p

ÊäÈë¿ÚÁîºó½øÈëmysql>ÃüÁîÌáʾ·û¡£ÒÀ´Î¼üÈëÏÂÁÐÃüÁ

CREATE DATABASE redmine CHARACTER SET utf8;

CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';

GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

ÕâÑù¾Í´´½¨ÁËÊý¾Ý¿âredmineºÍÊý¾Ý¿âÓû§redmine£¬¿ÚÁîÊÇmy_password¡£

ÅäÖÃÊý¾Ý¿âÁ¬½ÓÐÅÏ¢
cp config/database.yml.example config/database.yml

vim config/database.yml

°´ÏÂÃæµÄÄÚÈÝÌîд£º

production:

adapter: mysql2

database: redmine

host: localhost

username: redmine

password: my_password

°²×°ÒÀÀµÏî
ÐÞ¸ÄGemfileÎļþ£¬ÔÚgem ¡°builder"Ò»ÐÐÖ®ºó¼ÓÈëÏÂÃæÒ»ÐУºgem ¡°fcgi¡±¡£È»ºóÔËÐÐÃüÁ

gem install bundler

bundle install --without development test

»á»°´æ´¢ÃÜÔ¿Éú³É
ÕâÒ»²½Éú³ÉÒ»¸öËæ»úÃÜÔ¿£¬RailsÓÃÀ´±àÂë´æ´¢»á»°Êý¾ÝµÄcookie£¬·ÀÖ¹Íâ½çÆÆ»µ¡£

rake generate_secret_token

Éú³ÉÊý¾Ý¿â½á¹¹
RAILS_ENV=production rake db:migrate

Ìî³äȱʡÅäÖÃÊý¾Ý
RAILS_ENV=production rake redmine:load_default_data

Redmine½«ÌáÎÊÄãÑ¡ÔñÄÄÖÖÓïÑÔ¡£Ñ¡zh´ú±í¼òÌåÖÐÎÄ¡£

ÉèÖÃÎļþϵͳ·ÃÎÊȨÏÞ
ÔËÐÐRedmineµÄÓû§£¨ÏÂÃæÎÒÑ¡¶¨apacheÓû§ÔËÐÐRedmine£©±ØÐë¶ÔÏÂÃæµÄĿ¼ӵÓÐдȨÏÞ£º

files£¨´æ´¢¸½¼þ£©
log£¨Ó¦ÓóÌÐòÈÕÖ¾Îļþapplication.log£©
tmpºÍtmp/pdf£¨Èç¹ûÕâЩĿ¼ÉÐδ´æÔÚ£¬ÔòÏÈ´´½¨Ö®¡£ÓÃÓÚÉú³ÉPDFÎĵµµÈ£©
public/plugin_assets£¨²å¼þµÄÏà¹ØÎļþ£©¡£
ͨ¹ýÏÂÃæµÄÃüÁî½â¾öÉÏÃæµÄÎÊÌ⣺

mkdir -p tmp tmp/pdf public/plugin_assets

sudo chown -R apache:apache files log tmp public/plugin_assets

sudo chmod -R 755 files log tmp public/plugin_assets

²âÊÔ°²×°ÊÇ·ñ³É¹¦
view sourceprint?1 ruby script/rails server webrick -e production

½«ÔËÐÐWEBrick Web·þÎñÆ÷¡£´ò¿ªä¯ÀÀÆ÷·ÃÎÊhttp://localhost:3000/£¨Èç¹ûÄã°²×°ÔÚ±ðµÄ·þÎñÆ÷ÉÏ£¬ÇëÓ÷þÎñÆ÷ÓòÃû»òIP´úÌælocalhost£©¡£Èç¹ûÒ»ÇÐÕý³££¬Äã»á¿´µ½»¶Ó­Ò³Ãæ¡£

怬Redmine
ÓÃÕʺſÚÁîadmin/adminµÇ¼ϵͳ¡£¿ÉÒÔͨ¹ý"¹ÜÀí£¨Administration£©¡°²Ëµ¥Ñ¡Ôñ¡°ÅäÖã¨Settings£©¡±À´ÐÞ¸ÄÓ¦ÓóÌÐòµÄ´ó²¿·ÖÉèÖá£
»Øµ½·þÎñÆ÷µÄÖÕ¶Ë´°¿Ú£¬°´Ctrl + CÍ˳öWEBrick¡£

½øÒ»²½ÅäÖÃϵͳ
RedmineÅäÖÃÐÅÏ¢¶¨ÒåÔÚconf/configuration.ymlÖС£Èç¹ûÄãÐèÒª¸²¸ÇȱʡµÄÅäÖ㬿ÉÒÔ

cp config/configuration.yml.example config/configuration.yml

È»ºóÐÞ¸Äconf/configuration.yml¡£ÐÞ¸ÄÍê±ÏÐèÒªÖØÆô¶¯Ó¦Óá£

ÕûºÏµ½Apache
¸´ÖƵ½ApacheרÓÃĿ¼
Ê×ÏÈ£¬°ÑRedmine´ÓÁÙʱĿ¼/tmp×ªÒÆµ½Ä¿±êĿ¼¡£ÎÒµÄÉèÖÃÊÇ´´½¨/home/apacheĿ¼£¬apacheÓû§ÓµÓÐÕâ¸öĿ¼£¬ÔÚÆäÏ´´½¨sites×ÓĿ¼£¬ËùÓеÄApacheÐéÄâÖ÷»ú³ÌÐò¶¼´æ·ÅÔÚÕâ¸öĿ¼Ï¡£

mkdir -p /home/apache /home/apache/sites

cd ..

sudo mv redmine /home/apache/sites

sudo chown -R apache:apache /home/apache

ÅäÖÃfcgid
cp public/dispatch.fcgi.example public/dispatch.fcgi

vim public/dispatch.fcgi

½«µÚÒ»ÐиÄΪ#!/usr/local/bin/ruby£¬±£´æÍ˳ö¡£

ʹpublic/dispatch.fcgiÓµÓÐÖ´ÐÐȨÏÞ£º

sudo chmod 755 public/dispatch.fcgi

ÅäÖÃ.htaccessÎļþ£¬È¥µôfastcgiÖ§³ÖÄÚÈÝ£º

cp public/htaccess.fcgi.example public/.htaccess

vim public/.htaccess

½«ÏÂÃæµÄÄÚÈÝɾ³ý»ò×¢Ê͵ô£º



AddHandler fastcgi-script .fcgi



ºÍ



RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]



ÐÞ¸Äconfig/environment.rb£¬½«Rails»·¾³Çл»µ½production£º

vim config/environment.rb

ÔÚÎļþ¿ªÍ·¼ÓÈëÏÂÃæÒ»ÐУº

ENV['RAILS_ENV'] ||= 'production'

ÅäÖÃredmineÐéÄâÖ÷»ú
ÎÒµÄÐéÄâÖ÷»úÅäÖÃÎļþͳһ·ÅÔÚ/etc/httpd/conf/sites-availableĿ¼Ï£¬È»ºóÔÚ/etc/httpd/conf/sites-enabledĿ¼Öзֱð¶Ô/etc/httpd/conf/sites-availableÖÐÒªÆôÓõÄÐéÄâÖ÷»ú½¨Á¢·ûºÅÁ´½Ó£º

sudo mkdir -p /etc/httpd/conf/sites-available /etc/httpd/conf/sites-available
vim /etc/httpd/conf/sites-available/redmine.vhost

ÊäÈëÏÂÃæµÄÄÚÈÝ£º



ServerName redmine.linux.com

ServerAdmin webmaster@linux.com

DocumentRoot /home/apache/sites/redmine/public/



ErrorLog logs/redmine.linux.com_error_log

LogLevel warn

CustomLog logs/redmine.linux.com_access_log combined



DefaultInitEnv RAILS_ENV production

MaxRequestLen 20971520



Options Indexes ExecCGI FollowSymLinks

Order allow,deny

Allow from all

AllowOverride all





AddHandler fcgid-script .fcgi

FCGIWrapper "/usr/local/bin/ruby /home/apache/sites/redmine/public/dispatch.fcgi" .fcgi





´æÅÌÍ˳öºóÔÚ/etc/httpd/conf/sites-availableÖн¨Á¢·ûºÅÁ´½Ó£º

sudo ln -s /etc/httpd/conf/sites-available/redmine.vhost /etc/httpd/conf/sites-enabled/redmine.vhost

Èç¹ûApacheÖ÷ÅäÖÃÎļþÉÐδµ¼Èë/etc/httpd/conf/sites-enabledĿ¼£¬ÐÞ¸ÄApacheÖ÷ÅäÖÃÎļþ£º

sudo vim /etc/httpd/conf/httpd.conf

ÔÚÎļþĩβ¼ÓÈëÕâôһÐУº

Include conf/sites-enabled/*.vhost

´æÅÌÍ˳ö¡£

²âÊÔÊÇ·ñ³É¹¦
ÔÚÃüÁîÐд°¿ÚÔËÐÐÏÂÊöÃüÁ

sudo chown -R apache:apache /home/apache

sudo service httpd restart

È»ºó´ò¿ªä¯ÀÀÆ÷£¬ÔÚµØÖ·À¸ÖÐÊäÈëredmine.linux.com£¬¿´¿´ÊÇ·ñ¿É½øÈë»¶Ó­Ò³Ãæ¡£

ÐÞ¸ÄÈÕÖ¾ÅäÖÃ
RedmineĬÈϽ«ÈÕÖ¾¼Ç¼µ½Ó¦ÓÃÖ÷Ŀ¼ÏµÄlog×ÓĿ¼¡£Ëæ×Åʱ¼äµÄÍÆÒÆ£¬ÈÕÖ¾Îļþ¿ÉÄܱäµÃºÜ´ó¡£Îª´Ë¿ÉÒÔ¿¼ÂÇÈÃËüÃÇÔö³¤µ½Ò»¶¨´óС֮ºó×Ô¶¯·Ö¸îΪ¶à¸öÎļþ¡£¿ÉÒÔÐÞ¸Äconfig/additional_environment.rb×öµ½ÕâÒ»µã¡£

cp config/additional_environment.rb.example config/additional_environment.rb

vim config/additional_environment.rb

ÊäÈëÏÂÃæµÄÄÚÈÝ£º

#Logger.new(PATH,NUM_FILES_TO_ROTATE,FILE_SIZE)

config.logger = Logger.new('/path/to/logfile.log', 2, 1000000)

config.logger.level = Logger::INFO

ÎÒµÄ/path/to/logfile.logÊÇ/usr/share/redmine/log/redmine.log¡£

±¸·Ý
Redmine±¸·ÝÒª°üÀ¨ÏÂÃæµÄÄÚÈÝ£º

Êý¾Ý£¨´æ´¢ÔÚredmineÊý¾Ý¿âÄÚ£©
¸½¼þ£¨´æ´¢ÔÚRedmineÖ÷Ŀ¼ÏµÄfiles×ÓĿ¼ÄÚ£©
ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄ½Å±¾£¬¿ÉÓÃÓÚÿÈÕ±¸·Ý£º

# Database

/usr/bin/mysqldump -u -p | gzip > /path/to/backup/db/redmine_`date +%y_%m_%d`.gz



# Attachments

rsync -a /path/to/redmine/files /path/to/backup/files

À´Ô´£ºLinuxÉçÇø
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ