はじめに
今回、この記事を書くにあたってキーとなるポイントは『外部からアクセスできるPleasanter環境を無料で構築する』部分にあります。
今までのPleasanterはCommunityEditionをVMやローカル環境で構築することで、社内からの接続や自分一人で使う分には問題なく使用できていました。
しかしインターネットを経由した社外からの接続、例えば大学サークルで使用、部活で使用、はたまたインターネット上のグループで使用するような「ある程度誰がアクセスするかはわかるがどこからアクセスするかは不明」な場合は、サーバーを契約してそこにPleasanterを構築する必要がありました。
そこで目を付けたのがOCIの無料枠です。
OCIの無料枠で提供されているサーバーであれば構築及び運用コストを無料でPleasanterが構築できるのではないかと思い立ったわけです。
概要
■OCI Free Tierを利用してPleasanter環境を構築する。
用意するものは以下の4点
- OCIアカウント
- OCI Free Tier VM環境
- Pleasanter(CommunityEdition)
- 外部から確認できる端末(スマホ/PC可)
本記事は以下の手順で行います。
- OCI Free Tierアカウントの作成
- コンパートメントの作成
- VCNの作成
- VMの作成
- Pleasanter構築
- 接続確認
OCIのアカウントを作成する
Oracle Cloud Free Tier | オラクル | Oracle 日本
OCIのFreeTierを作成するために、まずはOCIのアカウントを作成します。
上記URLから「無料で始める」を選択するとユーザ情報の入力画面になるので画面に沿って登録していきます。

電子メールの検証を押下することで、以下のようなメールが届くので「Verify email」を押下します。

画面に従って登録します。
法人で登録する場合は「Corporate」、個人で使用する場合は「Individual」を選択します。

『韓国中部(ソウル)と日本東部(東京)でのArm Ampere A1 Computeの容量に対する需要は大きいため、これらのリージョンにおけるA1インスタンスの可用性は制限されます。A1インスタンスを作成する場合は、ホーム・リージョンとして別のリージョンを選択することをお薦めします。』
ということなので、Japan Central(Osaka)を使用します。
FreeTierでもクレジットカードの登録が必要なので注意が必要です。
コンパートメントの作成
諸々の登録が終わると、OracleからメールでSignInを求められます。
上記作成したアカウントで無事ログインができると、以下のようなダッシュボードが表示されます。
ここで今回使用する環境を作成していきます。

まずはコンパートメントの作成を行います。
コンパートメントはOCI特有の概念ですが、Azureでいうところのリソースグループと同様です。
今回はPleasanter_Serverとします。

VCNの作成

ダッシュボード真ん中下段の「仮想クラウド・ネットワーク」>「VCNの作成」を押下します。

任意の名称(今回はPleasanter_Server)で作成します。
コンパートメントは先ほど作成したPleasanter_Serverを使用します。
この際、CIDRブロックを入力する必要があります。任意の値を設定し、リストへ追加してください。
サブネットの作成
サブネットタブを選択し、サブネットの作成を行います。

任意の名称を設定後、前述した箇所と同様にコンパートメントとCIDRブロックを設定します。
後述する手順でパブリックIPv4アドレスの割り当てを行う必要があるため、『パブリック・サブネット』を選択します。
他項目は任意です。
IGWの作成
ゲートウェイタブを選択し、IGWの作成を行います。

インターネット・ゲートウェイの作成を押下し、先ほど作成したコンパートメントを選択し、任意の名前で作成します。
VMを構築する
VM設定
コンピュート・インスタンスの作成の画面が出たら上から順番に入力していきます。

名前
名前は任意ですが、今回は他と同様に『Pleasanter_Server』とします。
コンパートメント
先ほど作成したコンパートメントを設定します。
新たに作成することも可能です。
配置
可用性ドメインは各リージョン内のDCのことを指しますが、現状1つしか選べないはずなのでデフォルトのままです。
拡張オプション
無料枠での構築なので設定しません。
イメージ
PleasanterはRHELに対応しているためRedHat系のOracle Linuxが使用できます。
現状8以上であれば動作するほか、UbuntuやAlmaLinuxでも動作します。
FAQ:プリザンターの動作環境や推奨スペックが知りたい
https://pleasanter.org/ja/manual/faq-recommended-specifications
今回はOracleLinux10を選択します。
シェイプ

今回は無料枠での運用を想定しているため、シェイプは『AlwaysFree』となっているAmpereのVM.Standard.A1.Flexを使用します。 (注意点あり。後述参照。)
VM.Standard.A1では以下の割り当てを無料で使用することが可能です。
- プロセッサ: 合計4 OCPUで、柔軟に割り当てることができます
- メモリー: 合計24 GBで、柔軟に割り当てることができます
- イメージ:以下のいずれかのAlways Free対象のイメージを使用することができます
- Oracle Linux Cloud Developer
- Oracle Linux
- Ubuntu
今回はOCPUを2、メモリを12で運用します。
拡張オプション
無料枠での構築なので設定しません。
セキュリティ
任意で設定してください。
プライマリVNIC

