実現したいこと
- Apache2を正常に動かす (Phusion Passenger 6.0.20を使用)
前提
発生している問題・エラーメッセージ
/var/log/apache2/error.log
log
1App 4407 output: /opt/.rbenv/versions/3.1.3/bin/ruby: error while loading shared libraries: libruby.so.3.1: cannot open shared object file: No such file or directory
該当のソースコード
/etc/apache2/sites-available/XXX.conf
apache2
1 ServerName 192.168.2.118 2 <IfModule mod_passenger.c> 3 PassengerRoot /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20 4 PassengerDefaultRuby /opt/.rbenv/versions/3.1.3/bin/ruby 5 PassengerRuby /opt/.rbenv/versions/3.1.3/bin/ruby 6 PassengerUser www-data 7 PassengerGroup www-data 8 SetEnv LD_LIBRARY_PATH /opt/.rbenv/versions/3.1.3/lib 9 SetEnv GEM_PATH /opt/.rbenv/shims 10 </IfModule> 11 <Directory /var/www/source> 12 Options Indexes FollowSymLinks 13 AllowOverride All 14 Require all granted 15 </Directory> 16 17<VirtualHost *:80> 18 DocumentRoot /var/www/source/public 19 RailsEnv production 20 ErrorLog ${APACHE_LOG_DIR}/error.log 21</VirtualHost>
~/.bashrc
bash
1# bash自体の設定は省略 2export PATH="/opt/.rbenv/bin:$PATH" 3eval "$(rbenv init -)" 4export LD_LIBRARY_PATH=/opt/.rbenv/versions/3.1.3/lib
試したこと
- 過去問題となっていたPassengerAgent, エラーメッセージを出していると思われるrubyに対してlddを実行
bash
1$ sudo ldd /opt/.rbenv/versions/3.1.3/bin/ruby 2 linux-vdso.so.1 (0x00007ffec3b68000) 3 libruby.so.3.1 => /opt/.rbenv/versions/3.1.3/lib/libruby.so.3.1 (0x00007f0827acd000) 4 libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f0827aab000) 5 libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f0827a71000) 6 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f082798a000) 7 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0827761000) 8 /lib64/ld-linux-x86-64.so.2 (0x00007f0827f16000) 9$ sudo ldd /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/passenger-6.0.20/buildout/support-binaries/PassengerAgent 10 linux-vdso.so.1 (0x00007ffd4e0ff000) 11 libcurl.so.4 => /lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f8d0acd8000) 12 libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f8d0a894000) 13 libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f8d0a668000) 14 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8d0a581000) 15 libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8d0a561000) 16 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8d0a336000) 17 libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007f8d0a30c000) 18 libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f8d0a2eb000) 19 librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f8d0a2cc000) 20 libssh.so.4 => /lib/x86_64-linux-gnu/libssh.so.4 (0x00007f8d0a25f000) 21 libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007f8d0a24b000) 22 libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007f8d0a1a5000) 23 libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f8d0a151000) 24 libldap-2.5.so.0 => /lib/x86_64-linux-gnu/libldap-2.5.so.0 (0x00007f8d0a0f2000) 25 liblber-2.5.so.0 => /lib/x86_64-linux-gnu/liblber-2.5.so.0 (0x00007f8d0a0e1000) 26 libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f8d0a012000) 27 libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f8d0a004000) 28 libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f8d09fe6000) 29 /lib64/ld-linux-x86-64.so.2 (0x00007f8d0b462000) 30 libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f8d09e3c000) 31 libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f8d09c51000) 32 libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007f8d09c09000) 33 libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007f8d09bc3000) 34 libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f8d09b3f000) 35 libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f8d09a74000) 36 libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f8d09a45000) 37 libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f8d09a3f000) 38 libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f8d09a31000) 39 libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f8d09a14000) 40 libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f8d099f1000) 41 libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f8d098b6000) 42 libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f8d0989e000) 43 libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f8d09897000) 44 libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f8d09881000) 45 libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007f8d09874000)
特にnot foundとなっている項目が見つからないため、解決できませんでした。
2. 共通ライブラリ一覧を参照
bash
1$ cat /etc/ld.so.conf.d/* | grep -v "#" 2/usr/lib/x86_64-linux-gnu/libfakeroot 3/usr/local/lib 4/usr/local/lib/x86_64-linux-gnu 5/lib/x86_64-linux-gnu 6/usr/lib/x86_64-linux-gnu
関係ない情報だと考えました。(OS側の情報?)
3. libruby.so.3.1を検索
bash
1$ sudo find / -name "libruby.so.3.1" 2/opt/.rbenv/versions/3.1.3/lib/libruby.so.3.1
存在しました。
4. sudo ldconfigを実行
→ダメでした。変わりません。
補足情報(FW/ツールのバージョンなど)
- OS: Ubuntu 22.04 LTS Server
- Apache2, Passenger 6.0.20
- Ruby 3.1.3p185 Rails 7.0.8
こちらのスレッドで@otn 様から回答をいただきましたが、エラーが変わり別問題になってしまったので、
こちらで質問させていただきました。過去の履歴が必要であれば、過去のスレッドをご覧ください。
追記 2024/03/11 14:54 (編集済み 2024/03/11 16:16)
(gemをフルパスで実行いたしました。)
tmpdir gemは存在します。
bash
1$ sudo /opt/.rbenv/shims/gem list | grep "tmpdir" 2tmpdir (default: 0.1.2)
また、gemのサーチパスはこれです。
bash
1$ sudo /opt/.rbenv/shims/gem env 2... 3 - /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0 4 - /root/.local/share/gem/ruby/3.1.0 5...
さらに、以下のコマンドを実行しました。
bash
1$ sudo ls /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0 2build_info cache doc extensions gems plugins specifications
/opt/.rbenv/shimsがなかったため、Apache側でSetEnvで指定してみました。
/etc/apache2/sites-available/XXX.conf
conf
1... 2 <IfModule mod_passenger.c> 3 ... 4 SetEnv LD_LIBRARY_PATH /opt/.rbenv/versions/3.1.3/lib 5 SetEnv GEM_PATH /opt/.rbenv/shims 6 </IfModule> 7...
(これ、もしかするとSetEnv GEM_PATH /opt/.rbenv/shims
をSetEnv GEM_PATH /opt/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0
にするべきだったりするでしょうか?)
回答1件
あなたの回答
tips
プレビュー