前提条件
以下は事前に用意してあるものとする
- Apache2互換Webサーバー(PHPインストール済み/php.ini編集済み/インターネットからReachable)
- MySQLサーバー
- SMTPサーバー
- DNSレコード
- SSL証明書
- F-RevoCRM本体
今回は色々手間を省きたいので自前のサーバー資源を有効活用するため、DNSレコード以外を一緒くたに統合運用出来る、CyberPanel(OpenLiteSpeed/LiteSpeedPHP8.1)をインストールしたサーバーを利用します
- OS:Ubuntu Server 22.04 LTS
- CPU:仮想8コア
- メモリ:仮想8GB
- ストレージ:1TB
- IPv4/IPv6デュアルスタック
- CyberPanel(OpenLiteSpeed版)インストール・セットアップ済み
- Apache2/PHPアンインストールとPHP実行環境をLiteSpeedPHPに置換済み
- php.iniは別のサイトの設定の関係で編集済み
Apacheじゃないのはレギュレーション違反だって?知らない子ですね
では始めましょう
先ず徐にCyberPanelのメインドメインの下にサブドメインを追加します
今回は「crm.hsidr.work」とします。
DNSレコードがドメインのネームサーバーに登録済みであれば、この操作だけで自動的にバーチャルドメインの作成からLet's Encryptの証明書取得までやってくれます。ただし……
CyberPanel側のバグだと思うんですが、IPv4/IPv6デュアルスタックの場合、バーチャルドメインの設定(追加)がIPv4のリスナーポート設定「だけ」に反映されて、IPv6のポート80のリスナーポートには一切これっぽっちも反映されないので、LiteSpeedの管理画面に態々ログインしてあれこれしてあげる必要があります
上記バグのため、最初のサブドメイン追加作業時に自己証明書による事実上無期限のオレオレ証明書による暗号化が行われてしまいますが、LiteSpeedの管理画面にログインしてリスナーポートを追加してあげた後で再度Let's Encryptの証明書取得を走らせるとちゃんと取得されるかと思います(ただし、回数制限を食らった場合を除く)
というわけでリスナーポートをあれこれして
再取得を走らせます
今時IPv4/IPv6デュアルスタックに対応してないなんておっくれってるー!
SSLの取得が無事完了しているのを確認したら
徐にCyberPanelのファイラーを開きます
「ファイル管理」を開くとこの画面になるので「アップロード」を選んで
ドラッグ&ドロップでF-RevoCRM本体が入ったZIPファイルを放り込みます
ZIPファイルを解凍します。「抽出」を開いて
解凍先ディレクトリを指定して
解凍して生成されたディレクトリを開いて
「移動」を開いて
移動先をルートディレクトリに指定して、解凍されたファイルを移動します
CyberPanelのホーム画面に戻って、データベース「frevocrm」を作成します
ログイン情報を控えておいてください
SSHでCyberPanelサーバーに接続します
cd /home/your_domain/crm
sudo composer install
yes
インストールウィザード
「crm.hsidr.work」へアクセスします
言語を選択して「インストール」をクリックします
ライセンス条項に「同意する」をクリックします
環境に関する設定内容を確認し、変更がなければ「次へ」をクリックします
config.inc.phpはこの時点では生成されていないので、「いいえ」のままで大丈夫です
データベースや初期ユーザーの登録を行います
当たり前ですが、複雑さを満たすパスワードを設定してください
当たり前ですが、ユーザー名とパスワードを忘れずに控えておいてください
アンケートに回答し、「次へ」をクリックします。
インストールが始まります。コーラでも飲んでまったりと待ってください
Oh...(トラブル遭遇)
よくよくシステム条件の確認のスクリーンショットを見ると「tabdata.php」と「parent_tabdata.php」がないのを華麗に無視して進めていました
というわけでtabdata.phpとparent_tabdata.phpを公式GitHubからダウンロードして、本体と同様にしてCyberPanelのファイラーからF-RevoCRMのルートディレクトリにアップロードします
https://github.com/thinkingreed-inc/F-RevoCRM/blob/1c93604f549cffab7940a7fc5e905a87b64da961/tabdata.php
https://github.com/thinkingreed-inc/F-RevoCRM/blob/1c93604f549cffab7940a7fc5e905a87b64da961/parent_tabdata.php
SSHでCyberPnaelサーバーを触ります。
cd /home/your_domain/
chmod -R 777 crm
上記のディレクトリはご自分の環境に適宜置き換えてください
権限が777でええんか?という疑問はあるのですが、動かなくて色々弄っていた内におま環になったようで、777でないと色々動かないのでどうしようもない
インストール完了後、F-RevoCRMのホーム画面へ遷移します
その他の初期設定
自社情報の設定
一般ユーザー追加
メール送信設定
一連の作業を終えてみた感想
そこそこ熟れているせいか、トラブルらしいトラブルに遭遇しなかった遭遇はしたが大体なんとかなった
tabdata.phpとparent_tabdata.phpがどこからダウンロードできるのか調べるのに時間がかかったぐらいでその他は公式インストールガイドに従うだけで素直に初期状態まで正味3時間程度でインストールされてくれた
Apache推奨なだけあってもっとトラブルに遭遇するかと思ったのだが、(Open)LiteSpeedですんなり動いてしまった
上記手順では何もなかったかの様にしているが、うっかりHTTPS接続「ではなく」HTTP接続でインストールを進めてしまったため、後でHTTPSリダイレクトをCyberPanel側で設定した時に
HTTPS -> HTTP -> HTTPS ……
の無限ループに入ってしまった(config.inc.phpをエディタで書き換えて解決)
素直に最初からHTTPSリダイレクトを設定している状態でインストールを進めた場合はそんなことにはならない(はず)なので皆様におかれましては気をつけられませ
そんな凡ミスをするのは私だけだ
Apacheはそこそこ応答性の悪い重たいWebサーバーだと思っているのだが、利用者の皆さんはApacheで満足しているのだろうか……?
(まあ私のチューニングがへっぽこという説は大いにあるが)
そこそこ使ってるよ!みたいな内容は検索で見つかるが……
基本BtoBで安定性の高いシステムなせいか、感想はそこそこ見つかるのだが、あれこれトラブルに遭遇した系の記事にはあまり行き当たらなかった(深堀りしてないだけかもしれない)
それはそれとして
LiteSpeedは良いぞ。DBやメールサーバーも一緒に構築するのならCyberPanelでインストールするのがオススメ。もっとLiteSpeedの使い手よ増えてくれ
今後の課題
データのインポートは未挑戦なので適当なデータを用意して試してみたい
参考にさせていただきました
シンキングリード株式会社公式GitHub
公式インストールガイド
tabdata.phpとparent_tabdata.phpのありかを知る手掛かり