F-RevoCRMを自分的アレンジでインストールしてみた話

# 前提条件
:::note info
**以下は事前に用意してあるものとする**
* Apache2互換Webサーバー（PHPインストール済み/php.ini編集済み/インターネットからReachable）
* MySQLサーバー
* SMTPサーバー
* DNSレコード
* SSL証明書
* F-RevoCRM本体
:::
今回は~~色々手間を省きたいので~~自前のサーバー資源を有効活用するため、DNSレコード以外を一緒くたに統合運用出来る、CyberPanel（OpenLiteSpeed/LiteSpeedPHP8.1）をインストールしたサーバーを利用します

:::note info
* 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」とします。
![スクリーンショット 2024-03-09 5.01.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/90f77c64-5695-892b-6089-597053d2f6e3.png)
![スクリーンショット 2024-03-09 5.04.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/94c2ac22-1cc7-6e9f-a000-37550ff54bdf.png)
![スクリーンショット 2024-03-09 5.04.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/79a94dad-ad72-fb57-2945-e6932cb05f82.png)
![スクリーンショット 2024-03-09 5.04.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/a9f26465-a742-b409-8076-64357f2d160c.png)
DNSレコードがドメインのネームサーバーに登録済みであれば、この操作だけで自動的にバーチャルドメインの作成からLet's Encryptの証明書取得までやってくれます。ただし……

:::note alert
**CyberPanel側のバグだと思うんですが、IPv4/IPv6デュアルスタックの場合、バーチャルドメインの設定（追加）がIPv4のリスナーポート設定「だけ」に反映されて、IPv6のポート80のリスナーポートには一切これっぽっちも反映されないので、LiteSpeedの管理画面に態々ログインしてあれこれしてあげる必要があります**
:::
![スクリーンショット 2024-03-09 5.09.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/d748f221-487b-5844-cb41-229baace5f5e.png)

:::note warn
**上記バグのため、最初のサブドメイン追加作業時に自己証明書による事実上無期限のオレオレ証明書による暗号化が行われてしまいますが、LiteSpeedの管理画面にログインしてリスナーポートを追加してあげた後で再度Let's Encryptの証明書取得を走らせるとちゃんと取得されるかと思います（ただし、回数制限を食らった場合を除く）**
:::

### というわけでリスナーポートをあれこれして
![スクリーンショット 2024-03-09 5.13.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/9010eba1-1ece-9fec-7c46-22533aedb38e.png)
![スクリーンショット 2024-03-09 5.13.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/cc46edf0-35b9-f838-5ec6-44e263802d48.png)
![スクリーンショット 2024-03-09 5.14.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/d01866c9-d244-a2db-ab40-3594614e1cdd.png)
![スクリーンショット 2024-03-09 5.15.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/178c5c63-1741-906a-4d80-c0c0f134badc.png)


### 再取得を走らせます
![スクリーンショット 2024-03-09 5.18.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/bf1a3191-19a0-0939-87e3-8e815a8e975c.png)

:::note warn
**~~今時IPv4/IPv6デュアルスタックに対応してないなんておっくれってるー！~~**
:::

### SSLの取得が無事完了しているのを確認したら
![スクリーンショット 2024-03-09 5.19.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/74f56c57-844e-a38a-5fd4-84747a4e04cf.png)

### 徐にCyberPanelのファイラーを開きます
![スクリーンショット 2024-03-09 5.20.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/8e931d09-2ae9-870c-ddfb-c1d3b2652de4.png)

### 「ファイル管理」を開くとこの画面になるので「アップロード」を選んで
![スクリーンショット 2024-03-09 5.23.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/4e417240-df6e-cfa6-ecd8-836745152bff.png)


### ドラッグ＆ドロップでF-RevoCRM本体が入ったZIPファイルを放り込みます
![スクリーンショット 2024-03-09 5.22.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/d87bcd85-65f6-0271-6add-f173bfd43071.png)

### ZIPファイルを解凍します。「抽出」を開いて
![スクリーンショット 2024-03-09 5.24.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/6121ebe6-4c6b-87f1-8bff-da35e9759945.png)

### 解凍先ディレクトリを指定して
![スクリーンショット 2024-03-09 5.25.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/759faf16-583a-653d-0050-3ed6c744be63.png)

### 解凍して生成されたディレクトリを開いて
![スクリーンショット 2024-03-09 5.27.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/29b6fd2d-5ad8-60e3-fd37-efc88ae25014.png)

### 「移動」を開いて
![スクリーンショット 2024-03-09 5.28.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/0f57d68d-b3c5-838d-4be6-32b7316e78fd.png)

### 移動先をルートディレクトリに指定して、解凍されたファイルを移動します
![スクリーンショット 2024-03-09 5.28.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/b8cca373-c76d-ce06-d82a-40f4739289e2.png)

### CyberPanelのホーム画面に戻って、データベース「frevocrm」を作成します
![スクリーンショット 2024-03-09 5.30.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/7cbc2f9d-570c-5787-264d-a241264fc7f7.png)

### ログイン情報を控えておいてください
![スクリーンショット 2024-03-09 5.32.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/46b3c90e-fa0f-e5a1-a9ef-e799006e01c7.png)

### SSHでCyberPanelサーバーに接続します

```
cd /home/your_domain/crm
sudo composer install
yes
```
# インストールウィザード

### 「crm.hsidr.work」へアクセスします

