テクノロジーガイド

Ubuntu 10.04 LTS サーバーに OpenERP 6 をインストールする方法

3 min read インストール 更新されました 03 Oct 2025
Ubuntu 10.04 に OpenERP 6 をインストールする手順
Ubuntu 10.04 に OpenERP 6 をインストールする手順

目次

  • 導入の目的と前提
  • 準備(最小インストール・SSH・更新)
  • ステップ 1: サーバーの構築
  • ステップ 2: OpenERP 用システムユーザーの作成
  • ステップ 3: PostgreSQL のインストールと設定
  • ステップ 4: 必要な Python ライブラリをインストール
  • ステップ 5: OpenERP サーバーと Web クライアントの配置
  • ステップ 6: 設定ファイルの作成と初回起動確認
  • 運用とセキュリティ(SSL、SSH 鍵、ファイアウォール)
  • アップグレード戦略とカスタムモジュールの扱い
  • バックアップと復元のベストプラクティス
  • トラブルシュートのチェックリスト
  • ロール別導入チェックリスト
  • 受入基準
  • 決定フローチャート
  • 1 行用語集
  • 要点まとめ(サマリー)

重要: 本チュートリアルは Alan Lord による原稿を元に日本語へ翻訳・整理したものです。原文は以下にあります。

http://www.theopensourcerer.com/2011/04/19/how-to-install-openerp-6-on-ubuntu-10-04-lts-server-part-1/ http://www.theopensourcerer.com/2011/04/21/how-to-install-openerp-6-on-ubuntu-10-04-lts-server-part-2-ssl/

導入の目的と前提

このガイドは、外部からアクセス可能なサーバー上に OpenERP を設置する際に、以下を満たすことを目的とします。

  • 暗号化された(SSL)経路でのみ GTK クライアント、Web ブラウザ、WebDAV、CalDAV からアクセス可能にすること
  • 拡張やアップグレードが容易で、カスタマイズを妨げない構成にすること

注: apt パッケージで簡単に導入する方法もありますが、パッケージ版はバージョンが古い、制御が効きにくい、アップデートやパッチの管理が難しい場合があるため、ここではソースベースでの手動インストール手順を示します。

準備(最小インストール・SSH・更新)

  • 前提 OS: Ubuntu 10.04 LTS の最小インストール
  • ネットワーク接続とパッケージリポジトリへのアクセス
  • root または sudo 権限を持つユーザー

まずは最小インストールでシステムを構築し、SSH と基本的な保護ツールを入れます。SSH はインストール時に入れるか、後から追加できます。

sudo apt-get install openssh-server denyhosts

denyhosts はブルートフォース対策の一例です。他のツール(fail2ban 等)を好む場合はそちらを使ってください。パスワード認証を避け、公開鍵認証を利用することを強く推奨します。

パッケージを最新化します:

sudo apt-get update
sudo apt-get dist-upgrade

必要に応じて再起動し、SSH ログインが継続して利用できることを確認します。

ステップ 1: サーバーの構築

この節は上と重複しますが、以下を確認してください。

  • 時刻同期(ntp)を入れておくと SSL 証明書の検証などで有利です。
  • 最小限のサービス構成にして不要なパッケージは入れない。
  • ファイアウォールの基本ポリシーを決める(後述)。

ステップ 2: OpenERP 用システムユーザーの作成

OpenERP を所有し実行する専用のシステムユーザーを作成します。ホームは /opt/openerp にします。

sudo adduser --system --home=/opt/openerp --group openerp

解説: system ユーザーは UID が 1000 未満で、ログインシェルが /bin/false などに設定され、インタラクティブログインが無効になります。/opt/openerp はサーバーコードと Web クライアントを置く場所として使います。別の場所を選ぶ場合は、後続のパスを適宜変更してください。

ステップ 3: PostgreSQL のインストールと設定

OpenERP は PostgreSQL を使用します。PostgreSQL をインストールし、openerp 用のデータベースユーザーを作成します。

sudo apt-get install postgresql

postgres ユーザーに切り替えて、OpenERP 用のロールを作成します。

sudo su - postgres
createuser --createdb --username postgres --no-createrole --pwprompt openerp

パスワード入力プロンプトが表示されます。後で設定ファイルにこのパスワードを記入するので忘れないでください。必要に応じて superuser 権限の付与を検討してください(チュートリアルでは一例として y を示しています)。完了したら exit で戻ります。

