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
- cPanelのLarabelのアイコンをクリック
- メニューに従い、インストールしたいドメインとディレクトリを指定。
-
インストールフォルダを分けないときはディレクトリの指定は不要。
mixhost
の場合、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 にリダイレクトされる
- データベース接続設定
- 使用できるデータベース
- MySQL
- MariaDB
- SQL Server
mixhost
の場合、MariaDBを選択。ホスト名: 127.0.0.1
、ポート:3306
はそのままでOK。 - 警告に対処
- システム条件の確認で警告が出たら対処します。
cPanelのMultiPHP INI Editerから各数値の設定を推奨値に変更。
警告 対応名称 変更後の値 メモリ使用量上限 memory_limit 512M 一度にPOSTできる上限数 max_input_vars 3000 タイムアウト時間 max_execution_time 180 [適用]ボタンを押して、再度インストール画面に戻り、システム条件の確認画面で警告が出なければそのまま進みます。
Composerのインストールが確認できない警告については、既にインストールされていることを確認済みなので無視しました。
- インストール実行
- 初期設定
-
インストールが完了すると初期設定画面が表示されるので、サイト名や管理者情報を登録します。
https://exment.example.com/laravel/exment/public/admin/initialize
- 419 PAGE EXPIRED エラーが出たら
-
初期設定画面を放置して、後から入力して保存したら、以下のエラー画面が出ました。一旦、初期画面に戻り、F5を押してページを更新し、改めて初期設定を行い保存したら、エラーが出ず保存できました。
https://exment.example.com/laravel/exment/public/admin/initialize
- ダッシュボードが表示されインストール完了
ログイン画面
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の[システム設定]にある「システムバージョン情報」に表示されるバージョンが最新バージョンに変わるまで、数十分以上待たないと変わりません。バージョンアップ作業を裏側でサーバーが残作業ゴリゴリやっているのかもしれません。よって、アップデート後のバージョンの確認は時間を空けてから行ってみてください。
参考ページ