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