Ŀ¼
°²×°ÒÀÀµÏî
°²×°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
# Attachments
rsync -a /path/to/redmine/files /path/to/backup/files
À´Ô´£ºLinuxÉçÇø