RubyRBEnv: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(ruby fertig installiert)
 
(7 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 26: Zeile 26:
=== Installation von ruby ===
=== Installation von ruby ===


Heute (Februar 2017) ist Ruby 2.4.0 die aktuelle Version
Mit dem Kommando


     $ rbenv install 2.4.0
$ rbenv install --list
     $ rbenv global 2.4.0
 
erhält man eine Liste der aktuell untersützten Ruby-Versionen
 
Installation mit (hier Version 3.1.3):
 
     $ rbenv install 3.1.3
     $ rbenv global 3.1.3
     $ gem install bundler
     $ gem install bundler
     $ rbenv rehash
     $ rbenv rehash
Zeile 37: Zeile 43:
     $ ruby -v
     $ ruby -v


liefert die Ausgabe "ruby 2.4.0p0 (2016-12-24 revision 57164)"
liefert die Ausgabe "ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]"
 
== Minimale Web Applikation mit Passenger ==
 
Zur Integration der eigenen Ruby-Installation in den Apache erfolgt über das  Apache-Modul "Passenger".
Vor der Nutzung dieses Moduls bitte unbedingt die
[[Phusion Passenger|Hinweise zur Nutzung beachten]].
 
 
Für eine minimale Beispielanwendung legen wir eine Datei ''config.ru'' mit folgenden Inhalt an
("ru"  kurz für "rackup"):
 
  # config.ru
 
  class App
    def call(env)
      headers = { 'Content-Type' => 'text/html' }
      response = ['Greetings from Rack!!']
      [200, headers, response]
    end
  end
 
  run App.new
 
 
== Sinatra Web Applikation mit Passenger ==
 
Um eine Beispielanwendung zu installieren, orientieren wir uns an https://github.com/phusion/passenger-ruby-sinatra-demo/tree/end_result
 
Im Verzeichnis "/home/pacs/xyz00/users/example/doms/example.com/app-ssl/" legen wir folgende Dateien und Verzeichnisse an:
 
Gemfile:
 
<pre>
source 'https://rubygems.org/'
 
gem 'sinatra'
gem 'tilt'
gem 'base64', '0.1.1'
</pre>
 
app.rb:
 
<pre>
require 'sinatra/base'
require 'tilt/erb'
 
class ExampleApp < Sinatra::Base
  get '/' do
    erb :index
  end
end
</pre>
 
config.ru:
 
<pre>
require File.absolute_path("app.rb")
 
run ExampleApp
</pre>
 
views/index.erb:
 
<pre>
<!DOCTYPE html>
<html>
<head><title>Hello</title></head>
<body>
    <h1>Hello world!</h1>
    <% if defined?(PhusionPassenger) %>
      <p>Congratulations, you are running this app in Passenger!<br/>
        You are running Ruby Version: <%= RUBY_VERSION %>
      </p>
    <% else %>
      <p>You are not running this app in Passenger.</p>
    <% end %>
</body>
</html>
</pre>
 
Im Verzeichnis "/home/pacs/xyz00/users/example/doms/example.com/app-ssl/" führen wir aus:
 
bundle config --local path vendor/bundle
bundle install
 
== Links ==
 
* https://www.writesoftwarewell.com/definitive-guide-to-rack/
 
----
[[Kategorie:Installationsanleitungen]]
[[Kategorie:Software]]

Aktuelle Version vom 2. März 2024, 12:45 Uhr

Eigene Ruby Installation

Oft ist die vorinstallierte Version der Programmiersprache Ruby (die in Debian enthaltene Version) zu alt für die eingesetze Software.

Hier eine kurze Anleitung, mit der man eine eigene Ruby-Umgebung für einen User einrichten kann.

Installation von rbenv

Konfiguration für einen User mit "/bin/bash" als Shell. Die Umgebungsvariablen werden in ".bash_profile" hinterlegt.

   $ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
   $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
   $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
   $ source ~/.bash_profile

Der Befehl

   $ type rbenv

sollte eine Ausgabe erzeugen, die beginnt: "rbenv is a function"

Installation von ruby-build

   $ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

Installation von ruby

Mit dem Kommando

$ rbenv install --list

erhält man eine Liste der aktuell untersützten Ruby-Versionen

Installation mit (hier Version 3.1.3):

   $ rbenv install 3.1.3
   $ rbenv global 3.1.3
   $ gem install bundler
   $ rbenv rehash

Der Befehl

   $ ruby -v

liefert die Ausgabe "ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [x86_64-linux]"

Minimale Web Applikation mit Passenger

Zur Integration der eigenen Ruby-Installation in den Apache erfolgt über das Apache-Modul "Passenger". Vor der Nutzung dieses Moduls bitte unbedingt die Hinweise zur Nutzung beachten.


Für eine minimale Beispielanwendung legen wir eine Datei config.ru mit folgenden Inhalt an ("ru" kurz für "rackup"):

 # config.ru
 
 class App
    def call(env)
      headers = { 'Content-Type' => 'text/html' }
      response = ['Greetings from Rack!!']
      [200, headers, response]
    end
 end
 
 run App.new


Sinatra Web Applikation mit Passenger

Um eine Beispielanwendung zu installieren, orientieren wir uns an https://github.com/phusion/passenger-ruby-sinatra-demo/tree/end_result

Im Verzeichnis "/home/pacs/xyz00/users/example/doms/example.com/app-ssl/" legen wir folgende Dateien und Verzeichnisse an:

Gemfile:

source 'https://rubygems.org/'

gem 'sinatra'
gem 'tilt'
gem 'base64', '0.1.1'

app.rb:

require 'sinatra/base'
require 'tilt/erb'

class ExampleApp < Sinatra::Base
  get '/' do
    erb :index
  end
end

config.ru:

require File.absolute_path("app.rb")

run ExampleApp

views/index.erb:

<!DOCTYPE html>
<html>
<head><title>Hello</title></head>
<body>
    <h1>Hello world!</h1>
    <% if defined?(PhusionPassenger) %>
      <p>Congratulations, you are running this app in Passenger!<br/>
         You are running Ruby Version: <%= RUBY_VERSION %>
      </p>
    <% else %>
      <p>You are not running this app in Passenger.</p>
    <% end %>
</body>
</html>

Im Verzeichnis "/home/pacs/xyz00/users/example/doms/example.com/app-ssl/" führen wir aus:

bundle config --local path vendor/bundle
bundle install

Links