VPSを持っていない会社は、無料CRMに移れない——共有レンタルサーバーにEspoCRMを立てて、500エラーの原因3つを手順書にした話
名古屋でAIシステム開発の会社をやっています。今日は「その手順書、うちの環境では使えない」という話です。
kintoneやSalesforceの月額をやめたい、という相談をよく受けます。同じことができる無料のオープンソースCRMは実在します。ライセンス費はゼロです。それでも移れない理由が、料金でも機能でもないところにありました。
公式の手順書が、全部VPSとDocker前提で書かれている。
中小企業が実際に持っているのは、月数百円の共有レンタルサーバーです。ホームページを置いてある、あれです。VPSを新しく借りて、Dockerを覚えて、というのは「無料のソフトを使うため」の負担としては重すぎます。
なので、共有レンタルサーバーに立ててみました。
なぜEspoCRMを選んだか
日本語で使おうとすると、無料CRMの候補は急に減ります。実測しました(2026年8月)。
| スター | ライセンス | 日本語 | |
|---|---|---|---|
| EspoCRM | 3,286 | AGPL-3.0 | 公式配布に日本語UIを同梱 |
| Krayin CRM | 23,704 | MIT | 本家に日本語ロケールなし |
| SuiteCRM | 老舗 | AGPL-3.0 | 有志ベース |
星の数ならKrayinが圧倒的ですが、日本語ファイルが本家に入っていません(当社が全訳してプルリクエストを出していますが、まだマージされていません)。EspoCRMは展開した時点で日本語です。36言語のうちの一つとして入っています。これは相当に珍しい。
そしてもう一つ、テレアポや訪問営業をやっている会社には決定的な違いがあります。EspoCRMは「通話」が標準のエンティティとして最初から入っています。架電の予定、結果、次回の予定、誰が何分話したか。kintoneでこれを作ろうとするとアプリ設計から始まりますが、EspoCRMは最初から持っています。
置いた瞬間、500エラー
展開して、同梱の.htaccessをそのまま置いて、ブラウザで開いたら500 Internal Server Error。切り分けたら原因は3つでした。
1つ目。Options が許可されていない。 標準の.htaccessは冒頭で Options +FollowSymLinks を指定します。共有レンタルサーバーの多くはこれを許していません。許可されていないディレクティブが1行あるだけで、ディレクトリ全体が500になります。
2つ目。動的なベースパス解決。 標準はサブディレクトリに置かれても自動で動くよう、環境変数でベースパスを組み立てます。この書き方は通らないことがあります。パスを直書きしたほうが確実です。
3つ目。これが一番わかりにくい。 EspoCRM 10 は公開ディレクトリが public/ に分離されました。ルート直下の index.php は「public を公開ディレクトリに設定してください」という案内を出すだけのファイルです。500が直った後、今度はこの案内画面が出続けて、また止まりました。
どれも公式ドキュメントには書かれていません。
FTPしか使えない環境で、さらに2つ
空のディレクトリが転送されません。 多くのFTPクライアントは中身の無いディレクトリを送りません。EspoCRMには空のディレクトリが含まれていて、これが無いままインストーラを走らせると書き込みエラーで止まります。手で作る必要があります。
インストーラが作った設定ファイルは、後から書き換えられません。 data/config.php はウェブサーバーのユーザー所有になります。FTPのログインユーザーとは別人なので Permission denied です。書き換えるだけのPHPを1枚置いて実行し、直後に消す、という回避が要ります。
動いた環境
意外に思われるかもしれませんが、いまどきの共有レンタルサーバーはEspoCRMの要求を満たします。
- PHP 8.3.33
- pdo_mysql / mbstring / gd / zip / curl / exif / intl … すべて有効
- memory_limit 300M、MySQL 8.4.8
- 展開後のディスク使用量 173MB
足りなかったのはドキュメントだけでした。
ついでに見つけた、日本語訳の問題
動いたので中身を見ていったら、公式の日本語がところどころ機械翻訳のままでした。
| 項目 | 公式の訳 |
|---|---|
| Lead(単数) | 鉛 |
| Case(単数) | 場合 |
| Contact(単数) | 接触 |
| Contact の「役職」欄 | アカウント名 |
| Case の「完了にする」ボタン | 近い |
Lead が「鉛」です。金属のほうに訳されています。Case の Close が「近い」になっているのは、形容詞の close と取り違えたのでしょう。
これは直しました。custom/ に上書きを置く形なので、EspoCRM本体を更新しても消えません。取引先・連絡先・リード・商談・打ち合わせ・通話・問い合わせ、という普通の日本語になっています。
触れます
実際に動いているものを、ログイン情報つきで公開しています。
proto.exbridge.jp — ID demo / パスワード demo2026
架電の予定と結果、取引先、商談のサンプルを入れてあります。左メニューの「通話」を開くと、今日と明日の架電予定が並びます。問い合わせも資料請求も要りません。
手順書を480円で出しました
ここまでの全部を、構築手順書としてBrainに出しました。
kintoneの顧客管理を月額ゼロに——無料CRM「EspoCRM」をVPSなしの共有レンタルサーバーへ
無料部で原因3つを明かしています。有料部(480円)に、動いた.htaccessの全文、設定ファイルの書き換え方、テレアポ向けの設定、権限を絞った利用者の作り方、カスタマイズ用のAIプロンプト、落とし穴10個を入れました。
ソフト本体は無料です。値段が付いているのは「共有レンタルサーバーで日本語で動くところまで確実に届く手順」と「実際にぶつかった壁の記録」に対してです。
ツールごと欲しい方はkappstoreにキットとして置いてあります(税込5,500円)。環境チェック用のPHP、設定書き換え用のPHP、利用者作成スクリプト、日本語訳の修正ファイルが入っていて、フォルダごとClaude Codeに渡せば構築まで進みます。
正直に書いておくこと
EspoCRMは AGPL-3.0 です。自社の業務で使う分に制約はありませんが、2点あります。
改変した状態でネットワーク越しに第三者へサービス提供する場合、改変部分のソース公開義務が生じます。そして、EspoCRMはAGPL第7条(b)により画面から「EspoCRM」の表記を消すことを禁じています。自社ブランドに丸ごと置き換えて売る、という使い方はできません。
自社で使う分には、どちらも問題になりません。
まとめ
- 無料CRMに移れない理由は、料金でも機能でもなく手順書がVPS前提なこと
- 共有レンタルサーバーでも動く。足りないのはドキュメントだけだった
- 標準の.htaccessは500になる。原因は3つ
- 公式の日本語は Lead が「鉛」。直せる
- デモはログイン情報ごと公開しています
構築ごと任せたい場合は、カスタマイズしてから御社のサーバーへ導入するところまで承ります(Vibe OSS・110,000円税込〜)。どれを土台にするか決まっていない段階なら、Kurage.AIに相談から聞いてください。名古屋市内であれば伺います。初日3時間のヒアリングと提案は無料です。