Ho grattato la testa su questo per tutto il giorno. Sto fondamentalmente cercando di replicare la configurazione che ho sul desktop con 10.11 (Yosemite) dove posso eseguire le app Rails su Vhosts in un ambiente locale usando il passeggero.
Quindi sulla nuova macchina (laptop), eseguo macOS Sierra (10.12.2), ho impostato vhosts e apache normalmente e ho installato passeggeri via homebrew.
Ora quando corro sudo apachectl -t
ottengo:
httpd: Syntax error on line 539 of /private/etc/apache2/httpd.conf: Syntax error on line 1 of /private/etc/apache2/other/passenger.conf: Cannot load /usr/local/opt/passenger/libexec/buildout/apache2/mod_passenger.so into server: dlopen(/usr/local/opt/passenger/libexec/buildout/apache2/mod_passenger.so, 10): Library not loaded: /usr/local/opt/apr/libexec/lib/libapr-1.0.dylib\n Referenced from: /usr/local/opt/passenger/libexec/buildout/apache2/mod_passenger.so\n Reason: Incompatible library version: mod_passenger.so requires version 6.0.0 or later, but libapr-1.0.dylib provides version 5.0.0
Ho corso xcode-select --install
quindi dovrebbe andare bene. La versione degli strumenti della riga di comando è Xcode 8.2.1.
brew info passenger
mi da:
passenger: stable 5.1.1 (bottled), HEAD
Server for Ruby, Python, and Node.js apps via Apache/NGINX
https://www.phusionpassenger.com/
/usr/local/Cellar/passenger/5.1.1 (3,738 files, 149.5M) *
Poured from bottle on 2017-01-09 at 16:05:11
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/passenger.rb
==> Dependencies
Required: pcre ✔, openssl ✔, apr-util ✔
==> Requirements
Required: macOS >= 10.7 ✔
==> Options
--without-apache2-module
Disable Apache2 module
--HEAD
Install HEAD version
==> Caveats
To activate Phusion Passenger for Nginx, run:
brew install nginx --with-passenger
To activate Phusion Passenger for Apache, create /etc/apache2/other/passenger.conf:
LoadModule passenger_module /usr/local/opt/passenger/libexec/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/opt/passenger/libexec/src/ruby_supportlib/phusion_passenger/locations.ini
PassengerDefaultRuby /usr/bin/ruby
Uscita di apxs -q | fgrep -i config
APR_CONFIG=/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/apr-1-config
APU_CONFIG=/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/apu-1-config
ENABLED_DSO_MODULES=,authn_file,authn_core,authz_host,authz_groupfile,authz_user,authz_core,access_compat,auth_basic,reqtimeout,filter,mime,log_config,env,headers,setenvif,version,slotmem_shm,unixd,status,autoindex,dir,alias
Che sembra buono. Quindi dove sbaglio?
/Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.12.xctoolchain/usr/local/bin/apr-1-config
esiste? Non funziona sulla mia macchina e ho dovuto installare apr e apr-util da homebrew e forzare il loro collegamento.
brew link apr --force
) non manualmente, mi chiedo se questo fa la differenza?
apxs -q | fgrep -i config
.