最近、とある仕組みの実装が可能なオープンソースがないかなといろいろ探していたのですが、いい塩梅のものが見つかりませんでした。
探していた「とある仕組み」というのは、まぁ実際にはいろんなことを並行してやっているのでこれだけではないのですが、いわゆる「クライアントポータル」とか「サポートポータル」というものです。
SNS的な機能のものはたくさんありますし、単なるパーソナルページやマイページを構築できるものは沢山あるのですが、「管理者とそのユーザー間のみでやり取りが可能な仕組みがある」という実装があるものがあまり見当たりませんでした。
たとえば一方的にユーザーから管理者向けにメールでポストできるものなどはいくつかあるのですが、サイト内で完結する形で実装されているものがないかな、と期待していたのですが、調べていくとどうやらこれはジャンル的にはCMSとかEコマースではなく、CRMの領分であったようです。
ちなみに別途書こうと思いますが、今回書くもの以外にもこの機能を実装しているものはあります。ただうまく動かなかったり、有償対応になっていたりと様々でした。
さて、本題です。
今回試してみたのは「odoo」というオープンソースの製品です。もともとは「OpenERP」という名前だったようです。
ベルギーに本拠を置く「Odoo SA」という会社がサポートしています。周辺情報や会社経緯などはオフィシャルサイトや、Wikipediaなどにも多数情報があるので、そちらをご覧ください。
https://www.odoo.com/
今回は試用目的ではありますが、実際に使う際にもノウハウが生きるようにしようと思い、なるべく実環境に近い形になるよう構築します。
今回は自宅のメイン環境にインストールしてあるVirtualBoxにodooをインストールします。
また、別途構成済みのNginxリバースプロキシがあり、最終的には以下のような構成をとることを目的とします。
インターネット⇒ブロードバンドルータ⇒Nginx(リバースプロキシ)⇒Odoo(仮想マシン)
なお、ブロードバンドルータにはすでにNginxがインストールされているサーバに向けての80/443ポートが
開けてあります。
※このあたりの詳細については別途、インフラ周りの説明として記事を書く予定です。
VirtualBOXの準備
まぁこの辺はご存じの方にはくどいので簡単に。
今回は4CPU、8GBメモリ、100GBストレージで構成します。ただCPU、メモリは半分でもそれなりに動くと思います。
OSはUbuntu18.04 を使います。オフィシャルサイトのインストール手順に則れば非常に容易にインストールが可能です。
まずUbuntu18.04をインストールします。ここでは解説しません。
(よっぽどアレでしたら別途インフラの一環で書いてもいいですが今更ですしね)
Postgresqlをインストール
最初にPostgresqlをインストールします。
$ sudo apt install postgresql -y
後にも述べますが、今回はデフォルトのままでインストールを進めますが実運用の場合はパスワードを設定するなどしてください。
wkhtmltopdfのインストール
正直なところ、帳票をダウンロードするなど、PDF出力を行う場合でないと影響がないらしく、今回の当方の目的だとあまり関係ないのですが、オフィシャルに指摘というか指示があるので、wkhtmltopdfをインストールしておきます。
なお、デフォルトではうまくインストールできないらしいので、オフィシャルサイトから直接ダウンロードしてインストールする必要があるらしいです。
また、おそらく別途日本語フォントのインストールも必要になると思いますが、また何か問題が出たら対応しようと思います。
から該当するファイルをwgetで持ってきます。
今回はUbuntu18.04なので
# wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb # apt install ./wkhtmltox_0.12.5-1.bionic_amd64.deb
といった感じでインストールしておきます。
odooのインストール
Postgresqlをインストールしたら、odooをインストールします。なお、odoo SAがメンテナンスしているリポジトリからインストールするので、場合によっては非常に時間がかかったり、タイムアウトすることもありますので、そのあたりは認識しておいてください。
$ sudo su -
# wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
# echo "deb http://nightly.odoo.com/13.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
# apt-get update && apt-get install odoo
通常のapt update/upgradeによって更新もできますので、メンテナンスは容易なのはよい点ですね。
さて、時間はかかりますが、実質上記のコマンドのみでインストール自体は完了します。
※/etc/odoo/odoo.conf にユーザーとパスワードが記載されています。今回は試験的な構築なのでデフォルトのまま進めますが、変更してからDB作成を行うことでパスワード等を設定できるようです。
インストールが終了したら、インストールした仮想マシンのIPアドレスのポート8069へ接続して、データベースの生成を行います。 下記のIPアドレスはあくまで例ですのでご注意ください。
「Email」はいわばユーザーアカウントなので適宜入力してください。パスワードも同様です。
Language、CountryにはJapaneseを選択します。完全にではありませんが、十分な日本語化がされています。
データベースの生成にはそれなりに時間がかかります。しばらく待つとアプリ一覧ページに画面が遷移します。
ここまででもかなりの文量になってしまいました。アプリの使用などについては引き続き別記事にしたいと思います。
コメント