![スクリーンショット 2024-03-09 6.24.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/18080a1f-75d0-e268-96cb-80c3cbcea985.png)
### 言語を選択して「インストール」をクリックします

![スクリーンショット 2024-03-09 6.26.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/2e1e5ae6-75c7-94c7-bedf-3e2dfc22b4ee.png)

### ライセンス条項に「同意する」をクリックします
![スクリーンショット 2024-03-09 6.27.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/a2ce89ed-4dad-5603-087c-1167774429d5.png)

### 環境に関する設定内容を確認し、変更がなければ「次へ」をクリックします
![スクリーンショット 2024-03-09 6.27.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/699ed860-3f64-cb9c-ecb4-2279522f5033.png)

:::note info
**config.inc.phpはこの時点では生成されていないので、「いいえ」のままで大丈夫**です
:::

### データベースや初期ユーザーの登録を行います
![スクリーンショット 2024-03-09 6.29.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/b160e1fe-a4e0-a548-9b12-625e39092813.png)

:::note warn
当たり前ですが、**複雑さを満たすパスワードを設定**してください
:::

:::note warn
当たり前ですが、**ユーザー名とパスワードを忘れずに控えて**おいてください
:::

![スクリーンショット 2024-03-09 6.33.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/0fc90ce1-6967-7447-9e15-2dc9fb3ef5cf.png)
### アンケートに回答し、「次へ」をクリックします。
![スクリーンショット 2024-03-09 6.35.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/6f1c6ec0-2fb5-d15c-c54e-1e26ecd88ea2.png)


### インストールが始まります。コーラでも飲んでまったりと待ってください
![スクリーンショット 2024-03-09 6.36.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/1e168491-f51d-e444-59a1-470ff2d18b18.png)

### Oh...（トラブル遭遇）
![スクリーンショット 2024-03-09 6.41.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/9f21c9df-692d-b811-0a51-12ac1a815333.png)

:::note warn
**よくよくシステム条件の確認のスクリーンショットを見ると「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
```
:::note warn
**上記のディレクトリはご自分の環境に適宜置き換えてください**
~~**権限が777でええんか？という疑問はあるのですが、動かなくて色々弄っていた内におま環になったようで、777でないと色々動かないのでどうしようもない**~~
:::

### インストール完了後、F-RevoCRMのホーム画面へ遷移します
![スクリーンショット 2024-03-09 7.44.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/3a72e441-883b-4378-39d9-05858ea9a670.png)


# その他の初期設定
### 自社情報の設定
![スクリーンショット 2024-03-09 7.46.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/fb67590f-4617-789f-bea8-26b8f9f4ce38.png)

### 一般ユーザー追加
![スクリーンショット 2024-03-09 7.47.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/e0d53147-75fb-7a0c-8e5a-a6cc054793d5.png)

### メール送信設定
![スクリーンショット 2024-03-09 7.49.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1861875/38e122e1-887c-ef14-e899-99bdf72c1569.png)

# 一連の作業を終えてみた感想

### そこそこ熟れているせいか、トラブルらしいトラブルに~~遭遇しなかった~~遭遇はしたが大体なんとかなった
:::note warn
**tabdata.phpとparent_tabdata.phpがどこからダウンロードできるのか調べるのに時間がかかったぐらいでその他は公式インストールガイドに従うだけで素直に初期状態まで正味3時間程度でインストールされてくれた**
:::

:::note warn
**Apache推奨なだけあってもっとトラブルに遭遇するかと思ったのだが、(Open)LiteSpeedですんなり動いてしまった**
:::

:::note alert
**上記手順では何もなかったかの様にしているが、うっかりHTTPS接続「ではなく」HTTP接続でインストールを進めてしまったため、後でHTTPSリダイレクトをCyberPanel側で設定した時に
HTTPS -> HTTP -> HTTPS ……
の無限ループに入ってしまった（config.inc.phpをエディタで書き換えて解決）
素直に最初からHTTPSリダイレクトを設定している状態でインストールを進めた場合はそんなことにはならない（はず）なので皆様におかれましては気をつけられませ
~~そんな凡ミスをするのは私だけだ~~**
:::

:::note warn
**Apacheはそこそこ応答性の悪い重たいWebサーバーだと思っているのだが、利用者の皆さんはApacheで満足しているのだろうか……？
~~（まあ私のチューニングがへっぽこという説は大いにあるが）~~**
:::

### そこそこ使ってるよ！みたいな内容は検索で見つかるが……
:::note warn
**基本BtoBで安定性の高いシステムなせいか、感想はそこそこ見つかるのだが、あれこれトラブルに遭遇した系の記事にはあまり行き当たらなかった(深堀りしてないだけかもしれない)**
:::

### それはそれとして
:::note info
**LiteSpeedは良いぞ。DBやメールサーバーも一緒に構築するのならCyberPanelでインストールするのがオススメ。もっとLiteSpeedの使い手よ増えてくれ**
:::

# 今後の課題

:::note warn
**データのインポートは未挑戦なので適当なデータを用意して試してみたい**
:::

# 参考にさせていただきました

### シンキングリード株式会社公式GitHub
https://github.com/thinkingreed-inc/F-RevoCRM/tree/main

### 公式インストールガイド
https://f-revocrm.jp/2020/10/11128/

### tabdata.phpとparent_tabdata.phpのありかを知る手掛かり
https://zenn.dev/holykzm/articles/1d4e270f0a5378