事前に作成したコンパートメントとサブネットを選択します。
VNIC名称は任意です。
IPアドレスの割り当て
以下の設定を行います。
- プライベート:自動割り当て
- パブリック:オン
- IPv6:オフ
拡張オプション
無料枠での構築なので設定しません。
SSHキーの追加

既にSSHキーを用意していれば、公開キーのファイルをアップロードするか、貼り付けることが可能です。
SSHキーがない場合は、「SSHキー・ペアの生成」を選択して、「秘密キーの保存」と「公開キーの保存」をします。
ブート・ボリューム
デフォルトのまま次へ行きます。
確認
最後に確認画面が出るので、問題なければ作成を実施します。

自動で画面が遷移し、作業リクエスト画面になります。
しばらく待って画面を再読み込みし、状態が「成功」になっていれば準備OKです。
インターネット・ゲートウェイの設定
無事、VMを作成したら次はIGWを設定します。
Teraterm等でSSH接続する場合、この設定をしないとタイムアウトします。

ホーム画面から、「仮想クラウド・ネットワーク」を押下し、先ほど作成したVCNを選択します。
「サブネット」タブに移動し、先ほど作成したサブネットを選択すると、画面下部に「ルート表」という項目があるので押下します。

ルート・ルールタブへ移動し、ルールの追加から以下の設定でルールを作成します。
- ターゲットタイプ:インターネット・ゲートウェイ
- 宛先CIDRブロック:0.0.0.0/0
- コンパートメント:先ほど作成したコンパートメント
- IGW:先ほど作成したIGW
- 説明:任意
これでVM側の設定は完了です。
ここからはTeraterm等を使用してSSH接続を実施します。
SSH接続確認
Teratermを起動して接続確認をします。
以下の設定で接続できればVMの起動は成功です。


Pleasanterのセットアップ
以下のマニュアルに沿ってPleasanterをセットアップしていきます。
- インストーラでプリザンターを Red Hat Enterprise Linux 9 にインストールする
https://pleasanter.org/ja/manual/getting-started-installer-pleasanter-rhel9
今回はOracle Linux 10ですが、RHEL系ディストリビューションなので問題ないでしょう。
どうやら.NET Coreはグローバリゼーション機能にICUライブラリを使用しますが、Oracle Linuxの最小構成にはlibicuが入っていないため、.NET実行時にエラーが発生したようです。
以下コマンドでlibicuをインストールします。
sudo dnf install -y libicu

気を取り直して再度実行したら、無事dotnetのバージョンが表示されました。
続いてDBをセットアップしていきます。
OCIではDBの提供もされていますが、今回は完全無料で環境構築を行うのが目的なので、DBはPleasanterと同じくOSSのPostgreSQLを使用します。
もろもろの追加ダウンロードが終わったので改めてCodeDefinerを実行します。

実行できました。
では再度マニュアルに則りNginxをインストールしていきます。
[root@pleasanter-server ~]# sudo firewall-cmd --permanent --add-port=80/tcp
sudo: firewall-cmd: command not found
※キャプチャ取り忘れたのでログです。
firewallコマンドがないみたいです。
Oracle Linuxの最小構成ではFirewallコマンドも使用できないため、以下も実行します。
sudo dnf install -y firewalld
sudo systemctl enable --now firewalld
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp # HTTPSも必要なら
sudo firewall-cmd --reload
firewallの有効化も実施し、これで晴れて起動ができました。
では起動確認してみましょう。
接続はパブリックIPに直接アクセスします。
Pleasanter接続確認
ログイン画面が無事に表示されました!
後は好きに使えますが、以下の注意点があります。
今回はインターネット環境があれば接続可能なPleasanter環境を構築しました。
PleasanterはユーザIDとパスワードがないとアクセスできないとはいえ、今回作成した構成はパブリックIPに直接アクセスするため、やはりセキュリティ的な懸念は否めません。
あくまで一時的に簡単なPleasanter環境が必要な場合とか、部活やサークルなどのスケジュール管理やメモを残しておくようなレベルでの使用を想定しています。
ビジネスで使用するような場合は想定していませんので、ビジネスで必要な場合は社内ネットワークやクラウドでPleasanterを構築してください。
まとめ
1.本記事は「OCIの無料枠を使って完全に無料でインターネットからアクセスできる
Pleasanter環境の作成」を行いました。
2.OCIの無料枠では比較的自由に構成を構築可能なAmpereのVM.Standard.A1.Flexと、小規模なAMDのVM.Standard.E2.1.Microの2つが提供されています。
3.AmpereのVM.Standard.A1.Flexは無料ですが、常に争奪戦が行われており、確保が困難です。お試しで使う場合であれば、VM.Standard.E2.1.Microでも十分機能します。
4.Oracle Linuxの最小構成ではlibicuが入っていなかったり、firewallコマンドが使えない等、マニュアル通りにはいかない個所が多々あるので、都度インストールが必要です。
5.OpenSSLのバージョンが違うため、無理やり上げる必要があります。
6.今回作成した環境はパブリックIPで直接アクセスするため、あくまで小規模な仲間内でだけ使用するような運用を推奨します。