exit

セキュリティ注意点: 運用環境では、PostgreSQL の listen_addresses や pg_hba.conf を適切に設定し、不要な外部接続を遮断してください。OpenERP と同一マシンに置く場合はローカルソケット接続に限定することができます。

ステップ 4: 必要な Python ライブラリをインストール

サーバー本体に必要な Python パッケージをインストールします。下記は OpenERP 6 系で必要とされる主要パッケージです。

sudo apt-get install python python-psycopg2 python-reportlab \
python-egenix-mxdatetime python-tz python-pychart python-mako \
python-pydot python-lxml python-vobject python-yaml python-dateutil \
python-pychart python-pydot python-webdav

Web クライアント(web)を使用する場合は追加で以下を入れます:

sudo apt-get install python-cherrypy3 python-formencode python-pybabel \
python-simplejson python-pyparsing

注: 環境によっては重複パッケージや不要なパッケージが含まれます。Python 仮想環境(virtualenv)を使いたい場合は、パス管理と依存関係の分離が容易になりますが、本ガイドはシステム環境へのインストール手順に沿っています。

ステップ 5: OpenERP サーバーと Web クライアントの配置

wget を使ってソースアーカイブを取得し、/opt/openerp に展開します。執筆時点では OpenERP 6.0.2 が例として使われています。最新バージョンを確認して URL を適宜変更してください。

wget http://www.openerp.com/download/stable/source/openerp-server-6.0.2.tar.gz

Web クライアントを使う場合:

wget http://www.openerp.com/download/stable/source/openerp-web-6.0.2.tar.gz

/opt/openerp に移動して展開します。

cd /opt/openerp
sudo tar xvf ~/openerp-server-6.0.2.tar.gz
sudo tar xvf ~/openerp-web-6.0.2.tar.gz

所有権を openerp ユーザーに変更します:

sudo chown -R openerp: *

実運用での扱いを簡単にするため、サーバーと web のディレクトリ名を短くします(将来の上書き・差分管理を考慮した運用例)。

sudo cp -a openerp-server-6.0.2 server
sudo cp -a openerp-web-6.0.2 web

運用上のヒント: シンボリックリンクを使う方法もありますが、著者はテスト用に抽出した最新版を別ディレクトリに置き、安定を確認してから cp で上書きする方法を推奨しています。これによりカスタムモジュールやレポートが適切に残りやすくなります。

ステップ 6: 設定ファイルの作成と初回起動確認

サーバーのデフォルト設定ファイルを編集し、/etc/openerp-server.conf として保存します。以下はチュートリアル内で使われている設定ファイルの例で、コメントを日本語化してあります。実運用では管理者パスワードや db_password を適切に設定してください。

[options]
; データベース操作を許可する管理パスワード
; サーバーがパスワード変更時に書き込みます
; !! このファイルは安全に保管してください !!
; admin_passwd = admin
root_path = /opt/openerp/server/bin
without_demo = False
verbose = False
; データベース設定
db_user = openerp
db_password = ******
; データベースを起動時に自動チェックするには、DB を作成した後に次の行のコメントを外してください。
; db_name = False
db_port = False
db_host = False
db_maxconn = 64
; ネットワーク設定
xmlrpc = True
xmlrpc_interface =
xmlrpc_port = 8069
netrpc = True
netrpc_interface =
netrpc_port = 8070
; SSL 経由の xml-rpc を有効にするには以下のコメントを外してください。
;xmlrpcs = True
;xmlrpcs_interface =
;xmlrpcs_port = 8071
;secure_pkey_file = /etc/ssl/openerp/server.pkey
;secure_cert_file = /etc/ssl/openerp/server.crt
; ログ設定
logfile = /var/log/openerp/openerp-server.log
syslog = False
logrotate = True
log_level = info
; データベース一覧表示を防ぐには False にします
list_db = True
addons_path = /opt/openerp/server/bin/addons
demo = {}
soap = False
reportgz = False
translate_modules = ['all']
; 静的 HTTP パラメータ
static_http_enable = False
static_http_document_root = /var/www/html
static_http_url_prefix = /
; 送信メール設定
;smtp_user = [email protected]
;email_from = "OpenERP Support" <[email protected]>
;smtp_port = 25
;smtp_password = ******
;smtp_ssl = True
;smtp_server = mail.example.com

