IT大道IT大道

首页 >  技术 > 最小化安装centos7.3 redmine3.3.3 passenger

最小化安装centos7.3 redmine3.3.3 passenger

原文 http://blog.csdn.net/tiaya/article/details/70336807 2017-04-22 09:16:43 0 评论

最小化安装centos7.3-1611

安装设置

  • 虚拟机
    2C,512M,20G,网络
  • 下载最小化iso文件
  • 安装设置
    最小化安装
    禁用kdump
    禁用安全策略 (security policy)
  • 设置网路
    桥接,ip信息
  • 设置用户信息

安装后设置

  • 确认网络
 # vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
  • 关闭selinux
# vi /etc/selinux/config
修改SELINUX的值为permissive 或者 disabled(SELINUX=disabled)
(不会用,先关闭)
  • 安装wget
# yum install wget
  • 修改yum源
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# wget --output-document=/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# yum clean all
# yum makecache
  • 系统更新
# yum update
  • 设置分辨率
# vi /boot/grub2/grub.cfg
找到启动项,在后面添加vga=0x318 (1024px*768px*24bit)
vga=ask 表示每次启动时选择

安装redmine3.3.3

常用命令

# yum list installed | grep xxx
  > 是否安装
# yum list | grep xxx
  > 检查列表    

安装postgresql服务器

# yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
# yum install postgresql96-server
# /usr/pgsql-9.6/bin/postgresql96-setup initdb
# vi /var/lib/pgsql/9.6/data/pg_hba.conf
  > 修改最后一个字段,从ident改为trust,如:
  > host    all             all             127.0.0.1/32        trust
  > host    all             all             192.168.99.0/24        md5
# vi /var/lib/pgsql/9.6/data/postgresql.conf    
  > 添加: listen_addresses = '*'

# systemctl start postgresql-9.6.service    
# systemctl enable postgresql-9.6.service   
# firewall-cmd --add-service=postgresql 
# firewall-cmd --permanent --add-port=5432/tcp  
# firewall-cmd --reload 
  > 服务定义在:ll /usr/lib/firewalld/services

su postgres 
psql -U postgres    
ALTER USER postgres WITH PASSWORD 'apassword';  
CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'apassword' NOINHERIT VALID UNTIL 'infinity';      
CREATE DATABASE redmine WITH ENCODING='utf8' OWNER=redmine; 
\q  
  > 修改密码 
  > 创建新用户redmine,用密码

安装ruby环境

# yum list ruby 
# yum install gcc libxml2-devel postgresql96-devel  
  > 缺少这些,gem安装nokogiri,rails,pg等包的时候会出现错误。根据错误信息推测缺少的软件。
# yum install ruby ruby-devel   
  > 包含ruby/gem/libyaml
$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/    
  > 修改gem source
$ gem install rake --no-document   
$ gem i nokogiri --no-document -v='1.6.8'  
$ gem i mime-types --no-document   
  > 出现依赖错误的时候需要手动安装指定的版本
$ gem install rails --no-document -v='4.2.7'   
  > ruby 2 与最新的rails5不兼容
$ gem install rbpdf --no-document  
$ gem install rbpdf-font --no-document 
$ gem install pg -v '0.18.4' --no-document -- --with-pg_config=/usr/pgsql-9.6/bin/pg_config    
  > redmine不支持最新的0.19版本(bundle install)

安装redmine

  > 如果不做说明,当前目录为登陆用户主目录
$ wget http://www.redmine.org/releases/redmine-3.3.3.tar.gz
$ tar -xf redmine-3.3.3.tar.gz
$ cd redmine/config
$ cp database.yml.example database.yml
$ vi database.yml
  > 修改数据库配置为上面建立的pgsql(redmine@redmine)
  > bundle会根据这里的驱动安装gem,所以把不需要的mysql/mysql2之类的东西都改成pgsql,以避免安装。

$ cd ..
$ bundle config mirror.https://rubygems.org https://ruby.taobao.org    
  > redmine用bundle管理gem,这里给bundle指定镜像
$ bundle install --without development test rmagick -- --with-pg_config=/usr/pgsql-9.6/bin/pg_config --with-pg-config=/usr/pgsql-9.6/bin/pg_config 
$ bundle exec rake generate_secret_token
  > 这个是生成redmine的什么token,不生成的话浏览器会连接不上的
  > 每次生成,以前的cookie内容就会失效。

$ RAILS_ENV=production bundle exec rake db:migrate 
$ RAILS_ENV=production REDMINE_LANG=zh bundle exec rake redmine:load_default_data
  > 生成数据库对象

$ bundle exec rails server webrick -e production
$ wget http://localhost:3000
  > 测试安装

$ cp htaccess.fcgi.example htaccess.fcgi
$ cp dispatch.fcgi.example dispatch.fcgi
  > 为以后apache服务器对应(redmine/public目录)做准备

apache服务器

# yum install httpd 
  > 配置文件位置:/etc/httpd/conf/httpd.conf
  > 修改,比如端口:9880
# systemctl restart httpd.service   
  > 完成上面的所有事情之后,是时候重启 Apache HTTP 服务器了,然后新的端口号才能生效。
# systemctl enable httpd.service    
  > 现在添加 Apache 服务到系统层使其随系统自动启动。
# firewall-cmd --add-service=http   
  > 服务定义在:ll /usr/lib/firewalld/services
# firewall-cmd --permanent --add-port=80/tcp    
  > 允许 http 服务通过防火墙(永久)。
  > 允许 9880 号端口通过防火墙(永久)。
# firewall-cmd --reload 
  > 重新加载防火墙。

passenger和相关配置

$ cd ~    
$ passenger-install-apache2-module 
  > 会提示所有缺少的程序库,
# sudo yum install gcc-c++ libcurl-devel httpd-devel apr-devel apr-util-devel openssl-devel 
  > 安装它们,注意 openssl-devel 也需要安装。
$ passenger-install-apache2-module 

$ cd /etc/httpd/conf.d
# sudo vi redmine.conf
> 内容如下
LoadModule passenger_module /home/redmine/.gem/ruby/gems/passenger-5.1.2/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /home/redmine/.gem/ruby/gems/passenger-5.1.2
  PassengerDefaultRuby /usr/bin/ruby
</IfModule>

RailsEnv production
RailsBaseURI /redmine

<Directory /home/redmine/redmine-3.3.3/public>
  Options FollowSymlinks
  AllowOverride none
  Require all granted
</Directory>
  > 内容引用结束

$ ln -s /home/redmine/redmine-3.3.3/public /var/www/html/redmine 
$ chmod 750 /home/redmine

配置参考: https://www.phusionpassenger.com/library/deploy/apache/deploy/ruby/

邮件通知(QQ邮箱)

设置配置文件

cd ~/redmine/config
cp configuration.yml.example configuration.yum
vi configuration.yum

找到production,改成下面这样(账号和授权码已经隐去):

production:
  email_delivery:
    delivery_method: :async_smtp
    async_smtp_settings:
      address: "smtp.qq.com"
      port: 587
      enable_starttls_auto: true
      authentication: :plain
      domain: 'qq.com'
      user_name: xxx@qq.com'
      password: 'xxx'

*填在password处的内容在QQ邮箱中叫授权码,需要在QQ邮箱那边用手机获取。
重新启动apache。

设置邮件通知

用redmine管理员登陆系统,填写刚才配置的邮箱账号,保存,测试,然后登陆邮件系统,应该收到了测试邮件。

【以上】

猜你喜欢