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)
Keine Bearbeitungszusammenfassung
Zeile 46: Zeile 46:
</source>
</source>


Ein PostgreSQL-User mit Namen <code>haendler</code> wurde (z.B. mit Hilfe von <code>phpPgAdmin</code> angelegt.
Ein PostgreSQL-Benutzer mit Namen <code>haendler</code> wurde (z.B. mit Hilfe von <code>phpPgAdmin</code> angelegt.
 
Für diesen Benutzer werden drei Datenbanken angelegt:
= Zugang zur Web-Anwendung <code>haendler</code> mit Hilfe von Apache =
* <code>haendler_development</code>
 
* <code>haendler_test</code>
Unter der Annahme, dass Rails-Anwendungen im Verzeichnis <code>/web/rails</code>
* <code>haendler_production</code>
angelegt werden, kann der virtuelle Server in der Apache-Konfigurationsdatei <code>httpd.conf</code>
eingetragen werden:
 
<source lang="apache">
  <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>
</source>


= Anlegen der Rails-Anwendung <code>haendler</code>=
= Anlegen der Rails-Anwendung <code>haendler</code>=
Zeile 113: Zeile 94:
   cd /web/rails/haendler
   cd /web/rails/haendler
   rake db:migrate
   rake db:migrate
</source>
= Zugang zur Web-Anwendung <code>haendler</code> mit Hilfe von Apache =
Unter der Annahme, dass Rails-Anwendungen im Verzeichnis <code>/web/rails</code>
angelegt werden, kann der virtuelle Server in der Apache-Konfigurationsdatei <code>httpd.conf</code>
eingetragen werden:
<source lang="apache">
  <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>
</source>
</source>



Version vom 5. Dezember 2008, 13:43 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-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.