保存後、ファイルの所有権とアクセス権を変更します:

sudo chown openerp:root /etc/openerp-server.conf
sudo chmod 640 /etc/openerp-server.conf

次に、db_password にステップ 3 で設定した PostgreSQL ユーザーのパスワードを記入します。エディタは nano 等を使用してください。

sudo nano /etc/openerp-server.conf

設定ができたら、手動でサーバーを起動して動作確認をします(ただしこの起動は現在のシェルユーザーで動くので、まだ openerp ユーザーとしての起動ではありません)。

/opt/openerp/server/bin/openerp-server.py --config=/etc/openerp-server.conf

実行中、PostgreSQL に接続できない等のエラーが表示された場合は設定を見直してください。動作確認後、CTRL+C で停止します。

サービス化と自動起動(概略)

サーバーを実運用する場合、init スクリプトや Upstart/System V スクリプトを用意し、openerp ユーザーで起動するようにします。以下は作業指針です。

  • /etc/init.d/openerp のような起動スクリプトを作成し、/opt/openerp/server/bin/openerp-server.py を起動・停止できるようにする。
  • スクリプト内で USER, BIN_PATH, CONFIG_FILE 等を変数化する。
  • chkconfig/update-rc.d を使ってブート時に有効化する。
  • ログ出力先を /var/log/openerp にし、logrotate 設定を追加する。

具体的なスクリプトは配布環境や好みに依存するため、ここでは省略しますが、init スクリプト作成時は必ず openerp ユーザーとして実行されることを確認してください。

SSL とリバースプロキシ(推奨)

直接 OpenERP の SSL 機能を使うこともできますが、一般的には以下のような構成が運用上便利です。

  • フロントに Nginx または Apache を置き、SSL 終端(HTTPS)を行う。
  • バックエンドの OpenERP サーバーはローカルの HTTP(XML-RPC)で通信させる。
  • 静的コンテンツや Web クライアントはフロントエンドでキャッシュ・圧縮する。

利点: TLS 証明書の管理、ロードバランス、DDoS 対策、プロキシレベルのリクエスト制御が行いやすい。

参考: OpenERP の xmlrpcs 設定で直接 TLS を有効化することも可能ですが、運用・監査・証明書管理の観点からリバースプロキシ方式が一般的です。

アップグレード戦略とカスタムモジュール管理

  • コードは /opt/openerp/server/ にバージョンごとのディレクトリを置き、運用中の短い名前(server)に上書きコピーする方法を採っています。テスト環境で新バージョンを検証してから本番に適用してください。
  • カスタムモジュールは addons_path の外(例: /opt/openerp/custom-addons)に置き、上書きや差分の影響を受けにくくすることを検討してください。
  • データベースのスキーマ変更を伴う大きなバージョンアップは必ずバックアップを取得し、ステージング環境でリハーサルを行ってから実行すること。

バックアップと復元のベストプラクティス

  • PostgreSQL の pg_dumpall や pg_dump を使い、定期バックアップを取得する。
  • バックアップスクリプトは自動化し、別ホストやオブジェクトストレージに保管する。
  • バックアップの復元手順を文書化し、定期的に復元テストを行う。

簡単な例:

sudo -u postgres pg_dump openerp | gzip > /var/backups/openerp-db-$(date +%F).sql.gz

トラブルシュートのチェックリスト

  • PostgreSQL 接続エラー: /etc/openerp-server.conf の db_user/db_password を確認。pg_hba.conf の接続許可を確認。
  • ポート衝突: xmlrpc_port が他プロセスと衝突していないか確認。
  • 権限エラー: /opt/openerp 以下と /etc/openerp-server.conf の所有者が openerp になっているか確認。
  • ログ確認: /var/log/openerp/openerp-server.log をチェック。
  • モジュールのロード失敗: addons_path に正しく配置されているかを確認。

ロール別導入チェックリスト

  • システム管理者(サーバー構築):

    • OS パッチ適用・時刻同期の設定
    • Firewall/UFW の基本ルール設定
    • SSH 公開鍵方式の強制
    • fail2ban/denyhosts の導入
  • DBA(データベース管理):

    • PostgreSQL のメンテナンス(vacuum/analyze)計画
    • バックアップと復元手順の自動化
    • ユーザー権限と接続制御の設定
  • アプリ担当(OpenERP 管理):

    • addons の管理ポリシー定義
    • アップグレード手順とテスト計画
    • SSL 証明書の更新手順

