Händler-Anwendung (Ruby-on-Rails-Beispiel)

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg

Zweck

Anhand einer einfachen Web-Anwendung sollten die Prinzipien von Ruby on Rails erläutert werden.

Voraussetzungen

Folgende Softwarepakete wurden installiert:

Ruby on Rails wurde zusammen mit einigen Erweiterungs-Modulen mit Hilfe des Ruby-Befehls gem installiert:

  RUBY_DIR=...; export RUBY_DIR
  POSTGRESQL_DIR=...; export  POSTGRESQL_DIR

  gem install rails --include-dependencies
  gem install postgres -r -- --with-pgsql-dir=${POSTGRESQL_DIR}
  gem install passenger
  ${RUBY_DIR}/bin/passenger-install-apache2-module

Auf dem Test-Server steht in der Datei /etc/hosts ein Eintrag für den gewünschten virtuellen Server, auf dem die Anwendung laufen soll (die IP-Adresse und der Rechnernamen können natürlich angepasst werden):

  192.168.0.161   haendler.kowa haendler

Diese IP-Adresse ist einem echten oder virtuellen Rechner zugeordnet. Unter SuSE 11 kann man einem Rechner ganz einfach mehrere IP-Adressen zuordnen. Man trägt die neue IP-Adresse einfach in die Datei /etc/sysconfig/network/ifcfg-eth0 ein:

  IPADDR_haendler='192.168.0.161'
  NETMASK_haendler='255.255.255.0'

Danach wird der Netzwerzugriff neu gestartet:

  /etc/init.d/network restart

Ein PostgreSQL-Benutzer mit Namen haendler wurde (z.B. mit Hilfe von phpPgAdmin angelegt. Für diesen Benutzer werden drei Datenbanken angelegt:

  • haendler_development
  • haendler_test
  • haendler_production

Anlegen der Rails-Anwendung haendler

  cd /web/rails
  rails --database postgresql haendler

In der Konfigurations-Datei /web/rails/haendler/config/database.yml, die den Zugriff auf das DB-System regelt, wird das Passwort für den Benutzer haendler an drei Stellen eingetragen:

  development:
    adapter: postgresql
    encoding: unicode
    database: haendler_development
    pool: 5
    username: haendler
    password: geHEIM!?

  test:
    adapter: postgresql
    encoding: unicode
    database: haendler_test
    pool: 5
    username: haendler
    password: geHEIM!?

  production:
    adapter: postgresql
    encoding: unicode
    database: haendler_production
    pool: 5
    username: haendler
    password: geHEIM!?

Mit Hile eines rake>/code> Kommandos kann überprüft werden, ob die Verbindung zur Datenbank hergestellt werden kann

  cd /web/rails/haendler
  rake db:migrate

Zugang zur Web-Anwendung haendler mit Hilfe von Apache

Unter der Annahme, dass Rails-Anwendungen im Verzeichnis /web/rails angelegt werden, kann der virtuelle Server in der Apache-Konfigurationsdatei httpd.conf eingetragen werden:

  <VirtualHost 192.168.0.161:80>
     ServerName haendler.kowa
     DocumentRoot /web/rails/haendler/public

    <Directory /web/rails/haendler/public>
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>

    CustomLog    logs/haendler-access combined
    ErrorLog     logs/haendler-error

</VirtualHost>

Quellen


Dieser Artikel ist GlossarWiki-konform.