Tag Archive for 'apache'

Passenger für Ruby on Rails aus TextMate “automatisch” neu starten

Manchmal möchte man seine Ruby-on-Rails-Applikation im Passenger manuell neu starten. Sprich eine Datei my_app/tmp/restart.txt anlegen. Ich habe ein kleines Command-Skript für TextMate dafür geschrieben. Wenn man es ausführt (in diesem Beispiel mit APFEL+R), wird beim nächsten Browseraufruf alles neu geladen. Praktisch wenn man Plugins entwickelt :)

Hier der Command in TextMate:

restart_passenger

Und hier der Code dafür

18
19
20
21
22
23
24
#!/usr/bin/env ruby
 
require "#{ENV['TM_BUNDLE_SUPPORT']}/lib/rails_bundle_tools.rb"
f = File.open File.join(RailsPath.new.rails_root, "tmp", "restart.txt"), "w"
f.close
 
puts "Rails Application will be reloaded!"
Ähnliche Posts:
» (Snow) Leopard + Rails + Passenger + VirtualBox + Windows 7 and localhost
» ActiveSupport::Memoizable Cache löschen
» Apache2 auf dem Mac macht nur 401 wegen FileVault
» MCV Ruby on Rails – was gehört wohin?

Apache2 auf dem Mac macht nur 401 wegen FileVault

Wenn man FileVault benutzt kann es zu Schwierigkeiten mit Apache kommen. Man bekommt ständig einen 401 um die Ohren gehauen. So lässt sich Passenger natürlich nicht verwenden!

Folgender Befehl schafft Abhilfe:

sudo chmod +a “www allow search” /Users/DEINBENUTZERNAME

(ggf. sollte man VORHER noch mit dem Festplatten-Dienstprogramm die Verzeichnisrechte generell einmal reparieren lassen).

Ähnliche Posts:
» apache und mongrel_balancer errors
» (Snow) Leopard + Rails + Passenger + VirtualBox + Windows 7 and localhost
» Online-Patentamt für Dokumente und Skripte
» Banana bread

apache und mongrel_balancer errors

Hi,

wenn du sowas hast:

client denied by server configuration: proxy:balancer://mongrel_cluster/

dann musst du in deine httpd.conf das hier reinschreiben, (weil in der /etc/apache2/mods-available/proxy.conf alles auf “deny from all” steht):

Order allow,deny
Allow from all

und wenn du danach das hier hast:

proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.

dann musst du den mod_proxy_http hinzufügen:

ln /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load
/etc/init.d/apache2 restart

Hat mich ‘ne Stunde gekostet ;)

Ähnliche Posts:
» BasicAuth + ProxyPath (Apache + Mongrel)
» Apache2 auf dem Mac macht nur 401 wegen FileVault
» Ruby on Rails with Leopard (localhost, sites, mysql, rmagick)

BasicAuth + ProxyPath (Apache + Mongrel)

Ich bin gerade dabei ein Rails Projekt mit Apache und Mongrel zum laufen zu bringen.
Das ganze soll aber erst mal hinter nem htaccess Passwort Schutz sein. Ich hab nun Ewigkeiten gesucht um das hin zu bekommen, denn wenn ich es einfach in die .htaccess im public Verzeichnis meines Rails Projektes ablege, geht es natürlich nicht, da die BasicAuth ja vom Apache gemacht wird und der hat die Anfrage ja schon an Mongrel übergeben…

Das ganze ist aber eigentlich recht einfach. Jetzt steht der BasicAuth Code im vhost drin und das sieht dann so aus:

<proxy *>
AuthName “Nur mit Passwort”
AuthType Basic
AuthUserFile /pfad/zur/.htpasswd
require valid-user
</proxy>

ProxyRequests Off
ProxyPreserveHost On

ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:3000/
ErrorLog /pfad/zum/server.log

wichtig war die Direktive <proxy *> in der der BasicAuth Code stehen muss. Sonst wird es einfach ignoriert!

Update:
Und so wird es dann in Rails 2.0 gemacht: HTTP Basic Authentication

Ähnliche Posts:
» Apache2 auf dem Mac macht nur 401 wegen FileVault
» HowTo: MySQL 5, Mongrel, Capistrano + Subversion
» Ruby on Rails with Leopard (localhost, sites, mysql, rmagick)
» apache und mongrel_balancer errors

Ruby on Rails with Leopard (localhost, sites, mysql, rmagick)

Ich habe soeben 2 Minuten gebraucht, um intuitiv Rails in Leopard zum Laufen zu kriegen…

Das möchte ich euch natürlich nicht vorenthalten.

Du wechselst in das Verzeichnis deines Projektes.

bild-5.png

Und gibst den Befehl ruby script/server ein.

bild-6.png

Ergebnis:

bild-7.png

Fertig!

“Mongrel available at 0.0.0.0:3000″ verrät dir, wo du deine Webseite findest. Da “0.0.0.0″ das gleiche ist wie “localhost”, findest du sie z. B. hier:

bild-8.png

Mist war das einfach :/

MySQL

HIER könnt ihr mysql runterladen. Kleiner Tip: Intel-Rechner brauchen “x86″. Mein PowerBook G4 hat Mac OS X 10.4 (PowerPC, 32-bit) gebraucht.

Package installieren, fertig. Vorsicht, momentan funktioniert das prefpane von mysql in den Systemeinstellungen für Leopard nicht. Das kann man beheben, indem man dem Verzeichnis /usr/local/mysql/data UND UNTERVERZEICHNISSEN Lese- und Schreibrechte für Administratoren (oder halt direkt dir selbst) hinzufügt. Wie geht das? Einen invisibility toggler runterladen und alle Dateien im Finder sichtbar machen. Auf das Verzeichnis ein “Apfel + i” machen und ganz unten die Reche entsprechend hinzufügen.

Nachdem ich jetzt zwei Tage versucht habe einen “sudo gem install mysql” durchzuführen, kam ich endlich auf die Lösung. (Danke an rubyonrails.org die schnell genug waren. Hier auch nochmal ausführlich.

Kurzum, folgenden langen Befehl im Terminal eingeben:

sudo env ARCHFLAGS="-arch ppc" gem install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config

Dort wo “ppc” steht muss nicht ppc sondern i386 heißen, wenn ihr einen Intel-Prozessor habt (MacBook usw.)

mysqlok.png

Wenn ihr nur sudo gem install mysql oder sudo gem install mysql — –with-mysql-dir=/usr/local/mysql macht, dann kommt ein “can’t find ruby header” Fehler. Danach habe ich gegoogled ohne Ende und nichts gefunden.

Übrigens kann nun ein sudo gem update rails nicht schaden, das updated ein paar gem versionen.

Wie man mit MacPort RMagick installiert, ist hier schön beschrieben.

Fertig!

Ähnliche Posts:
» (Snow) Leopard + Rails + Passenger + VirtualBox + Windows 7 and localhost
» BasicAuth + ProxyPath (Apache + Mongrel)
» Apache2 auf dem Mac macht nur 401 wegen FileVault
» Tiger -> Leopard = smoooth!