AlmaLinux 9.4 に Exment 6.1.6 をインストールする

AlmaLinuxをサーバ構成でインストールして、ログイン直後からExmentをインストールするまでの操作をメモしておきます。

SELinux無効化

/etc/selinux/config の SELINUX を
disabled に書き換える。

setenforce 0
で一時的に無効化する。

ファイアウォール設定

firewall-cmd –add-service=http –zone=public –permanent
firewall-cmd –add-service=https –zone=public –permanent

MariaDBインストール

dnf install mariadb-server
mv /var/lib/mysql /home/mysql
ln -sf /home/mysql /var/lib/mysql
systemctl enable –now mariadb

Exment用のデータベースとアカウントを作成する。
mysql
create database exment_db;
grant all on exment_db.* to exment_user@localhost identified by ‘exment_pass’;
flush privileges;
exit

Nginxインストール

dnf module enable nginx:1.24
dnf install nginx
systemctl enable –now nginx

/etc/nginx/nginx.conf の server ブロックに
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
を追記する。

systemctl restart nginx

PHPインストール

dnf module enable php:8.2
dnf install php php-gd php-ldap php-zip
systemctl enable –now php-fpm

/etc/php.ini で
max_execution_time = 180
max_input_vars = 3000
memory_limit = 512M
uppload_max_filesize = 20M
にそれぞれ書き換える。

/etc/php-fpm.d/www.conf の
user と group を nginx に書き換える。

systemctl restart php-fpm

Composer インストール

php -r “copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);”
php composer-setup.php
php -r “unlink(‘composer-setup.php’);”
mv composer.phar /usr/local/bin/composer

Exment インストール

以下、Nginxのドキュメントルートディレクトリを/var/www とみなして記載します。

cd /var/www
wget https://exment.net/downloads/ja/exment.zip
unzip exment.zip
rm exment.zip
cd exment

LDAPを使う場合は、
composer require adldap2/adldap2-laravel –ignore-platform-reqs
を実行します。
(筆者の環境では–ignore-platform-reqsをつけないとインストールがうまくいかなかったです。長くメンテナンスされていないモジュールのようです。)

chmod 775 /var/www/exment
chown -R nginx:nginx /var/www/exment
php artisan exment:setup-dir –easy=1

ここで http://(ExmentサーバのIPアドレス)/admin にアクセスし Exment を初期設定します。

php artisan exment:setup-dir –easy_clear=1

Exment を使ってみての印象

基本無料、動作軽い、オンプレ運用可能ということで、いいことづくめです。

通信インフラさえ整っている中小企業であれば、高くても百万円程度で社内ライブラリとして使えるサーバを導入できるのは、魅力であるように思います。(Raspberry Pi などを使えば数千円で試作できるかも…)

参考

https://exment.net/docs/#/ja/quickstart
https://qiita.com/kanetugu2018/items/8192cc3461ef60b2f876
https://rin-tech.blog/exment%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E5%8F%8A%E3%81%B3%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9A/
https://tomikuma-white-bear.hatenadiary.org/entry/2021/01/14/212058
https://zenn.dev/niiyama_k/articles/c3ec0913a4ba61
https://github.com/Adldap2/Adldap2-Laravel