linux下redmine安装笔记
转载自:http://www.cnblogs.com/hemhem/archive/2011/03/14/2087482.htmlredmine安装相对trac要简单一点。
一、安装ruby
下载ruby-1.8.7
http://www.ruby-lang.org/en/downloads
#tar xzvf ruby-1.8.7.tar.gz
libmysqld.a
)
[client]
#password = your_password
port = 3306
socket = /tmp/mysql3306.sock
# The Mysql server
[Mysqld]
port = 3306
socket = /tmp/mysql3306.sock
打开下面几项
innodb_data_home_dir = /usr/local/mysql/var/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/var/
innodb_log_arch_dir = /usr/local/mysql/var/
六、安装redmine
注意redmine的版本
Redmine version | Supported Ruby versions | Required Rails version | Required Rack version |
---|---|---|---|
current trunk | ruby 1.8.6, 1.8.7 | Rails 2.3.11 | Rack 1.1.0 |
trunk from r2887 tor4903 | ruby 1.8.6, 1.8.7 | Rails 2.3.5 | Rack 1.0.1 |
trunk from r2493 tor2886 | ruby 1.8.6, 1.8.7 | Rails 2.2.2 | |
trunk before r2493 | ruby 1.8.6, 1.8.7 | Rails 2.1.2 | |
1.1.x | ruby 1.8.6, 1.8.7 | Rails 2.3.5 | Rack 1.0.1 |
1.0.x | ruby 1.8.6, 1.8.7 | Rails 2.3.5 | Rack 1.0.1 |
0.9.x | ruby 1.8.6, 1.8.7 | Rails 2.3.5 | Rack 1.0.1 |
0.8.x | ruby 1.8.6, 1.8.7 | Rails 2.1.2 |
下载redmine-1.1.0
#mkdir /usr/local/redmine
#cd /usr/local/redmine
#svn co http://redmine.rubyforge.org/svn/branches/1.0-stable redmine-1.0
#cd /usr/local/redmine/redmine-1.0/config
#cp database.yml.example database.yml
#vim database.yml //数据库配置文件
e.#mysql报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'(2)
解决:mkdir /var/run/mysqld
ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock
sudo chown mysql:mysql /var/run/mysqld
sudo /etc/init.d/mysqld restart
注:http://liuxinxiu.com/grant_all_privileges_on/
grant all privileges on *.* to 'mysql'@'localhost' identified by 'mysql' with grant option;
mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’;
权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file 等 14个权限。
当权限1,权限2,…权限n被all privileges或者all代替,表示赋予用户全部权限。
当数据库名称.表名称被*.*代替,表示赋予用户操作服务器上所有数据库所有表的权限。
用户地址可以是localhost,也可以是ip地址、机器名字、域名。也可以用’%'表示从任何地址连接。
‘连接口令’不能为空,否则创建失败。
注意:此处 by 'mysql' with grant option;的mysql与/usr/local/redmine/redmine1.1.0/congfig/database.yml中的production:assword: "mysql"一致。
g.ERROR 1045 (28000): Access denied for user 'zouweiwei'@'localhost' (using password: NO)
权限问题,换成root权限
no such file to load -- openssl
解决办法:进入ruby源码目录
(1)cd ext/openssl
(2)ruby ./extconf.rb(报错:“=== OpenSSL for Ruby configurator ===
=== Checking for system dependent stuff... ===
checking for t_open() in -lnsl... no
checking for socket() in -lsocket... no
checking for assert.h... yes
=== Checking for required stuff... ===
checking for openssl/ssl.h... no
=== Checking for required stuff failed. ===
Makefile wasn't created. Fix the errors above. ”;
解决方法:http://netfork.iteye.com/blog/432928
下载了:openssl-0.9.8k.tar.gz。
ruby extconf.rb --with-openssl-include=/usr/local/ssl/include/ --with-openssl-lib=/usr/local/ssl/lib)。
(3)make(报错:/usr/bin/ld: /usr/local/ssl/lib/libssl.a(s2_meth.o): relocation R_X86_64_32 against `.data' can not be used when making a shared object; recompile with -fPIC
/usr/local/ssl/lib/libssl.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [openssl.so] 错误 1
解决方法: 重新编译openssl (http://dawning126.iteye.com/blog/1189889, http://dodowolf.blog.51cto.com/blog/793581/659618 )
./config -fPIC --prefix=/ usr/local/openssl enable-shared
如果还不行就
make clean
./config -fPIC --prefix=/usr enable-shared
安装在/usr目录下就省去了链接。
(4)make install
注:(2)(3)应该可以一步解决:
下载了:openssl-0.9.8k.tar.gz。
Select language: bg, ca, cs, da, de, en, es, fi, fr, he, hu, it, ja, ko, lt, nl, no, pl, pt, pt-br, ro, ru, sk, sr, sv, th, tr, uk, vn, zh, zh-tw [en] zh
启动WEB服务
或# ruby /usr/local/redmine/redmine-1.0/script/server webrick -e production
# /sbin/iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
# /etc/rc.d/init.d/iptables save
在apache上部署
转载自http://www.blueidea.com/tech/program/2010/7780_4.asp
其自带的webrick可能不能满足使用需求,那么就把它配置到apache上。
apache运行ROR有多种方式,这里使用passenger。
#apt-get install build-essential
#apt-get install apache2-prefork-dev libaprutil1-dev libapr1-dev ruby1.8-dev
#gem install passenger
#passenger-install-apache2-module
如果报passenger-install-apache2-module这条命令找不到的话,那么通过下面的命令查看执行路径:
#gem environment
RubyGems Environment:- RUBYGEMS VERSION: 1.3.5
- RUBY VERSION: 1.8.7 (2008-05-31 patchlevel 0) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/local/ruby/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/local/ruby/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/ruby/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/local/ruby/lib/ruby/gems/1.8
- /home/zouweiwei/.gem/ruby/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- :sources => ["http://gems.rubyforge.org/", "http://rubygems.org"]
- REMOTE SOURCES:
- http://gems.rubyforge.org/
- http://rubygems.org
其中,EXECUTABLE DIRECTORY就是命令的全路径,所以对于我例子里的情况执行
代码:
# /usr/local/ruby/bin/passenger-install-apache2-module
根据提示安装和部署:
passenger会在本机编译并成为apache的一个模块。首先,编辑apache的配置文件并添加下面的信息:
代码:
#vim /etc/apache2/apache2.conf
添加LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.13/ext/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.13
PassengerRuby /usr/bin/ruby1.8
#cd /etc/apache2/sites-available
#gedit redmine
RailsBaseURI /redmine
在web根目录建立redmine主目录的符号链接,并设置权限:#ln -s /usr/local/redmine/redmine-1.1.0/public /var/www/redmine
#chown -R www-data:www-data /var/www
#a2ensite redmine
最后重启apache:#/etc/init.d/apache2 restart
或,重新加载配置:
#/etc/init.d/apache2 reload
打开浏览器,如果你能够访问到redmine,那么恭喜你,redmine已经在apache上运行良好!Redmine邮件的配置
修改Redmine下文件夹config中的email.yml,信息如下:
production:
delivery_method: :smtp
smtp_settings:
address: mail.XXXXX
port: 25
domain: XXXXX.com
# authentication: :login
# user_name: redmine@XXXXX.com
# password: XXXXXX
development:
delivery_method: :smtp
smtp_settings:
address: mail.XXXXX
port: 25
domain: XXXXX.com
# authentication: :login
# user_name: redmine@XXXXX.com
# password: XXXXXX
注意用#注销掉的那三行信息,那是邮件服务器身份验证信息,但是如果你的用户已经使用了域验证,就不需要那三行信息,像我自己用的就是内部的邮件服务器(MS Exchange),就无须身份验证的必要。如果使用的是外面邮件服务器,一般是需要的;参数设置好了,然后重启Redmine服务,在配置中设置好发送邮件的帐号,然后测试(测试功能在右下角,我觉得自己眼神实在差,居然没有发现那个功能,还抱怨Redmine怎么那么笨的,没有提供邮件测试的功能,每次测试都在实际操作中进行,比较更新问题等,哈哈,傻了)。