Recientemente actualicé a Apache 2.4 y estoy usando Ruby on Rail para ejecutar mi aplicación. Después de la actualización, el sitio muestra un contenido como se ve en la imagen a continuación y el error en el archivo de registro muestra este mensaje de error. Intenté usar 'Instalación de paquete' y verifiqué el permiso, pero eso no ayudó. Cualquier consejo sería muy apreciado. Gracias
[ 2022-02-07 07:47:24.5559 8104/7efc89c8f700 age/Cor/App/Implementation.cpp:304 ]: Could not spawn process for application /home/adminuser/hroot: An error occured while starting up the preloader. Error ID: ba7e6074 Error details saved to: /tmp/passenger-error-RA01E9.html Message from application: libmysqlclient.so.18: cannot open shared object file: No such file or directory - /usr/local/rvm/gems/ruby-2.0.0-p353@hroot/gems/mysql2-0.3.14/lib/mysql2/mysql2.so (LoadError)
PassengerRuby /usr/local/rvm/gems/ruby-2.0.0-p353@hroot/wrappers/ruby SetEnv GEM_HOME /root/.gem/ruby/1.9.1
Este error muestra un problema con los objetos compartidos. Probablemente actualizó las bibliotecas MySQL/MariaDB con Apache y las nuevas bibliotecas son incompatibles con su compilación de gemas mysql2. La solución es sencilla:
Primero, asegúrese de estar utilizando el entorno RVM ruby-2.0.0-p353@hroot
.
Luego, ejecuta el siguiente comando:
gem install mysql2 --version 0.3.14
Esto debería reconstruir su gema mysql2 para las nuevas bibliotecas cliente MySQL/MariaDB en su sistema.
Esta no es la respuesta de todos modos, sino otro método para ejecutar Ruby (en mi caso, Windows 10; si usa otro sistema operativo, intente averiguar cómo modificar dentro de index.php el iniciador de Ruby). Publico aquí un método alternativo para usar Apache + php +... y rubí https://stackoverflow.com/a/71733656/5781320