Ich mache ja gerne Sachen mit Ruby. Unter anderem auch mit sinatra, die schlanke Alternative zu ruby on rails. Lokal rennt das auch ganz gut, was mich aber nun interessiert hat wie bekomme ich das Teil nun auf meinen uberspace?
Also als erster Schritt mal die Doku durchwühlt (Habt ihr gewusst das Uberspace eine super Doku hat? sic!). Als Basis habe ich den Artikel zur Einrichtung von Rails genommen. (Es kann auch nicht schaden vorher den Ruby Eintrag zu lesen)
Als erstes richtet man sich nun das aktuelle Ruby ein (ich entnehme das mal der oben genannten Doku)
Ich bleibe auch dabei den Nutzernamen helga und den Server helium zu nehmen. Das müsst Ihr dann entsprechend austauschen. Wir werden ein simple Hello World Datei installieren, weil ich denke daran wird das Prinzip auch verstanden.
Damit ist unser kleines Hello World File unter ~/web/hello.rb zu finden. Leider reicht das noch nicht, wir brauchen noch eine config file damit nachher der Server auch weiß wo er suchen soll und welches Projekt laufen muss. Das ./hello
muss durch den Dateinamen ersetzt werden der gewünscht ist ohne das .rb am Ende. In unserem Fall heißt die ausführende Datei hello.rb.
Jetzt müssen wir nur noch die passenden Gems installieren. Einfacher geht das wenn eine Gemfile vorliegt und man es mit bundler installieren kann. Denkt aber daran das ihr noch ein fcgi hinzufügt zu der Datei, ansonsten gehts nicht. Steht aber auch in der guten Doku von uberspace zu rails.
So jetzt müssen wir nur noch den kleinen Sinatra Skript ausführen. Dazu nehmen wir aus dem RubyonRails Eintrag den fcgi-skript und wandeln den leicht ab so das er zu unseren Bedürfnissen passt.
Danach muss noch mit einem chmod 755 ~/fcgi-bin/HelloSinatra
die Datei ausführbar gemacht werden, und nun läuft unser kleines HelloWorld Programm. Nun müssen wir noch eine kleine .htaccess file in einen Ordner unserer Wahl werfen. Ich bevorzuge da eine Subdomain, weil das netter aussieht ;)
Dazu habe ich folgende .htaccess
Und damit gibt es Sinatra nun auch auf dem Uberspace :)
Zurück | Vor |