もっと詳しく

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のアイコンをクリック

cPanelからLaravelインストール

メニューに従い、インストールしたいドメインとディレクトリを指定。

インストールフォルダを分けないときはディレクトリの指定は不要。

cPanelからLaravelインストール

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と同じ階層に置いた場合に動くのかは後日試してみたいと思います。

インストール画面にアクセス

Exmentフォルダ内にあるpublicのパス対してadminを付けてアクセス

https://exment.example.com/laravel/exment/public/admin/
  ↓
https://exment.example.com/laravel/exment/public/admin/install にリダイレクトされる

Exmentインストール画面

データベース接続設定
使用できるデータベース

  • MySQL
  • MariaDB
  • SQL Server

mixhost
の場合、MariaDBを選択。ホスト名:127.0.0.1、ポート:3306はそのままでOK。

Exmentインストール画面 データベース接続情報設定

警告に対処
システム条件の確認で警告が出たら対処します。

Exmentインストール画面 システム要件の確認 動作条件確認

cPanelのMultiPHP INI Editerから各数値の設定を推奨値に変更。

Mixhost cPanel MultiPHP INI Editer

警告 対応名称 変更後の値
メモリ使用量上限 memory_limit 512M
一度にPOSTできる上限数 max_input_vars 3000
タイムアウト時間 max_execution_time 180

[適用]ボタンを押して、再度インストール画面に戻り、システム条件の確認画面で警告が出なければそのまま進みます。

Exmentインストール画面 システム要件の確認 動作条件確認

Composerのインストールが確認できない警告については、既にインストールされていることを確認済みなので無視しました。

インストール実行

Exmentインストール画面

初期設定

インストールが完了すると初期設定画面が表示されるので、サイト名管理者情報を登録します。

https://exment.example.com/laravel/exment/public/admin/initialize

Exment初期設定画面

419 PAGE EXPIRED エラーが出たら

初期設定画面を放置して、後から入力して保存したら、以下のエラー画面が出ました。一旦、初期画面に戻り、F5を押してページを更新し、改めて初期設定を行い保存したら、エラーが出ず保存できました。

419 PAGE EXPIRED エラー

https://exment.example.com/laravel/exment/public/admin/initialize
ダッシュボードが表示されインストール完了

Exmentダッシュボード

ログイン画面

https://exment.example.com/laravel/exment/public/admin/auth/login

Exmentログイン画面

アップデート方法

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 config platform.php 8.0.24
$ composer update

参考ページ