Open Source Institute | CyberArmy Intelligence & Security | CyberArmy Services & Projects

[Deutsch] Dinah auf Linux installieren - Schritt fü



    [Deutsch] Dinah auf Linux installieren - Schritt fü [View] [Reply] [Top]
    Posted by Author kasi On 2008-01-30 00:09:49
    View and vote on the article here: Dinah auf Linux installieren - Schritt für Schritt


    Dinah auf Linux installieren - Schritt für Schritt

    Category
    Deutsch
    Summary
    Schritt-für-Schritt-Anleitung für die Einrichtung einer Entwicklungsumgebung unter Linux.
    Body
    Abhängigkeiten:

    - Perl 5.8.8
    - MySQL 4.1+
    - GNU Privacy Guard (OpenPGP/GnuPG)
    - wget / curl / alternative
    - Apache 1.3.xx (Current stable)
    - mod_perl 1.xx (Subversion)

    Ich gehe davon aus, das Perl, MySQL, wget, GPG und Subversion vorinstalliert sind, wofür ich das jeweilige Paketverwaltungssystem eurer Distribution empfehle.

    Beginnen wir damit, einen User-Account für Dinah einzurichten. Ihr könntet ihn 'dinah' nennen. Sobald das geschehen ist, öffnet ein Terminal und wechselt zum neuen Benutzer:
    # su - dinah
    Als nächstes erstellen wir die benötigte Ordnerstruktur für Dinah, Apache, mod_perl und eventuelle Quelltexte:
    # mkdir ~/src
    # mkdir ~/MyDinah
    # mkdir ~/APACHE
    Ladet apache_1.3.xx.tar.gz und mod_perl-1.30 runter und kopiert es nach ~/.src. Anschliessend wird extrahiert:
    # tar zxf apache_1.3.xx.tar.gz
    # tar zxf mod_perl-1.0-current.tar.gz
    Danach wechseln wir in den Ordner von mod_perl. Dort wird das Modul konfiguriert und installiert. Die Einstellungen erstellen die benötigten Apache-Module für Dinah und wir erhalten "APache AutoConf-style Interface" (APACI). Dieses erlaubt es uns mit einem AutoConf-ähnlichen "configure"-Skript den Quelltext von Apache zu konfigurieren. Die folgenden Einstellungen sind jedoch weder optimiert noch für einen Server im Produktiveinsatz geeignet.
    # cd mod_perl-1.xx
    # perl Makefile.PL APACHE_SRC=../apache_1.3.39/src APACHE_PREFIX=/home/int16h/APACHE DO_HTTPD=1
    USE_APACI=1 APACI_ARGS='--enable-shared=access --enable-shared=alias --enable-shared=auth
    --enable-shared=env --enable-shared=log_config --enable-shared=mime --enable-shared=dir
    --enable-module=rewrite --enable-module=so' EVERYTHING=1
    
    # make
    # make test (optional, and requires additional perl modules for complete testing)
    # su
    #make install
    [* optional *]

    Wenn ihr zusätzlich noch Module von Drittanbietern installieren oder Extraoptionen übergeben wollt, wechselt zum Quelltext von Apache und rekonfiguriert alles (vergesst dabei aber nicht libperl.a zu aktivieren!):
    # cd ../apache_1.3.xx
    # ./configure --prefix=/home/int16h/APACHE --enable-shared=access --enable-shared=alias
    --enable-shared=auth --enable-shared=env --enable-shared=log_config --enable-shared=mime
    --enable-shared=dir --enable-module=rewrite --enable-module=so
    # make install
    Wenn ihr jemals schon mal probiert hattet Dinah zu installieren, werdet ihr wissen, das einige Perl-Module gebraucht werden, um vollständige Funktion zu gewährleisten. Um den Vorgang zu beschleunigen, können wir "Bundle::Apache" installieren, welches eine Vielzahl von Modulen enthält, die für die mod_perl-Entwicklung und Apache nützlich sind:
    # perl -MCPAN -e 'install("Bundle::Apache")'
    oder
    # cpan
    cpan> install Bundle::Apache
    cpan> quit
    #
    Bevor wir weitermachen sollten wir uns Dinah's Quelltext aus CyberArmy's Subversion-Repo besorgen:
    # cd ~/MyDinah
    # svn co https://svn.cyberarmy.net/repos/dinah/trunk
    And installieren anschliessend weitere Perl-Module aus CPAN:
    # cpan
    cpan> install Module::Build
    cpan> install MIME::Parser XML::RSS Template Template::Plugin Net::Server
    cpan> install Proc::PID_File Proc::Daemon Data::Password Algorithm::Diff
    cpan> install GD Apache::Singleton MySQL::Diff
    
    (Falls sich einige Module nicht installieren lassen, versucht vor jedem 'install' noch ein 'force' zu setzen. Meistens hilft das ;)

    Wenn alles wie geplant gelaufen ist, wechselt in den MyDinah-Ordner und führt dort den 'ls'-Befehl aus. Die Ausgabe sollte folgendem ähneln:
    CONTRIBUTIONS  LICENSE  Makefile  README  User.pm.README  bin
    conf  docs  htdocs  lib  logs  support  templates  test
    Der nächste Schritt besteht darin den Installer zu starten. Euch werden ein paar grundlegende Fragen gestellt und ein CyberArmy-Modul wird den Perl-Bibliotheken hinzugefügt:
    root[MyDinah]# make install
    bin/install.pl
    Checking prerequisites...
    Looks good
    
    What is your hostname [bombuzal ]mydinah.net
    What is your email address? [root@mydinah.net ]mail@mydinah.net
    What is an SMTP relay I can use? [mydinah.net ]mydinah.net
    Where is your httpd located  /home/int16h/APACHE/bin/httpd
    
    Copying lib/CyberArmy.pm -> blib/lib/CyberArmy.pm
    Installing /usr/lib/perl5/site_perl/5.8.8/CyberArmy.pm
    Deleting lib/CyberArmy.pm
    Deleting blib
    root[MyDinah]#
    Wie ihr seht, fragt der Installer nach dem Hostnamen, E-Mail-Adresse, SMTP-Relay und wo sich Apache's httpd Daemon befindet. Denkt daran, das "bind" oder /etc/hosts Einträge für den Hostnamen haben sollten, der auf die lokale IP zeigt.

    Nun müssen wir die httpd.conf und my.cnf usw. für Dinah konfigurieren:
    root[MyDinah]# make config
    bin/config.pl
    Checking prerequisites...
    Looks good
    
    FIXME: You need to manually install /home/int16h/MyDinah/conf/dinah.cron at the moment at bin/config.pl line 194.
    
    Overwrite current httpd.conf? [n] y
    Where is your apache LIBEXECDIR [/home/int16h/APACHE/libexec ]
    /home/int16h/APACHE/libexec
    Any other places to look in?
    
    User to run as [nobody]
    nobody
    Port to bind to [80] 8080
    Pid file [logs/httpd.pid ]
    logs/httpd.pid
    Error file [logs/error_log]
    logs/error_log
    How many instances do you want to run? [1]
    1
    Where is your gpg? [/usr/bin/gpg ]
    /usr/bin/gpg
    Written /home/int16h/MyDinah/conf/httpd.conf
    Overwrite current my.cnf? [n] y
    localhost
    MySQL username? [cyberarmy ] root
    MySQL password? [ ]
    
     Written /home/int16h/MyDinah/conf/my.cnf
    
     Sync your database schema? [n ]
    Wenn ihr Fehler zum Ende des Skripts erhaltet, ignoriert sie einfach.

    Bevor wir weitermachen, müssen wir eine Datenbank für Dinah anlegen.
    # mysqladmin -p create cyberarmy
    Wenn du den Server mit anderen Leuten teilst oder kein iptables-Skript laufen hast, willst du normalerweise einen normalen MySQL-Benutzer für Dinah's Datenbank erstellen. Da meine Box allerdings ziemlich abgesichert ist, werde ich den Default-root-Account benutzen.

    Jetzt importieren wir Dinah's Datenbank-Schema:
    # mysql -p -C cyberarmy < conf/scheme.sql
    Toll! Jetzt haben wir endlich eine Dinah/CyberArmy-Datenbank-Struktur, die im Moment allerdings noch sehr sinnlos ist, da es keine User oder Admins gibt. Deshalb benutzen wir nun bootstrap.sql:
    # mysql -p -C cyberarmy < conf/bootstrap.sql
    Okay, jetzt können wir loslegen!
    # make start
    bin/dinahctl start
    #1: started
    Je nachdem, wie euer Apache eingestellt ist, müsst ihr eventuell Dinah's httpd.conf leicht abändern, falls ihr 'LoadModule'-Fehler erhaltet. Guckt dafür in die ~/MyDinah/conf/httpd.conf und wenn euch etwas seltsam vorkommt, modifiziert ihr es so:
    LoadModule env_module           /home/int16h/APACHE/libexec/mod_env.so
    LoadModule config_log_module    /home/int16h/APACHE/libexec/mod_log_config.so
    LoadModule mime_module          /home/int16h/APACHE/libexec/mod_mime.so
    LoadModule dir_module           /home/int16h/APACHE/libexec/mod_dir.so
    # LoadModule rewrite_module
    LoadModule access_module        /home/int16h/APACHE/libexec/mod_access.so
    Wenn die Fehler beseitigt worden sind, solltet ihr nun 'http://mydinah.net:8080 (oder wie ihr den Host eben genannt habt) öffnen und euch mit folgenden Daten einloggen können:
    Username: dinah
    Password: dinah
    Ich hoffe dieser Schritt-für-Schritt-Anleitung war einfach zu folgen und jeder hat nun Dinah erfolgreich bei sich installiert. Vielleicht werde ich noch einen weiteren Text zu Dinah schreiben, der sich mehr mit dem Quelltext befassen wird.

    Geschrieben von int16h. Eingereicht am 21. November 2007.
    Übersetzt von kasi am 17. Januar 2008.

    This article was originally published by CyberArmy.net in the CyberArmy Library.



     


CyberArmy::Forum v0.6
Generated In 0.00564 seconds


About Us | Privacy Policy | Mission Statement | Help