テクノロジーガイド

Ubuntu 14.04 サーバーに OrangeHRM をインストールする方法

3 min read システム管理 更新されました 16 Oct 2025
Ubuntu 14.04 に OrangeHRM をインストールする手順
Ubuntu 14.04 に OrangeHRM をインストールする手順

重要: Ubuntu 14.04 は既に公式サポートが終了しています。可能ならばサポート期間内の LTS(例: Ubuntu 20.04/22.04)への移行を検討してください。手順は 14.04 向けに記載しています。

概要

OrangeHRM は従業員の勤怠、評価、採用、年次査定などを管理するウェブベースのオープンソース人事管理ソフトウェア(HRMS)です。Linux と Windows の両方で動作します。エディションは Community(Open Source)版、Professional、Enterprise などがあります。本手順は OrangeHRM 3.3.3(ソースでは stable/3.3.3 を使用)を Ubuntu 14.04 サーバーに導入する際の実務的なガイドです。

用語(1 行定義)

  • LTS: 長期サポート版(Long Term Support)。
  • UFW: Ubuntu 標準の簡易ファイアウォールフロントエンド。

目的と対象読者

目的: 自前サーバーに OrangeHRM を導入して社内で運用できるようにする。対象: サーバー管理者、DevOps、社内 IT 担当者。


前提条件

  • 新規または検証用の Ubuntu 14.04 サーバーが用意されていること。(本番では最新の LTS を推奨)
  • PHP > 5.5.0 対応(本手順は php5 系を使用)
  • Apache と MariaDB(または MySQL)が利用可能
  • sudo 権限を持つユーザー

チェック: サーバーがインターネットに接続されていること、ファイアウォールで必要ポートが許可可能なこと。

1. システムの更新

まずパッケージとシステムを最新にします。長い運用の前には必ず更新してください。

sudo apt-get update -y
sudo apt-get upgrade -y

更新後、必要であれば再起動してから sudo ユーザーでログインし直してください。

重要: 本番環境ではアップグレード前にスナップショットやバックアップを取得してください。

2. Apache のインストール

OrangeHRM はウェブアプリケーションなので Apache をインストールします。本手順では必要なモジュールをまとめて入れます。

sudo apt-get install apache2 apache2-data apache2-mpm-prefork libaio1 libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libhtml-template-perl libmysqlclient18 libterm-readkey-perl libwrap0 tcpd -y

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

sudo /etc/init.d/apache2 start
sudo update-rc.d apache2 defaults

3. PHP のインストール

OrangeHRM は PHP 5.5 以上を必要とします。Ubuntu 14.04 のパッケージリポジトリにある php5 を利用する手順です。

sudo apt-get install php5 php5-cli php5-common php5-json php5-mysql php5-readline -y

インストール後、必要に応じて php.ini(例: /etc/php5/apache2/php.ini)で memory_limit、upload_max_filesize、max_execution_time を調整します。

推奨値(目安):

  • memory_limit = 128M 以上
  • upload_max_filesize = 20M 以上
  • max_execution_time = 120

4. MariaDB のインストールと初期設定

OrangeHRM はデータを MariaDB/MySQL に保存します。MariaDB サーバーをインストールして初期設定を行います。

sudo apt-get install mariadb-server -y

サービスの起動と自動起動設定:

sudo /etc/init.d/mysql start
sudo update-rc.d mysql defaults

MariaDB はデフォルトのままだと安全でないため、mysql_secure_installation を実行して基本的な保護を行います。

sudo mysql_secure_installation

スクリプトの中でパスワード設定、匿名ユーザー削除、リモート root ログイン禁止、test データベース削除、権限テーブルのリロードなどを行います。提示される質問には基本的に「Y(または Y/n の Y)」で応答します。

コンソール出力(例)が表示されますが、そのまま指示に従ってください。

データベースとユーザーの作成

MariaDB にログインして OrangeHRM 用のデータベースとユーザーを作成します。

mysql -u root -p

プロンプトでパスワードを入力後、以下を実行します。

CREATE DATABASE orangehrm_db;
CREATE USER 'orangehrm'@'localhost' IDENTIFIED BY 'your-password';
GRANT ALL PRIVILEGES ON orangehrm_db.* TO 'orangehrm'@'localhost';
FLUSH PRIVILEGES;
\q

注意: ‘your-password’ は実運用では推測されにくいものに置き換えてください。パスワードは安全に保管します。

5. OrangeHRM のダウンロードと配置

まず OrangeHRM の安定版アーカイブをダウンロードします(この例は v3.3.3)。

wget https://excellmedia.dl.sourceforge.net/project/orangehrm/stable/3.3.3/orangehrm-3.3.3.zip

ダウンロード後に展開し、Apache のドキュメントルートへ移動します。

unzip orangehrm-3.3.3.zip
sudo mv orangehrm-3.3.3 /var/www/html/orangehrm

ディレクトリの所有権とパーミッションを設定します。運用では 777 を避け、最小権限に留めることを推奨します。

sudo chown -R www-data:www-data /var/www/html/orangehrm
sudo chmod -R 775 /var/www/html/orangehrm

注: 元の手順では 777 を指定していますが、セキュリティ上の観点から 775 や明示的な所有者設定を推奨します。ファイルアップロードやキャッシュ保存のために特定ディレクトリだけ writable にする(例: /var/www/html/orangehrm/upload)方が安全です。

6. Apache の仮想ホスト設定

OrangeHRM 用の仮想ホスト(example: yourdomain.com)を作成します。

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

