Redmineは、プロジェクト管理および課題追跡システム用のオープンソースWebアプリケーションです。 RedmineはRubyonRails Frameworkに基づいており、クロスプラットフォームとクロスデータベースをサポートしており、42言語の翻訳が付属しています。このソフトウェアを使用すると、複数のプロジェクトを追跡でき、ニュース、ドキュメント、ファイルの管理とプロジェクトごとのサポートWikiが統合されます。ユーザーアカウントはLDAPディレクトリに対して認証でき、サードパーティソフトウェアはRESTAPIを介して接続できます。
このチュートリアルでは、NginxをWebサーバーとして、MySQLをデータベースサーバーとしてCentOS 7(64ビット)オペレーティングシステムにRedmine3.2をインストールします。
前提条件
- CentOS7-64ビット。
- root権限。
Redmineには、最初にインストールする依存関係がたくさんあります。 rootユーザーとしてCentOS7サーバーにログインします:
ssh [email protected]
以下のyumコマンドを使用して、Redmineに必要なすべての依存関係と、rubyおよびrvmに必要なパッケージをインストールします。
yum install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel ftp wget ImageMagick-devel gcc-c++ patch readline readline-devel zlib libyaml-devel libffi-devel make bzip2 autoconf automake libtool bison iconv-devel subversion
インストールはMySQLパスワードを要求します。要求されたら、新しいMySQLルートパスワードを入力します。
このステップでは、rvm(最新バージョン)とruby2.2をインストールします。 Redmine3.2はrubyバージョン2.2をサポートしています。 RVM(Ruby Version Manager)は、同じサーバー上に複数のRuby環境をインストール、管理、および操作できるようにするコマンドラインツールです。
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -L https://get.rvm.io | bash -s stable --ruby=2.2.5
インストールが完了したら、RVMをリロードし、自動リロードのために.bashrcファイルに追加する必要があります。
source /usr/local/rvm/scripts/rvm
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bashrc
.bashrcファイルをリロードし、RubyとRVMのバージョンを確認します。
source ~/.bashrc
ruby -v
rvm -v
このステップでは、公式のMySQLリポジトリからmysql-serverパッケージをインストールします。
Oracle MySQLリポジトリを追加し、リポジトリリストを確認します。
rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum repolist
MySQLサーバーリポジトリが正常に追加されたことを確認します。
このyumコマンドを使用してMySQLサーバーをインストールします。
yum install mysql-server
インストールが完了したら、mysqldサービスを開始し、MySQLルートパスワードを構成します。
systemctl start mysqld
Mysqlサーバーが起動しました。次に、以下のgrepコマンドを使用してmysqlサーバーのtemporayrootパスワードを取得します。
grep 'temporary password' /var/log/mysqld.log
次のような結果が表示されます:
2016-10-31T23:06:50.974555Z 1 [Note] A temporary password is generated for [email protected]: />y.)uWui8j*
したがって、MySQLサーバーのルートパスワードは次のとおりです。 /> y。)uWui8j *
次に、mysqlサーバーの新しいルートパスワードを設定します。ユーザーrootと生成されたパスワードを使用してmysqlシェルにログインします:
mysql -u root -p
GENERATED PASSWORD: />y.)uWui8j*
以下のmysqlクエリを使用して新しいrootユーザーのパスワードを設定します。
ALTER USER 'root'@'localhost' IDENTIFIED BY '[email protected]!';
次に、「redmine」という名前の新しいデータベースを作成し、パスワード「redmine」を使用して新しいユーザー「redmine」を作成します(ここでサーバーに安全なパスワードを使用してください!)。次に、ユーザーのすべての特権を「redmine」データベースに付与します。
create database redmine;
create user [email protected] identified by '[email protected]!';
grant all privileges on redmine.* to [email protected] identified by '[email protected]!';
flush privileges;
exit
データベースとユーザーが作成されました。
Phusion Passengerは、apacheおよびnginxと一緒に使用できるWebアプリケーションサーバーです。 Ruby、Python、Nodejsなどの複数の言語をサポートしています。簡単で、高速で、より多くのトラフィックを処理でき、セキュリティが強化されています。
この章では、Phusion Passengerをインストールし、nginxウェブサーバーと統合します。以下のgemコマンドを使用してpassengerをインストールしてから、passenger-nginx-moduleコマンドを実行します。
gem install passenger --no-ri --no-rdoc
passenger-install-nginx-module
このコマンドは、使用するプログラミング言語を尋ねます。 Rubyを選択します。 およびPython 。
nginxのインストールについて尋ねられます。 [はい:Nginxをダウンロード、コンパイル、インストールしてください。(推奨)を選択します。 "。
nginxインストールディレクトリの入力を求められます。デフォルトの「/opt /nginx/」を使用してください 、「 Enter」を押すだけです "。
nginxのインストールが完了したら、インストールディレクトリに移動し、エディターでnginx.confファイルを編集します。
cd /opt/nginx/
cd conf/
vim nginx.conf
以下の構成を24行目に貼り付けます:
include vhost/*.conf;
ファイルを保存してエディタを終了します。
仮想ホスト構成用の新しい「vhost」ディレクトリを作成します。
mkdir -p / opt / nginx / conf / vhost
vhostディレクトリに移動し、vimを使用してredmine仮想ホスト構成を作成します:
cd /opt/nginx/conf/vhost/
vim redmine.conf
以下に仮想ホスト構成を貼り付けます:
server {
listen 80;
server_name www.redmine.me;
root /var/www/redmine/public;
passenger_enabled on;
client_max_body_size 10m; # Max attachemnt size
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
ファイルを保存します。
Ubuntu 16.04は、systemdをinitシステムとして使用します。次に、systemdのnginxを構成します。 systemdディレクトリに移動し、「nginx.service」という名前の新しいサービスファイルを作成します。
cd /lib/systemd/system/
vim nginx.service
以下にsystemdのnginxスクリプトを貼り付けます:
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存して終了します。
systemdサービスをリロードし、systemctlコマンドでnginxを起動してみてください:
systemctl daemon-reload
systemctl start nginx
nginxを確認する場合は、開いているポート80を確認してください:
netstat -plntu | grep nginx
結果は次のようになります:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4871/nginx
Redmineインストール用の新しいディレクトリを作成します。ここでは「/var/www/」ディレクトリを使用します。
mkdir -p /var/www/
'/ var / www /'ディレクトリに移動し、svnコマンドを使用してRedmineをダウンロードします。
cd /var/www/
svn co https://svn.redmine.org/redmine/branches/3.2-stable redmine
Redmineディレクトリに移動し、構成ファイルとデータベース構成ファイルをコピーします。
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
database.ymlファイルをvimで編集します:
vim config/database.yml
本番セクションの行に、データベース名のユーザーとパスワードを入力します。
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "[email protected]!"
encoding: utf8
ファイルを保存します。
redmineディレクトリで、いくつかの新しいディレクトリを作成し、所有者をuserに変更してnobodyをグループ化します。
mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R nobody:nobody files log tmp public/plugin_assets
sudo chmod -R 775 files log tmp public/plugin_assets
redmineのバンドラーとgemの依存関係をインストールします:
gem install bundler
bundle install --without development test
シークレットトークンを生成してから、データベースを生成します。
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
nginxを再起動し、Webブラウザでredmineドメイン名にアクセスします:
systemctl restart nginx
redmineのインストールにアクセスしてください。私のものは次のとおりです:www.redmine.co
管理ページにログインします:www.redmine.co/login
デフォルトのユーザーとパスワードは「admin」です。
新しいサンプルプロジェクトを作成します。
サンプルプロジェクトページ。
CentOS7へのNginxとMySQLを使用したRedmineのインストールは成功しました。
Redmineは、プロジェクト管理と問題追跡のためのウェブベースのアプリケーションです。 Redmineはクロスプラットフォームであるため、Windows、Linux、またはMacOSで実行できます。 Redmineは、MySQL、PostgreSQL、Microsoft SQL Server、SQLiteなどの多くのデータベースをサポートしています。 Redmineはインストールと設定が簡単で、ApacheまたはNginxをWebサーバーとして使用できます。 Redmineは非常に強力で、多言語サポート、ファイル管理、wiki、RESTAPIなどの多くの機能を備えています。 Redmineは、問題追跡を使用して独自のプロジェクト管理を構築したい場合に最適な無料ソリューションの1つです。