【Exment】Mixhostにインストールしたときの手順

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インストール](images/No-10.jpg)](/blog/2022/11/02/No-10.jpg)

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

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

[![cPanelからLaravelインストール](images/No-11.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 にリダイレクトされる
[![Exmentインストール画面](images/No-00s.jpg)](/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。

[![Exmentインストール画面 データベース接続情報設定](images/No-01s.jpg)](/blog/2022/11/02/No-01.jpg)

警告に対処 システム条件の確認で警告が出たら対処します。 Exmentインストール画面 システム要件の確認 動作条件確認

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

[![Mixhost cPanel MultiPHP INI Editer](images/No-03s.jpg)](/blog/2022/11/02/No-03.jpg)


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

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

[![Exmentインストール画面 システム要件の確認 動作条件確認](images/No-05s.jpg)](/blog/2022/11/02/No-05.jpg)

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

インストール実行

[![Exmentインストール画面](images/No-04s.jpg)](/blog/2022/11/02/No-04.jpg)

初期設定

インストールが完了すると初期設定画面が表示されるので、**サイト名**や**管理者情報**を登録します。
https://exment.example.com/laravel/exment/public/admin/initialize
[![Exment初期設定画面](images/No-06s.jpg)](/blog/2022/11/02/No-06.jpg)

419 PAGE EXPIRED エラーが出たら

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

[![419 PAGE EXPIRED エラー](images/No-07.jpg)](/blog/2022/11/02/No-07.jpg)
https://exment.example.com/laravel/exment/public/admin/initialize

ダッシュボードが表示されインストール完了

[![Exmentダッシュボード](images/No-08s.jpg)](/blog/2022/11/02/No-08.jpg)

ログイン画面

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関連でエラーが出る時も同様です。

エラーの例

[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の[システム設定]にある「システムバージョン情報」に表示されるバージョンが最新バージョンに変わるまで、数十分以上待たないと変わりません。バージョンアップ作業を裏側でサーバーが残作業ゴリゴリやっているのかもしれません。よって、アップデート後のバージョンの確認は時間を空けてから行ってみてください。

参考ページ

Hugo で構築されています。
テーマ Stack は Jimmy によって設計されています。