テクノロジーガイド

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
著者
編集

類似の素材

Debian 11 に Podman をインストールして使う
コンテナ

Debian 11 に Podman をインストールして使う

Apt-pinning入門:Debianで複数リポジトリを管理
Linux

Apt-pinning入門:Debianで複数リポジトリを管理

OptiScalerでFSR 4を全対応ゲームに導入する方法
ゲーム

OptiScalerでFSR 4を全対応ゲームに導入する方法

Dansguardian と Squid(NTLM)を Debian Etch に導入する方法
ネットワーク

Dansguardian と Squid(NTLM)を Debian Etch に導入する方法

AndroidでSDカードのインストールエラーを修正する方法
トラブルシューティング

AndroidでSDカードのインストールエラーを修正する方法

KNetAttach と KDE の remote:/ でネットワークフォルダーを設定
Linux ネットワーク

KNetAttach と KDE の remote:/ でネットワークフォルダーを設定