アンドロイド

CentOS 7でのRedmineのインストールおよび設定方法

How to install CentOS 7 in a Virtual machine (using VMWare Workstation)

How to install CentOS 7 in a Virtual machine (using VMWare Workstation)

目次:

Anonim

Redmineは、最も人気のあるオープンソースプロジェクト管理および問題追跡ソフトウェアツールの1つです。 クロスプラットフォームおよびクロスデータベースであり、Ruby on Railsフレームワークの上に構築されています。

Redmineには、複数のプロジェクト、Wiki、問題追跡システム、フォーラム、カレンダー、電子メール通知などのサポートが含まれています。

このチュートリアルでは、データベースバックエンドとしてMariaDBを使用し、RubyアプリケーションサーバーとしてPassenger + Nginxを使用して、CentOS 7サーバーにRedmineの最新バージョンをインストールおよび構成するために必要な手順について説明します。

前提条件

このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。

  • サーバーのパブリックIPを指すドメイン名。 このチュートリアルでは、 example.com を使用し example.com 。sudo特権を持つユーザーとしてログインし example.com

ソースからRedmineとRubyをビルドするために必要なパッケージをインストールします。

sudo yum install curl gpg gcc gcc-c++ make patch autoconf automake bison libffi-devel libtool sudo yum install readline-devel sqlite-devel zlib-devel openssl-develh readline glibc-headers glibc-devel sudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

MySQLデータベースの作成

Redmineは、MySQL / MariaDB、Microsoft SQL Server、SQLite 3およびPostgreSQLをサポートしています。 このチュートリアルでは、MariaDBをデータベースバックエンドとして使用します。

CentOSサーバーにMariaDBまたはMySQLがインストールされていない場合は、次の手順に従ってインストールできます。

次のコマンドを入力して、MySQLシェルにログインします。

sudo mysql

MySQLシェル内から次のSQLステートメントを実行して、新しいデータベースを作成します。

CREATE DATABASE redmine CHARACTER SET utf8;

次に、MySQLユーザーアカウントを作成し、データベースへのアクセスを許可します。

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password'; change-with-strong-password は強力なパスワードに変更してください。

完了したら、次のように入力してmysqlシェルを終了します。

EXIT;

PassengerとNginxのインストール

Passengerは、Ruby、Node.js、Python向けの高速で軽量なWebアプリケーションサーバーで、ApacheおよびNginxと統合できます。 PassengerをNginxモジュールとしてインストールします。

EPELリポジトリと必要なパッケージをインストールします。

sudo yum install epel-release yum-utils pygpgme sudo yum-config-manager --enable epel

Phusionpassengerリポジトリを有効にします。

sudo yum-config-manager --add-repo

リポジトリが有効になったら、パッケージリストを更新し、次のコマンドでNginxとPassengerの両方をインストールします。

sudo yum install nginx passenger passenger-devel

新しいシステムユーザーの作成

Redmineインスタンスを実行する新しいユーザーとグループを作成します。簡単にするために、ユーザーに redmine という名前を付けます。

sudo useradd -m -U -r -d /opt/redmine redmine

nginx ユーザーを新しいユーザーグループに追加し、 /opt/redmine ディレクトリのアクセス許可を変更して、Nginxがアクセスできるようにします。

sudo usermod -a -G redmine nginx sudo chmod 750 /opt/redmine

Rubyのインストール

CentOSリポジトリのRubyのバージョンはかなり古く、Redmineではサポートされていません。 RVMを使用してRubyをインストールします。

redmine に入力して、ユーザー redmine 切り替えます。

sudo su - redmine

GPGキーをインポートしてRVMをインストールします。

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable curl -sSL https://get.rvm.io | bash -s stable

RVMの使用を開始するには、 rvm ファイルをソースします。

source /opt/redmine/.rvm/scripts/rvm

次を実行して、Rubyをインストールできます。

rvm install 2.5 rvm --default use 2.5 Rbenv経由でRubyをインストールする場合は、このガイドを確認してください。

CentOSでのRedmineのインストール

この記事の執筆時点で、Redmineの最新の安定バージョンはバージョン4.0.1です。

次の手順に進む前に、Redmineのダウンロードページをチェックして、新しいバージョンが利用可能かどうかを確認する必要があります。

redmine ユーザーとして次の手順を実行していることを確認してください。

1. Redmineのダウンロード

次のcurlコマンドでRedmineアーカイブをダウンロードします。

curl -L http://www.redmine.org/releases/redmine-4.0.1.tar.gz -o redmine.tar.gz

ダウンロードが完了したら、アーカイブを解凍します。

tar -xvf redmine.tar.gz

2. Redmineデータベースの構成

Redmineのサンプルデータベース構成ファイルをコピーします。

cp /opt/redmine/redmine-4.0.1/config/database.yml.example /opt/redmine/redmine-4.0.1/config/database.yml

テキストエディターでファイルを開きます。

nano /opt/redmine/redmine-4.0.1/config/database.yml

production セクションを検索し、以前に作成したMySQLデータベースとユーザー情報を入力します。

/opt/redmine/redmine-4.0.1/config/database.yml

production: adapter: mysql2 database: redmine host: localhost username: redmine password: "change-with-strong-password" encoding: utf8

完了したら、ファイルを保存してエディターを終了します。

3. Ruby依存関係のインストール

redmine-4.0.1 ディレクトリに redmine-4.0.1 し、 redmine-4.0.1 とその他のRuby依存関係をインストールします。

cd ~/redmine-4.0.1 gem install bundler --no-rdoc --no-ri bundle install --without development test postgresql sqlite

4.キーの生成とデータベースの移行

次のコマンドを実行してキーを生成し、データベースを移行します。

bundle exec rake generate_secret_token RAILS_ENV=production bundle exec rake db:migrate

Nginxの構成

sudoユーザーに切り替えます。

exit

テキストエディターを開き、次のNginxサーバーブロックファイルを作成します。

sudo nano /etc/nginx/conf.d/example.com.conf /etc/nginx/conf.d/example.com.conf

passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby; passenger_instance_registry_dir /var/run/passenger-instreg; server { listen 80; server_name example.com www.example.com; root /opt/redmine/redmine-4.0.1/public; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; passenger_enabled on; passenger_min_instances 1; client_max_body_size 10m; } example.comをRedmineドメインに置き換えることを忘れないでください。

Nginxサービスを再起動する前に、構文エラーがないことを確認するテストを行います。

sudo nginx -t

エラーがない場合、出力は次のようになります。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

最後に、次のように入力してNginxサービスを再起動します。

sudo systemctl restart nginx

SSLを使用してNginxを構成する

証明書が生成されたら、次のようにドメインNginx構成を編集します。

sudo nano /etc/nginx/conf.d/example.com.conf /etc/nginx/conf.d/example.com

passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini; passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby; passenger_instance_registry_dir /var/run/passenger-instreg; # Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /opt/redmine/redmine-4.0.1/public; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; passenger_enabled on; passenger_min_instances 1; client_max_body_size 10m; } example.comをRedmineドメインに置き換え、SSL証明書ファイルへの正しいパスを設定することを忘れないでください。 すべてのHTTP要求はHTTPSにリダイレクトされます。

Redmineへのアクセス

ブラウザを開いてドメインを入力し、インストールが成功すると仮定すると、次のような画面が表示されます。

パスワードを変更すると、ユーザーアカウントページにリダイレクトされます。

結論

CentOSシステムにRedmineが正常にインストールされました。 ここで、Redmineのドキュメントを確認し、Redmineの設定および使用方法の詳細を学習する必要があります。

CentOS Redmineルビーmysql mariadb nginx