テクノロジーガイド

Ubuntu 18.04 に Redmine を Apache + MariaDB でインストールする

3 min read システム運用 更新されました 27 Sep 2025
Ubuntu 18.04でRedmineをApache+MariaDBに導入
Ubuntu 18.04でRedmineをApache+MariaDBに導入

重要: この手順は Ubuntu 18.04 向けです。別バージョン(20.04/22.04)やコンテナ環境では差異があります。バックアップを必ず取得してから操作してください。

概要

Redmine はオープンソースの Web ベースプロジェクト管理アプリケーションです。複数プロジェクト、ロールベースのアクセス制御、Git/SVN/CVS 等のバージョン管理統合、Wiki、ドキュメント管理、タイムトラッキングなど豊富な機能を備えます。ここでは Apache(mod_passenger)と MariaDB を用いた標準的なパッケージインストール手順を扱います。

用語定義: Redmine — プロジェクト管理アプリケーション。Passenger — Ruby アプリを Apache 上で動かすモジュール。

目次

  • 要件
  • Apache と MariaDB のインストール
  • MariaDB の初期設定(セキュア化)
  • Redmine のインストール(パッケージ)
  • Apache の設定と仮想ホスト
  • Redmine への初回アクセスと管理者パスワード変更
  • セキュリティとハードニング
  • トラブルシューティング(よくある問題と対処)
  • ロール別チェックリスト
  • バックアップとリストアの基本
  • 受け入れ基準
  • 代替アプローチと移行メモ
  • 要約

要件

  • Ubuntu 18.04 がインストールされたサーバー
  • sudo 権限を持つ非 root ユーザー
  • 外部ネットワーク(パッケージ取得用)
  • ドメイン名(任意だが推奨)

重要: 本手順は root での実行を前提しませんが、sudo を利用します。

Apache と MariaDB をインストールする

Redmine は Web サーバー上で動作し、データを MariaDB に保存します。以下のコマンドで Apache、MariaDB、Passenger を導入します。

sudo apt-get install apache2 mariadb-server libapache2-mod-passenger -y

インストール後、Apache と MariaDB を起動してブート時自動起動を有効化します。

sudo systemctl start apache2
sudo systemctl start mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb

サービスの状態確認:

sudo systemctl status apache2
sudo systemctl status mariadb

MariaDB の初期セキュア化

MariaDB のデフォルトはセキュア化されていません。以下のスクリプトを実行して基本設定を行います。

sudo mysql_secure_installation

対話例(推奨回答を示します):

Enter current password for root (enter for none):
Set root password? [Y/n]: N
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

注意: “Set root password?” を N にしているのは Ubuntu の auth_socket プラグインで管理されている場合の例です。環境に応じて root パスワードを設定してください。

Redmine のインストール(パッケージ)

Ubuntu 18.04 の標準リポジトリに redmine パッケージが含まれているため、簡単にインストールできます。

sudo apt-get install redmine redmine-mysql -y

インストール中に設定ウィザードが表示されます。以下の画像は設定画面の例です。

Redmine パッケージインストール確認画面。インストールしたパッケージを設定するためのダイアログが表示されている

プロンプトで “Yes” を選択し、データベースに “mysql” を選択して、Redmine 用のデータベースパスワードを入力します。

MySQL を選択する画面のスクリーンショット。データベースタイプの選択ダイアログ

Redmine 用 MySQL パスワード入力画面のスクリーンショット。パスワードの入力欄が表示されている

次に bundler をインストールします。

sudo gem install bundler

Redmine を Apache の公開ディレクトリにシンボリックリンクします。

sudo ln -s /usr/share/redmine/public /var/www/html/redmine

Gemfile.lock を作成し、パーミッションを調整します。

sudo touch /usr/share/redmine/Gemfile.lock
sudo chown www-data:www-data /usr/share/redmine/Gemfile.lock
sudo chown -R www-data:www-data /var/www/html/redmine

Apache を Redmine 用に設定する

Passenger の設定ファイルを編集します。

sudo nano /etc/apache2/mods-available/passenger.conf

以下のように設定されていることを確認または変更します。


  PassengerDefaultUser www-data
  PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
  PassengerDefaultRuby /usr/bin/ruby

次に Redmine 用の仮想ホストファイルを作成します。

sudo nano /etc/apache2/sites-available/redmine.conf

ファイル内容例:


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/redmine
     ServerName example.com
     ServerAlias www.example.com

     
         RailsBaseURI /redmine
         PassengerResolveSymlinksInDocumentRoot on
     

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

ServerName と ServerAlias を環境のドメイン名に置き換えて保存します。

仮想ホストを有効化し、rewrite モジュールを有効にします。

sudo a2ensite redmine
sudo a2enmod rewrite

最後に Apache を再起動して設定を反映します。

sudo systemctl restart apache2

サービスのステータス確認出力例:

Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-01-16 17:43:29 CET; 8s ago
...
Jan 16 17:43:29 server1 systemd[1]: Started The Apache HTTP Server.

Redmine の Web インターフェースにアクセスする

ブラウザで http://example.com にアクセス(ServerName を置き換え)すると Redmine の初期画面が表示されます。

Redmine の開始ページ。ウェルカム画面のスクリーンショット

右上の “Sign In” をクリックしてログイン画面へ進みます。

Redmine のログイン画面のスクリーンショット。ユーザー名とパスワード欄が表示されている

初期管理者アカウントは次のとおりです:

  • ユーザー名: admin
  • パスワード: admin

