mod_small_lightをApache2.4で使う(CentOS 7)
はじめに
mod_small_lightを数年ぶりに使う機会があって、こちらのページを参考にしながらセットアップしていたのですが、いざApacheを起動しようとするも、起動しないという状況に……。
ログをみると、"small_light module only works with mpm prefork mode"と怒られているので、慌ててMPMを確認するもprefork…。どうもMPMの判定が上手く行っていない様子。なので、その部分を修正してあげると、無事起動するようになりました。(この判定の不具合がsystemdがらみ?なのかもしれないので、それ以外では普通に使えるかもしれない)
最近はApache使うことも少なくなり、mod_small_lightを使う人も少ないかもしれないのですが、古いシステムを2.4系に移す必要性があり、なおかつsmall_lightを使い続けなければならないという人の助けになれば幸いです。
環境
- CentOS 7.5
- Apache 2.4.6
準備
yumのリポジトリにepelを追加
$ sudo yum install -y epel
必要なものをまるっと導入
$ sudo yum install -y httpd-devel ImageMagick ImageMagick-devel imlib2 imlib2-devel
パスを確認
$ which apxs Wand-config imlib2-config
/bin/apxs
/bin/Wand-config
/bin/imlib2-config
mod_small_lightのセットアップ
gitからソースをclone
$ cd /usr/local/src
$ git clone https://github.com/yamac/smalllight.git
$ cd smalllight
ソースを修正
このまま make installすると、先述したとおり、"small_light module only works with mpm prefork mode"という致命的エラーがログに吐かれ、静かにApacheが息を引き取ってしまいます。
なので、ApacheのMPMの判定部分を書き直してあげます。
@@ -93,7 +93,7 @@
{
#if APR_HAS_THREADS
int mpm_threads;
- ap_mpm_query(AP_MPMQ_MAX_THREADS, &mpm_threads);
+ ap_mpm_query(AP_MPMQ_IS_THREADED, &mpm_threads);
if (mpm_threads >= 1) {
ap_log_error(APLOG_MARK, APLOG_CRIT, 0, s,
"small_light module only works with mpm prefork mode"
これで、mpm_threadsは正しくpreforkなら0, workerなら1となります。
あとは流れで
あとは通常通り、先ほど確認したそれぞれのパスを指定して、makeするだけです!
$ ./configure --with-apxs=/bin/apxs \
--with-Wand-config=/bin/Wand-config \
--with-imlib2-config=/bin/imlib2-config \
$ sudo make
$ sudo make install
無事成功したら、メッセージどおり、chmodしてあげます
$ sudo chmod 755 /usr/lib64/httpd/modules/mod_small_light.so
これで怒られずに無事Apacheが起動します。(もちろんMPMはpreforkで)
$ sudo systemctl start httpd
あとがき
Apache/Nginxに限らず、こういったリサイズできるものって今は何が使われてるんですかね…? そもそもこういった方法で画像編集すること自体がイケてないのだろうか…。
参考
https://www.takedajs.com/entry/2017/02/26/195556
https://qiita.com/tototoshi/items/472f2b09e48ae9717a2d
https://ci.apache.org/projects/httpd/trunk/doxygen/group__qcodes.html
Author And Source
この問題について(mod_small_lightをApache2.4で使う(CentOS 7)), 我々は、より多くの情報をここで見つけました https://qiita.com/sarumonera/items/7e3b517993aa205d2fd3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .