Portál AbcLinuxu, 5. května 2025 05:35
bundle exec rails server webrick -e productiondostanu správný funkční testovací server na portu 3000. Pokud se o totéž pokusím přes apache dostanu do error logu hlášky.
/usr/bin/env: ruby: No such file or directory [Sun Jun 11 10:38:34.115643 2017] [fcgid:warn] [pid 2574] (104)Connection reset by peer: [client 192.168.112.102:43744] mod_fcgid: error reading data from FastCGI server [Sun Jun 11 10:38:34.115799 2017] [core:error] [pid 2574] [client 192.168.112.102:43744] End of script output before headers: dispatch.fcgicož si vysvětluji tak, že při startu skriptu
dispatch.fcgi
který je:
#!/usr/bin/env ruby require File.dirname(__FILE__) + '/../config/boot' require File.dirname(__FILE__) + '/../config/environment' class Rack::PathInfoRewriter def initialize(app) @app = app end def call(env) env.delete('SCRIPT_NAME') parts = env['REQUEST_URI'].split('?') env['PATH_INFO'] = parts[0] env['QUERY_STRING'] = parts[1].to_s @app.call(env) end end Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(RedmineApp::Application)nejsou k dispozici proměnné prostředí, které říkají kde je ruby a jeho knihovny. Jediné na co jsem narazil, je tady v části o freeBSD se zmiňují o tom že je potřeba dostat do fcgi proměnnou
RAILS_ENV=production
. Ale to není k linuxu.
#!/usr/bin/env ruby
kterým začíná fcgi skript se vůbec neprovede. protože není nalezeno. (ruby je fakticky hluboko v /opt stromu, a pokud první řádek vyměním za přesný odkaz na ruby binárku tak to padne také díky nenalezeným knihovnám - také hluboko v /opt, ale se správnými cestami v LD_LIBRARY_PATH) chybovou hlášku, kterou jsi poslal a která nasleduje nenalezení ruby, je podle mne generální hláška na jakýkoliv pád fcgi skriptu a v jeho případě bylo to s gemem.
No ja to nakonec vyresil tim ze mi redmine bezi v dockeru a mam klid :)
https://hub.docker.com/r/sameersbn/redmine/
/etc/apache2/sites-enabled/redmine.conf <VirtualHost *:80> ServerAdmin admin@devaine.cz ServerName bt1-ph.corp.devaine.cz ServerAlias helpdesk helpdesk.corp.devaine.cz helpdesk.corp.devaine.eu VirtualDocumentRoot /var/www/redmine/public LogLevel warn ErrorLog /var/log/apache2/redmine-error.log CustomLog /var/log/apache2/redmine-access.log combined <Location /redmine> RailsEnv production RackBaseURI /redmine Options -MultiViews </Location> <IfModule mod_rewrite.c> <IfModule mod_ssl.c> RewriteEngine on RewriteCond %{HTTPS} !^on$ [NC] RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L] </IfModule> </IfModule> </VirtualHost> <VirtualHost *:443> ServerAdmin admin@devaine.cz ServerName bt1-ph.corp.devaine.cz ServerAlias helpdesk helpdesk.corp.devaine.cz helpdesk.corp.devaine.eu VirtualDocumentRoot /var/www/redmine/public Include /etc/apache2/cert.conf LogLevel warn ErrorLog /var/log/apache2/redmine-error.log CustomLog /var/log/apache2/redmine-access.log combined <Location /redmine> RailsEnv production RackBaseURI /redmine Options -MultiViews </Location> # zpusobuje castecnou nekompatibilitu s mode_rewrite a par dalsimi moduly apache (neco nemusi fungovat) PassengerHighPerformance on # dalsi tuning : PassengerMaxPoolSize 15 PassengerMinInstances 3 # lze nastavit jen u verze enterprise passengeru : #PassengerMaxInstances 30 # cas v s, po kterem se app po necinnosti (neprijde zadny web pozadavek) ukonci - spawne, 0 = neukoncovat app PassengerPoolIdleTime 0 </VirtualHost>
/etc/apache2/cert.conf SSLEngine On # Here, I am allowing only "high" and "medium" security key lengths. #SSLCipherSuite HIGH:MEDIUM SSLHonorCipherOrder on # Prefer PFS, allow TLS, avoid SSL, for IE8 on XP still allow 3DES SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+AESGCM EECDH EDH+AESGCM EDH+aRSA HIGH !MEDIUM !LOW !aNULL !eNULL !LOW !RC4 !MD5 !EXP !PSK !SRP !DSS" # Here I am allowing SSLv3 and TLSv1, I am NOT allowing the old SSLv2. SSLProtocol all -SSLv2 -SSLv3 # Prevent CRIME/BREACH compression attacks SSLCompression Off # Server Certificate: SSLCertificateFile /etc/apache2/ssl/bt1-ph.corp.devaine.cz.crt # Server Private Key: SSLCertificateKeyFile /etc/apache2/ssl/bt1-ph.corp.devaine.cz.pem # Server Certificate Chain: SSLCertificateChainFile /etc/apache2/ssl/DevaineRootCA-G2.crt # Certificate Authority (CA): SSLCACertificateFile /etc/apache2/ssl/DevaineRootCA-G2.crtJinak ty jsi asi postupoval podle tohoto howto : How to Install Redmine on CentOS (Detailed)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.