ExmentをMixhostにインストール
顧客管理、日報管理、勤怠管理、アドレス帳など、ちょっとした業務用WEBアプリに使えそうで、「なんでも管理できるWEBデータベース」と謳っている国産オープンソースソフトウェア「Exment」(エクスメント)。これを現在使用しているレンタルサーバー「ミックスホスト 」にインストールしてみました。その手順をメモ。
Exmentの動作要件
-
PHP 7.3.0以上
-
MySQL 5.7.8以上、8.0.0未満
または MariaDB 10.2.7以上
MixhostのcPanelでの作業
サブドメイン作成 通常の公開サイトとは別に、Exment用サイト作る場合、mixhost のcPanelからサブドメインを作成します。
例) exmple.com → exment.example.com
PHPのバージョンを変更 このページを投稿した時点のExmentのバージョンが v.5.0.0 で、ベースであるPHPフレームワークのLaravelバージョン9を使用し、PHPのバージョンは8.0以上である必要があります。Mixhostのデフォルト設定が7.0系の場合、変更する必要があります。以下のページを参考。
FTPユーザー作成 MySQLにデータベースを作成 **[cPanel]-[MySQLデータベース]**の画面からExment用に新しいデータベースを作成します。 作成したデータベースにユーザーを追加 データベースが作成できたら、同じ画面から作成したデータベースにアクセスする新しいMySQLユーザーを作成し、データベースに対して割り当てます。
Laravelをインストール
ExmentはPHPフレームワークのLaravelをベースに作られているので、サーバーにLaravelを入れておく必要があります。mixhost ではGUIで簡単にインストールできます。
cPanelのLarabelのアイコンをクリック
[](/blog/2022/11/02/No-10.jpg)
メニューに従い、インストールしたいドメインとディレクトリを指定。
インストールフォルダを分けないときはディレクトリの指定は不要。
[](/blog/2022/11/02/No-11.jpg)
[mixhost](https://px.a8.net/svt/ejp?a8mat=2ZF6W2+2DQFW2+3JTE+5YJRM)
の場合、Composerは標準でインストールされているので、別途Composerをインストールする必要はありません。
各バージョンを確認
cPnanlのTerminalからExmentに必要な各バージョンを確認。
コマンド
カレントディレクトリを変更
$ cd public_html/対象サイトフォルダ名
PHPのバージョンを確認するコマンド
$ php -v
Composerのバージョンを確認するコマンド
$ conposer -v
Laravelのバージョンを確認するコマンド
$ cd public_html/対象サイトフォルダ名/laravel
$ php artisan -v
Exmentのインストール
ExmentのZIPをダウンロード
解凍してアップロード 解凍したexmentフォルダをLaravelフォルダ直下に置いてみました。公式サイトではexmentフォルダの中身を公開ディレクトリのルート直下に配置すると、外部からデータベースの設定が他人に見られてしまう恐れがあるとのことと、なんとなくフォルダ分けしておきたいのでLaravelフォルダの中にExmentフォルダを配置してみました。
`https://example.com/laravel/exment`
サイトルート
└ laravel
└ exment
Laravelフォルダの下位ではなく、同じ階層に置いた場合でもOKでした。
インストール画面にアクセス
Exmentフォルダ内にあるpublicのパス対して**admin**を付けてアクセス
https://exment.example.com/laravel/exment/public/admin/
↓
https://exment.example.com/laravel/exment/public/admin/install にリダイレクトされる
[](/blog/2022/11/02/No-00.jpg)
データベース接続設定 使用できるデータベース
- MySQL
- MariaDB
- SQL Server
[mixhost](https://px.a8.net/svt/ejp?a8mat=2ZF6W2+2DQFW2+3JTE+5YJRM)
の場合、MariaDBを選択。ホスト名:127.0.0.1、ポート:3306はそのままでOK。
[](/blog/2022/11/02/No-01.jpg)
cPanelの**MultiPHP INI Editer**から各数値の設定を推奨値に変更。
[](/blog/2022/11/02/No-03.jpg)
警告
対応名称
変更後の値
メモリ使用量上限
memory_limit
512M
一度にPOSTできる上限数
max_input_vars
3000
タイムアウト時間
max_execution_time
180
[適用]ボタンを押して、再度インストール画面に戻り、システム条件の確認画面で警告が出なければそのまま進みます。
[](/blog/2022/11/02/No-05.jpg)
Composerのインストールが確認できない警告については、既にインストールされていることを確認済みなので無視しました。
インストール実行
[](/blog/2022/11/02/No-04.jpg)
初期設定
インストールが完了すると初期設定画面が表示されるので、**サイト名**や**管理者情報**を登録します。
https://exment.example.com/laravel/exment/public/admin/initialize
[](/blog/2022/11/02/No-06.jpg)
419 PAGE EXPIRED エラーが出たら
初期設定画面を放置して、後から入力して保存したら、以下のエラー画面が出ました。一旦、初期画面に戻り、F5を押してページを更新し、改めて初期設定を行い保存したら、エラーが出ず保存できました。
[](/blog/2022/11/02/No-07.jpg)
https://exment.example.com/laravel/exment/public/admin/initialize
ダッシュボードが表示されインストール完了
[](/blog/2022/11/02/No-08.jpg)
ログイン画面
https://exment.example.com/laravel/exment/public/admin/auth/login
アップデート方法
cPanelのTerminalからコマンドで実行
$ cd public_html/サイトディレクトリ/laravel/exment
$ wget https://exment.net/downloads/cmd/ExmentUpdateLinux.sh
$ chmod 755 ExmentUpdateLinux.sh
$ ./ExmentUpdateLinux.sh
Composerのアップデートに失敗するとき
PHPのバージョンが低いことが原因でアップデートに失敗した場合はPHPのバージョンを指定してからアップデートします。 ./ExmentUpdateLinux.shを実行したときにComposer関連でエラーが出る時も同様です。
エラーの例
[ErrorException]
Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.0.2". You are running 7.4.33.
エラー回避のコマンド例
$ cd public_html/サイトディレクトリ/laravel/exment
$ composer config platform.php 8.0.27
$ composer update
または
$ composer --no-plugins update --no-scripts
それでもエラーが出る場合
Exmentの階層にあるcomposer.jsonのconfig項に "platform-check": falseを追記すると解決れできるかもしれません。
"config": {
"platform-check": false
},
これを行ってかから、再度./ExmentUpdateLinux.shを実行すると無事にExmentのアップデートが正常に終わりました。
最新バージョン表示には時間がかかる
バージョンアップが泥状に終わっても、Exmentの[システム設定]にある「システムバージョン情報」に表示されるバージョンが最新バージョンに変わるまで、数十分以上待たないと変わりません。バージョンアップ作業を裏側でサーバーが残作業ゴリゴリやっているのかもしれません。よって、アップデート後のバージョンの確認は時間を空けてから行ってみてください。