ファイルに次を追加します(必要に応じて ServerName を変更)。


ServerAdmin [email protected]
ServerName yourdomain.com
DocumentRoot /var/www/html/orangehrm

Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted

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

保存後、デフォルトサイトを無効化して OrangeHRM サイトを有効にします。

sudo a2dissite 000-defaults
sudo a2ensite orangehrm
sudo /etc/init.d/apache2 restart

次の点を確認してください。

  • mod_rewrite が必要な場合は有効化する(sudo a2enmod rewrite)。
  • AllowOverride All により .htaccess を利用できます。

7. ファイアウォール設定とウェブインストーラへのアクセス

OrangeHRM は通常 HTTP(ポート 80)で動作します。UFW を有効にしてポート 80 を許可します。

sudo ufw enable
sudo ufw allow tcp/80
sudo ufw status

ブラウザで http://yourdomain.com にアクセスすると、OrangeHRM のインストールウィザードにリダイレクトされます。

ウェブインストーラの流れ(画面例)

OrangeHRM Welcome Page

ウェルカム画面で “Next” をクリックします。ライセンス表示で “I Accept” を選択し、データベース設定画面に進みます。

Accept license agreement

データベースホスト、ポート、データベース名、ユーザー名、パスワードを入力します。

Database settings

システムチェックですべての項目が緑(OK)であることを確認します。

System check

管理者アカウントを作成します。

Create admin user

設定確認後、インストールを開始します。

Confirm settings

インストール進行中の画面。

Installation starts

会社情報を入力して完了します。

Registration

ログイン画面が表示されます。管理者でサインインしてください。

Login page

ログイン後のダッシュボード。

OrangeHRM Dashboard

運用前チェックリスト(導入確認)

  • Apache + PHP のバージョンとモジュールが満たされている
  • MariaDB の root パスワードは設定済み
  • OrangeHRM ディレクトリの所有者とパーミッションが適切
  • ファイアウォールで HTTP が許可されている
  • 初回ログインで管理者アカウントを作成した
  • 定期バックアップ方針を決めた(DB とファイル)

セキュリティとハードニング(推奨)

  • 可能であれば HTTPS(Let’s Encrypt 等)を必ず導入する。
  • /var/www/html/orangehrm のうちアップロード用ディレクトリだけ書き込み許可にする。
  • データベースの汎用ユーザーには最低限の権限を付与する(本手順は簡易のため GRANT ALL を使用。実運用では限定した権限を検討)。
  • 管理者アカウントは複雑なパスワードにし、必要なら二要素認証(アプリ側 or LDAP/SSO 統合)を検討する。
  • 定期的にログを監視し、古いアクセスログやインストール済みファイルの整合性を確認する。

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

  • 画面が 500 エラーになる: /var/log/apache2/error.log を確認。PHP モジュールの不足やパーミッションが原因のことが多い。
  • データベース接続エラー: MariaDB のユーザー、ホスト(localhost)設定、パスワード、DB 名を再確認。mysql コマンドで直接ログインして動作検証する。
  • インストールウィザードでシステムチェックが赤になる: php.ini の設定(memory_limit 等)や拡張モジュールが不足している可能性あり。
  • アップロードが失敗する: アップロード先ディレクトリの書き込み権限を確認。

代替アプローチ

  • Docker を使う: コンテナ化することで OS 間の互換性や依存関係を管理しやすくなります。公式イメージがない場合は PHP+Apache+MariaDB の docker-compose を作成して運用可能です。
  • パッケージ管理・構成管理ツール: Ansible や Puppet を使い自動化して、再現性のあるデプロイを行う。

移行とバックアップのポイント

  • DB の定期的なダンプ(mysqldump)とアプリケーションファイルのバックアップをスクリプト化する。
  • バージョンアップ時は、まず検証環境でアップグレード手順を試し、互換性問題がないか確認する。

運用ロール別チェックリスト

  • サーバー管理者: OS とミドルウェアの更新、バックアップスケジュール、監視の設定。
  • アプリ管理者: OrangeHRM のユーザー管理、設定変更の監査、データエクスポート。
  • セキュリティ担当: SSL/TLS 設定、脆弱性スキャン、ログ監査。

いつこの手順が向かないか(反例)

  • 既に新しい LTS(20.04/22.04 等)へ移行可能な場合は、古い 14.04 を使い続けないでください。
  • 大規模なマルチテナントや高可用性が必要な場合は、単一サーバー構成では不十分でありロードバランサーや DB レプリケーション、ステートレス化が必要です。

参考手順の短い SOP(運用時の基本手順)

  1. 週次で apt-get update/upgrade を検討し、保守時間に実施
  2. 毎日 DB ダンプ(例: mysqldump)を別ストレージに保存
  3. 月次でログローテーションとストレージ使用状況の確認
  4. アップデート前にステージング環境で動作確認

1 行用語集

  • OrangeHRM: オープンソースの人事管理システム(HRMS)。

結論

このガイドに従えば、Ubuntu 14.04 サーバーに OrangeHRM を導入して初期運用を開始できます。導入後はセキュリティ強化、バックアップ設計、監視の整備を行い、安全に運用してください。移行の余地があるなら新しい LTS へのアップグレードを強く推奨します。

まとめ: 本手順はインストールから初期構成、セキュリティと運用の観点までカバーしています。問題が発生したらログを確認し、まずはローカルやステージング環境で再現を試みてください。

重要: 質問や不明点があれば、具体的なエラーメッセージやログ抜粋を示して問い合わせると早く解決できます。

共有する: 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:/ でネットワークフォルダーを設定