Händler-Anwendung (Ruby-on-Rails-Beispiel): Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) |
Kowa (Diskussion | Beiträge) |
||
| Zeile 119: | Zeile 119: | ||
</source> | </source> | ||
Nach einem Neustart von Apache mit <code>/etc/rc.d/apache restart</code> oder schneller, | Nach einem Neustart von Apache mit <code>/etc/rc.d/apache restart</code> oder, schneller, | ||
<code>kill -1 <Prozessnummer des Apache-Root-Prozesses></code> sollte man die Applikation | <code>kill -1 <Prozessnummer des Apache-Root-Prozesses></code> sollte man die Applikation | ||
im Browser ansehen können: | im Browser ansehen können: | ||
Version vom 5. Dezember 2008, 16:52 Uhr
Zweck
Anhand einer einfachen Web-Anwendung sollten die Prinzipien von Ruby on Rails erläutert werden.
Voraussetzungen
Folgende Softwarepakete wurden installiert:
- Apache 2.2.x
- PostgreSQL 8.x (am Besten zusammen mit einem Frontend wie z.B phpPgAdmin)
- Ruby 1.8.7
- Ruby on Rails
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 (Zeichenkodierung UTF8)haendler_test (Zeichenkodierung UTF8)haendler_production (Zeichenkodierung UTF8)
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 Hilfe eines rake-Kommandos kann überprüft werden, ob die
Verbindung zur Datenbank hergestellt werden kann:
cd /web/rails/haendler
rake db:migrate
Wenn das rake-Kommando keinen Fehler ausgibt, ist alles in Ordnung.
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>
Nach einem Neustart von Apache mit /etc/rc.d/apache restart oder, schneller,
kill -1 <Prozessnummer des Apache-Root-Prozesses> sollte man die Applikation
im Browser ansehen können:
http://haendler.kowa/