受入基準

  • OpenERP サーバーが system ユーザー openerp で起動すること
  • PostgreSQL に接続でき、管理ユーザーで DB 作成が可能であること
  • ブラウザから Web クライアントに HTTPS(または内部で TLS 終端された HTTP)でアクセスできること
  • ログが /var/log/openerp に出力されること
  • 定期バックアップが取得でき、復元テストが成功すること

決定フローチャート

flowchart TD
  A[新規インストールかアップグレードか?] -->|新規| B[ソースからインストール]
  A -->|アップグレード| C[ステージングでテスト]
  C --> D{互換性あり?}
  D -->|はい| E[本番に適用]
  D -->|いいえ| F[対応作業(カスタムモジュール修正等)]
  F --> C
  B --> G[PostgreSQL 設定]
  G --> H[OpenERP 設定ファイル作成]
  H --> I[テスト起動]
  I --> J{正常起動?}
  J -->|はい| E
  J -->|いいえ| K[ログ解析と修正]
  K --> I

1 行用語集

  • OpenERP: オープンソースの ERP ソフトウェア(現 Odoo の前身)
  • addons_path: OpenERP がモジュールを検索するディレクトリ
  • xmlrpc/xmlrpcs: XML-RPC 通信(xmlrpcs は TLS/SSL 経由)
  • pg_hba.conf: PostgreSQL のクライアント接続制御ファイル

よくある代替アプローチ

  • apt パッケージによるインストール: 簡単だがバージョンが古い場合がある。スピード重視の PoC に有効。
  • 仮想環境(virtualenv)やコンテナ(Docker)を使う方法: 依存分離、再現性、CI/CD との統合が容易。ただし本記事は Ubuntu システムへの直接インストールを前提としています。
  • マネージドサービス: インフラ運用を外部に委ねたい場合はホスティングサービスを検討する。

セキュリティ強化の注意点

  • SSH は公開鍵認証にし、root ログインを禁止する。
  • ファイアウォールで OpenERP のポート(例: 8069)に対して外部アクセスを必要最小限に制限する。
  • SSL は必ず導入し、証明書の自動更新(Let’s Encrypt 等)を検討する。
  • ログと監査: ログは外部に転送して改ざんに備える。

移行・互換性のヒント

  • Ubuntu のメジャーアップグレード(例: 10.04 から 12.04 以降)では Python バージョンやライブラリが変わるため、移行前に依存関係の再検証が必要です。
  • OpenERP のメジャーバージョン間では DB スキーマ変更が発生する可能性があるため、アップグレードツールやリリースノートを確認してください。

トラブルシュート例(実践的手順)

  1. サービスが起動しない場合: /var/log/openerp/openerp-server.log にエラーを確認。
  2. PostgreSQL への接続失敗: sudo -u postgres psql で手動接続できるか確認。pg_hba.conf を確認し、必要であればローカル接続を許可。
  3. モジュールロードエラー: addons_path とモジュールの所有権(openerp:openerp)を確認。
  4. SSL 関連の問題: ブラウザで証明書チェーンを確認、サーバー証明書と中間証明書が正しく設定されているか検証。

要点まとめ(サマリー)

  • OpenERP をソースからインストールすると、バージョン管理やカスタム化、アップグレード判断がしやすくなる。
  • PostgreSQL のユーザーと権限設定、設定ファイルのパーミッション管理、そして SSL による通信保護が重要。
  • アップグレード前のステージング検証とバックアップ・復元テストは必須。
共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

android.process.mediaの停止を修復する方法
トラブルシューティング

android.process.mediaの停止を修復する方法

KB5062553がWindows11にインストールされない時の修正
Windows

KB5062553がWindows11にインストールされない時の修正

ゼロから作るiOSアプリ開発ガイド
モバイル開発

ゼロから作るiOSアプリ開発ガイド

Chromeの黒い画面を直す方法 — 完全ガイド
トラブルシューティング

Chromeの黒い画面を直す方法 — 完全ガイド

AIライティングツールとは?使い方と実践ガイド
ライティング

AIライティングツールとは?使い方と実践ガイド

Ubuntu 10.04 に OpenERP 6 をインストールする手順
インストール

Ubuntu 10.04 に OpenERP 6 をインストールする手順