Händler-Anwendung (Ruby-on-Rails-Beispiel): Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Kowa (Diskussion | Beiträge)
Kowa (Diskussion | Beiträge)
Zeile 71: Zeile 71:
</source>
</source>


= Anlegen einer Rails-Anwendung =
= Anlegen der Rails-Anwendung <code>haendler</code>=


<source lang="bash">
<source lang="bash">
    
   cd /web/rails
  rails --database postgresql haendler
</source>
 
In der Konfigurations-Datei <code>/web/rails/haendler/config/database.yml</code>,
die den Zugriff auf das DB-System regelt, wird das Passwort für den Benutzer
<code>haendler</code> an drei Stellen eingetragen:
 
<source lang="unix">
  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!?
</source>
 
Mit Hile eines <code>rake>/code> Kommandos kann überprüft werden, ob die
Verbindung zur Datenbank hergestellt werden kann
<source lang="bash">
  cd /web/rails/haendler
  rake db:migrate
</source>
</source>



Version vom 5. Dezember 2008, 13:41 Uhr

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-User mit Namen haendler wurde (z.B. mit Hilfe von phpPgAdmin angelegt.

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>

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

Quellen


Dieser Artikel ist GlossarWiki-konform.