ログイン後、管理者パスワードを変更してください。

管理者パスワード変更画面のスクリーンショット。新しいパスワードを入力するフォームが表示されている

パスワード変更後、ダッシュボードが表示されます。

Redmine ダッシュボードのスクリーンショット。プロジェクト一覧やメニューが表示されている

おめでとうございます。これで Redmine の基本インストールと初期設定は完了です。

セキュリティとハードニング

  • TLS/HTTPS を導入する: Let’s Encrypt 等で証明書を取得し、Apache の VirtualHost を 443 で設定してください。
  • ファイアウォール: UFW を利用して 80/443 のみ開放、不要ポートを閉じる。
    • 例: sudo ufw allow ‘Apache Full’
  • MariaDB の root アクセス制限とアカウント管理: 必要最低限の権限原則を適用する。
  • Redmine のメール送信設定: SMTP を使う場合は credentials を暗号化して設定する。
  • 定期的な gem / OS のアップデート: セキュリティ修正を適用。

トラブルシューティング(よくある問題と対処)

  • Apache が起動しない
    • 設定ファイルの syntax をチェック: sudo apachectl configtest
    • エラーログを確認: /var/log/apache2/error.log
  • Passenger 関連のエラー
    • PassengerRoot と PassengerDefaultRuby のパスが正しいか確認
    • Ruby のバージョンと互換性をチェック
  • データベース接続エラー
    • /etc/redmine/database.yml(パッケージによって配置場所が異なる)を確認
    • MariaDB 上に適切なユーザーとデータベースが存在するか確認
  • 静的ファイルが読み込めない
    • /var/www/html/redmine/public のパーミッションを確認

ロール別チェックリスト

  • システム管理者
    • Apache と MariaDB をインストール、サービスを自動起動に設定
    • TLS を導入し、ファイアウォールを設定
    • 定期バックアップのスケジューリング
  • アプリケーション管理者
    • Redmine の初期設定(メール、トラッカー、ロール)
    • プラグインの導入とテスト
    • ユーザー & グループ管理
  • 開発者
    • バージョン管理連携 (Git/SVN) の設定
    • カスタムプラグインの運用と依存関係管理

バックアップとリストアの基本(ミニ手順)

  • データベースのバックアップ例(mysqldump):
sudo mysqldump -u root -p redmine > /var/backups/redmine-db-$(date +%F).sql
  • 添付ファイルと設定のバックアップ:
sudo tar czf /var/backups/redmine-files-$(date +%F).tar.gz /var/www/html/redmine/files /usr/share/redmine/config
  • リストアの基本: データベースを復元し、ファイルを元の場所に展開、パーミッションを修正して Apache を再起動。

受け入れ基準

  • Apache が稼働しており、http:// で Redmine のトップページが表示される。
  • 管理者アカウントでログインでき、パスワードを変更済みである。
  • MariaDB に redmine 用データベースが作成され、接続確認できる。
  • TLS が導入されている(本番の場合は必須)。

代替アプローチと移行メモ

  • コンテナ化(Docker): Docker イメージを使えば OS 固有の差異を減らせます。大規模運用では Docker + orchestration(Kubernetes 等)を検討。
  • Web サーバー: Passenger 経由の Apache 以外に、Puma + Nginx の構成も一般的です。性能・スケーラビリティ要件により選定。
  • データベース: MySQL/MariaDB 以外に PostgreSQL も Redmine でサポートされています。

テストケース / 受け入れテスト例

  • 初期ログイン: admin/admin でログイン可能か
  • 新規プロジェクト作成: プロジェクトを作成し、チケットを登録できるか
  • 添付ファイルアップロード: 添付が保存され、ダウンロードできるか
  • メール通知: SMTP 設定でチケット作成通知が送信されるか

よくある失敗例(いつうまくいかないか)

  • パッケージ版の gem 依存とカスタムプラグインが競合する場合
  • OS の Ruby バージョンが古く、最新プラグインが動作しない場合
  • データベースの認証方式(auth_socket 等)により接続が拒否される場合

要約

  • Ubuntu 18.04 に Redmine をインストールするには、Apache と MariaDB、Passenger を導入し、redmine パッケージをインストールして Apache の仮想ホストを設定します。インストール後は管理者パスワードを変更し、TLS・バックアップ・アクセス制御を整備してください。

要点: 初期セットアップは比較的簡単ですが、本番運用では TLS、定期バックアップ、ユーザー権限管理、ログ監視を必須としてください。


まとめ(短い告知文): このガイドは Ubuntu 18.04 環境で Apache + MariaDB を使って Redmine を迅速に導入するための手順と、運用に必要なセキュリティ、バックアップ、トラブルシューティングのチェックリストを提供します。

共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

Asteriskで初めてのPBXを構築する手順
PBX

Asteriskで初めてのPBXを構築する手順

Microsoft Storeが動作しないときの完全対処ガイド
トラブルシューティング

Microsoft Storeが動作しないときの完全対処ガイド

WordPress のセキュリティスキャン完全ガイド
セキュリティ

WordPress のセキュリティスキャン完全ガイド

フォーラムスレッドをBloggerでRSS化する方法
ガイド

フォーラムスレッドをBloggerでRSS化する方法

CentOS 5.5でOCS Inventory NG Server 2を導入する手順
サーバー

CentOS 5.5でOCS Inventory NG Server 2を導入する手順

Google SheetsでCHAR関数を使って記号と改行を挿入
スプレッドシート

Google SheetsでCHAR関数を使って記号と改行を挿入