Ubuntu 20.04 redmine+MySQL+Apache+开机自启+邮箱通知+快速完整安装教程(最新)看这一篇就够啦

 

目录

1.安装必要的插件:

2.clone下载 redmine 

3.配置redmine数据库和用户:

4.配置数据库连接

 4.1 要将redmine源码中 config/database.yml.example复制一份改名为config/database.yml

 4.2 修改datebase.yml

4.3 跳过mysql的 密码skip-grant-tables(跳过权限验证)

5.安装ruby和gem,和redmine 的插件

6.redmine 配置

7.设置tmp文件的权限

8.运行redmine的客户端 测试

9 配置Apache连接redmine

 9.1添加redmine的文件位置:

9.2 为redmine建立软连接 访问的

9.3 修改Apache监听的host 和redmine的配置

9.4修改监听的host:

9.4重启Apache服务

10. 最后测试Apache的广播地址是否可以访问redmine

11.配置过程中遇到的问题

12. 查看 redmine log  和Apache log

13.企业邮箱配置

14.开机自启的脚本


1.安装必要的插件:

sudo apt-get install mysql-server mysql-client ruby rubygems ruby-dev libmysqlclient-dev imagemagick libmagickwand-dev ruby-actionpack apache2 libtool libapache2-mod-passenger

2.clone下载 redmine 

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

3.配置redmine数据库和用户:

sudo mysql -u root -p
CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

4.配置数据库连接

 4.1 要将redmine源码中 config/database.yml.example复制一份改名为config/database.yml

cp  config/database.yml.example config/database.yml

 4.2 修改datebase.yml

production:
  adapter: mysql
  database: redmine
  host: localhost
  username: redmine
  password: "my password"
  encoding: utf8

4.3 跳过mysql的 密码skip-grant-tables(跳过权限验证)

sudo vim mysql.conf.d/mysqld.cnf 

#添加下面一句话

skip-grant-tables

5.安装ruby和gem,和redmine 的插件

cd redmine
#原来的gem的源太慢使用中国的gem的源
gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.com/
sudo gem install bundler -V
bundle install --without development test

6.redmine 配置

sudo rake generate_secret_token
sudo RAILS_ENV=production rake db:migrate
sudo RAILS_ENV=production rake redmine:load_default_data

7.设置tmp文件的权限

mkdir -p tmp tmp/pdf public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets

8.运行redmine的客户端 测试

sudo ruby script/rails server webrick -e production

访问:

https://0.0.0.0:3000

账号:admin ;秘密:admin;

9 配置Apache连接redmine

gem install passenger
passenger-install-apache2-module

 9.1添加redmine的文件位置:

sudo vim /etc/apache2/apache2.conf
PassengerAppRoot /public/redmine/

9.2 为redmine建立软连接 访问的

#我的redmine 的路径是/public/redmine 
sudo ln -d /public/redmine/public/ /var/www/html/redmine 

9.3 修改Apache监听的host 和redmine的配置

sudo vim /etc/apache2/sites-available/000-default.conf

添加如下内容:

<Directory /public/redmine/public>       
        AllowOverride all                           
        Options -MultiViews                         
</Directory>                                        
                                                    
<Directory /var/www/html/redmine>                   
        RailsBaseURI /redmine                       
        PassengerResolveSymlinksInDocumentRoot on   
</Directory>  

9.4修改监听的host:
 

<VirtualHost *:80> 改为<VirtualHost *:3000> 

整体的文件如下:

9.4重启Apache服务

sudo service apache2 restart 

10. 最后测试Apache的广播地址是否可以访问redmine

服务器的ip

https:/ip:3000

11.配置过程中遇到的问题

redmine ActionController::RoutingError (No route matches [GET] “/redmine“):

Started GET "/redmine" for 192.168.40.48 at 2020-07-31 17:43:54 +0800
ActionController::RoutingError (No route matches [GET] "/redmine"): 
actionpack (5.2.4.2) lib/action_dispatch/middleware/debug_exceptions.rb:65:in `call'                       
actionpack (5.2.4.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'                        
railties (5.2.4.2) lib/rails/rack/logger.rb:38:in `call_app'                                         
railties (5.2.4.2) lib/rails/rack/logger.rb:26:in `block in call'                                    
activesupport (5.2.4.2) lib/active_support/tagged_logging.rb:71:in `block in tagged'                 
activesupport (5.2.4.2) lib/active_support/tagged_logging.rb:28:in `tagged'                     
activesupport (5.2.4.2) lib/active_support/tagged_logging.rb:71:in `tagged'                          
railties (5.2.4.2) lib/rails/rack/logger.rb:26:in `call'                                             
actionpack (5.2.4.2) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'                                     
actionpack (5.2.4.2) lib/action_dispatch/middleware/request_id.rb:27:in `call'                       
rack (2.2.3) lib/rack/method_override.rb:24:in `call'                                                
rack (2.2.3) lib/rack/runtime.rb:22:in `call'                                                        
activesupport (5.2.4.2) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'      
pack (5.2.4.2) lib/action_dispatch/middleware/executor.rb:14:in `call'              
actionpack (5.2.4.2) lib/action_dispatch/middleware/static.rb:127:in `call'    
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'  
rack (2.2.3) lib/rack/content_length.rb:17:in `call'                                                                                                           
railties (5.2.4.2) lib/rails/engine.rb:524:in `call'

解决方法参考另一一篇文章:

https://blog.csdn.net/yang_quan_yang/article/details/107719195

12. 查看 redmine log  和Apache log

tail -f  /var/log/apache2/error.log
#redmine 的clone 下载的位置
tail -f remine/log/production.log

13.企业邮箱配置

参考如下的博文

https://blog.csdn.net/yang_quan_yang/article/details/107780683

14.开机自启的脚本

再如下目录下创建redmine的脚本:

cd /etc/init.d/
vim redmine

 #!/bin/bash
 
 #redmine   Startup script for the redmine server
 #chkconfig:  - 85 15
 
 Prog=redmine
 Prog_dir=/data/redmine
 
 #find the redmine's pid
 Pid=`ps aux | grep "\<$Prog\>" | pidof ruby`
 
 ProgPort=3000
 ReturnCode=`ss -tlnp | grep "\<$ProgPort\>" &> /dev/null;echo $?`
 
 start() {
         if [ $ReturnCode -eq 0 ] &> /dev/null;then
             echo " Redmine is Already Running !!! "
         else
             cd $Prog_dir
             ruby /public/redmine/bin/rails server webrick -e production -d &> /dev/null #填好你的redmine 源文件的路径哦
             echo -e "Starting redmine ..... \e[32m[ OK ]\e[m"
         fi
 }
 
 stop() {                                                                                                                                                                                                
         if [ $ReturnCode  -ne 0 ] &> /dev/null;then
             echo " Redmine is Already  Stopped !!!"     
         else
             kill  -9  $Pid
             echo -e "Stopping redmine ..... \e[32m[ OK ]\e[m"
         fi
 }
 
 status() {
         if [ $ReturnCode -eq 0 ] &> /dev/null;then
             echo " Redmine is Running !!! "
         else
             echo " Redmine is Stopped !!! "
         fi
 }
 
 case "$1"  in
     start)
         start
         ;;
     stop)
         stop
         ;;
     status)
         status
         ;;
     restart)
         stop
         start
         ;;
         *)
         echo "Usage: $Prog {start|stop|status|restart}"
 esac
 
 exit 0  

开机后可以启动redmine 的服务了:

  sudo service redmine restart                                                                                                                                                                            
  sudo service redmine stop

猜你喜欢

转载自blog.csdn.net/yang_quan_yang/article/details/107758715