在CentOS上安装Redmine

这次使用Passenger来安装Redmine。
虽然以前发布过类似文章,但这是CentOS版本的。
最近只接触CentOS,其他的很少了…
顺带一提,环境是ConoHa VPS的1G套餐!

安装必需的软件包

安装与Redmine和Ruby相关的包。

sudo yum install -y git gcc openssl-devel readline-devel zlib-devel ImageMagick ImageMagick-devel ipa-pgothic-fonts

安装rbenv

sudo git clone git://github.com/sstephenson/rbenv.git /usr/local/rbenv
sudo git clone https://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build
sudo mkdir /usr/local/rbenv/shims /usr/local/rbenv/versions

创建/etc/profile.d/rbenv.sh文件,并写入以下内容。

export RBENV_ROOT="/usr/local/rbenv"
export PATH="${RBENV_ROOT}/bin:${PATH}"
eval "$(rbenv init --no-rehash -)"

为了通过sudo使用rbenv,执行sudo visudo并进行以下更改。
请参考此处的原因。

#
# Adding HOME to env_keep may enable a user to run unrestricted
# commands via sudo.
#
# Defaults   env_keep += "HOME"

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

我們將按照以下方式進行更改。

#
# Adding HOME to env_keep may enable a user to run unrestricted
# commands via sudo.
#
# Defaults   env_keep += "HOME"
#
# Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rbenv/bin:/usr/local/rbenv/shims
Defaults    env_keep += "RBENV_ROOT"

请使用以下命令执行rbenv.sh的更改。

source /etc/profile.d/rbenv.sh

rbenv 测试

sudo rbenv -v

如果显示的是rbenv 1.1.2-2-g4e92322,那么就表示成功。

安装Ruby。

sudo rbenv install --list

你可以通过上述的方式来查找可以安装的Ruby版本。
本次我们将使用2.6.3版本,并执行以下命令来设置在全局范围内使用2.6.3版本。

sudo rbenv install 2.6.3
sudo rbenv global 2.6.3

我会检查Ruby是否正确配置。

ruby -v

如果安装的是 2.6.3 版本,那就表示成功了。

乘客的安装

sudo yum install -y yum-utils
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(< /etc/redhat-release tr -dc '0-9.'|cut -d \. -f1).noarch.rpm
sudo yum-config-manager --enable epel
sudo yum clean all && sudo yum update -y
sudo yum install -y pygpgme curl
sudo curl --fail -sSLo /etc/yum.repos.d/passenger.repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo
sudo yum install -y passenger || sudo yum-config-manager --enable cr && sudo yum install -y passenger

安装和启动MariaDB。

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install -y MariaDB-server galera MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common MariaDB-devel
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service
mysql_secure_installation

mysql_secure_installation请参考此链接。

登录MariaDB

mysql -u root -p

登录后,将创建数据库。

create database データベース名 character set utf8mb4;
create user 'ユーザー名'@'localhost' identified by 'パスワード';
grant all privileges on データベース名.* to 'ユーザー名'@'localhost';
use データベース名;
exit;

安装Nginx

sudo yum install -y nginx

从Redmine的下载到设置

这个版本是4.0.3。

sudo wget -O /usr/share/nginx/redmine-4.0.3.zip http://www.redmine.org/releases/redmine-4.0.3.zip
cd /usr/share/nginx/
sudo unzip redmine-4.0.3.zip
sudo chown -R 作業ユーザー:作業ユーザー /usr/share/nginx/redmine-4.0.3
sudo ln -s redmine-4.0.3 redmine

安装Gem

cd /usr/share/nginx/redmine
bundle install --without development test postgresql sqlite3 --path vendor/bundle

請參考設置在這裡。
編碼設置為utf8mb4。

甘特图PNG文字乱码问题的解决方法

rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf

最初的设置

rake generate_secret_token
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
mkdir tmp public/plugin_assets
sudo chown -R nginx:nginx files log tmp public/plugin_assets
sudo chmod -R 707 files log tmp public/plugin_assets

Nginx的配置

配置文件的设置请参考此处。

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

防火墙设置

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload

未完成的任务

请参考此处关于SSL化的内容。

供参考

server {
  listen 80;
  server_name redmine.example.com;
  return 301 https://$host$request_uri;
}

server {
  listen 443 ssl http2;
  server_name www.example.com;

  root /usr/share/nginx/redmine/public;

  passenger_enabled on;
  client_max_body_size 100M;

  ssl_certificate /etc/letsencrypt/live/redmine.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/redmine.example.com/privkey.pem;
  ssl_trusted_certificate /etc/letsencrypt/live/redmine.example.com/fullchain.pem;

  ssl_session_timeout 1d;
  ssl_session_cache shared:SSL:50m;
  ssl_session_tickets on;

  ssl_dhparam /etc/ssl/private/dhparam.pem;

  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-$
  ssl_prefer_server_ciphers on;

  add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains;';

}

参考网站
– 安装Passenger
– 在CentOS 7.3上安装Redmine 3.4的步骤
– 在CentOS7上安装可供所有用户使用的通用rbenv
– 使用rbenv在CentOS7上安装ruby(全系统版)

bannerAds