Ergebnis 1 bis 19 von 19

Thema: lighttpd, mysql und php auf der NSLU2 mit Debian

  1. #1
    Colonel Avatar von Gargi
    Registriert seit
    20.01.2006
    Beiträge
    11.618

    Standard lighttpd, mysql und php auf der NSLU2 mit Debian

    Voraussetzungen für dieses Tutorial
    1.) Installiertes Debian auf der NSLU2. Ein Tutorial findet Ihr hier: Tutorial: Debian auf der NSLU2 - GARGI.ORG
    2.) Installierter FTP Server. Ein Tutorial findet Ihr hier: Proftp auf Debian installieren - GARGI.ORG

    Der lighttpd Webserver ist relativ schnell installiert. Zunächst sollte ein FTP Server installiert sein, damit man später seine Dateien für die Homepage hochladen kann. Dafür eignet sich beispielsweise der Proftp (Tutorial). Danach legen wir zunächst einen neuen User an, der nur für den Webbereich zuständig sein soll. Als User gebt dazu folgenden Befehl ein:

    Code:
    adduser webserver
    In dem Homeverzeichnis legen wir dann ein Dokumentenroot an, in der dann unsere Files landen. Dazu wechselt in das neue Homeverzeichnis:

    Code:
    cd /home/webserver
    Jetzt nehmen wir die Identität des neuen Users an:

    Code:
    su webserver
    und legen das Dokumentenroot an:

    Code:
    mkdir html
    Danach melden wir uns wieder als User webserver ab:

    Code:
    exit

    LIGHTTPD INSTALLIEREN

    Zunächst installieren wir den Lighttpd Webserver. Dazu setzt als Root einfach den Befehl

    Code:
    apt-get install lighttpd
    ab. Nachdem das Teil installiert ist sollte dieser auch schon eine Webpage von sich geben. Ruft dazu im Browser einfach die IP Eurer NSLU2 auf. Ihr erhaltet dann folgendes Bild:



    Die angezeigte Seite liegt unter /var/www/. Wir möchten das Dokumentenroot natürlich erstmal nach /home/webserver/html/ verlegen. Dazu editieren wir die lighttpd Konfigurationsdatei:

    Code:
    nano /etc/lighttpd/lighttpd.conf
    Hier ändern wir den Bereich

    Code:
    ## a static document-root, for virtual-hosting take look at the
    ## server.virtual-* options
    server.document-root       = "/var/www"
    auf

    Code:
    ## a static document-root, for virtual-hosting take look at the
    ## server.virtual-* options
    server.document-root       = "/home/webserver/html"
    ab. Danach verschieben wir die Platzhalterdatei zum Test in unser neues Dokumentenverzeichnis:

    Code:
    mv /var/www/index.lighttpd.html /home/webserver/html/index.lighttpd.html
    Der Benutzer wird noch schnell abgeändert:

    Code:
    chown webserver:webserver /home/webserver/html/index.lighttpd.html
    Jetzt starten wir den Webserver neu:

    Code:
    /etc/init.d/lighttpd restart
    Danach testen wir im Browser, ob der Server nach wie vor die Platzhalterseite liefert.


    MYSQL UND PHP FASTCGI INSTALLIEREN

    Damit natürlich auch ein CMS oder ein Blog funktioniert, benötigen wir noch die mysql Datenbank und die php Erweiterung. Dabei verwenden wir gleich die fastcgi Version.

    Zunächst kümmern wir uns um das mysql. Hierzu folgendes als root ausführen:

    Code:
    apt-get install mysql-server mysql-client
    Setzt dann erstmal ein Passwort für mysql:

    Code:
    mysqladmin -u root password DEIN_GEHEIMES_PASSWORT
    Mit einem

    Code:
    mysqladmin -p create tabelle01
    legt Ihr beispielsweise dann eine erste Datenbank namens tabelle01 an. Ihr könnt diese mit einem

    Code:
    mysqladmin -p drop tabelle01
    wieder entfernen/löschen. Wenn Ihr das seht, dann ist die Tabele auch wieder entfernt:

    Code:
    Dropping the database is potentially a very bad thing to do.
    Any data stored in the database will be destroyed.
    
    Do you really want to drop the 'tabelle01' database [y/N] y
    Database "tabelle01" dropped
    Nun installieren wir php über ein

    Code:
    apt-get install php5-cgi
    zudem

    Code:
    apt-get install php5-mysql
    An das Ende der php.ini sellen wir über ein

    Code:
    nano /etc/php5/cgi/php.ini
    noch folgende Zeile:

    Code:
    cgi.fix_pathinfo = 1
    Dann muss noch die lighttpd.conf editiert werden:

    Code:
    nano /etc/lighttpd/lighttpd.conf
    Im Bereich


    Code:
    server.modules              = (
                "mod_access",
                "mod_alias",
                "mod_accesslog",
                "mod_compress",
    #           "mod_rewrite",
    #           "mod_redirect",
    fügen wir die Zeile

    Code:
    "mod_fastcgi",
    mit ein. Das Ergebnis:


    Code:
    server.modules              = (
                "mod_access",
                "mod_alias",
                "mod_accesslog",
                "mod_fastcgi",
                "mod_compress",
    #           "mod_rewrite",
    #           "mod_redirect",
    Ganz zum Schluss der Datei dann noch folgender Block eingefügt:

    Code:
    fastcgi.server = ( ".php" => ((
                         "bin-path" => "/usr/bin/php5-cgi",
                         "socket" => "/tmp/php.socket"
                     )))
    Startet nun den Server neu:

    Code:
    /etc/init.d/lighttpd restart
    Checkt nun, ob alles sauber läuft. Dazu legen wir in unser Dokumentenroot eine Datei mit folgenden Inhalt

    phpinfo.php
    Code:
    <?php
    phpinfo();
    ?>
    Erstellt die Datei einfach extern in einen Editor und ladet diese in Euer Dokumentenroot des Servers. Wenn Ihr diese nun im Browser aufruft, solltet Ihr eine entsprechende Anzeige bekommen:

    http://EURE_IP_NUMMER/phpinfo.php




    EACCELERATOR INSTALLIEREN

    Um nun den Aufruf etwas zu beschleunigen installieren wir noch ein Cachesystem, den eAccelerator. Dieser muss allerdings von Grund auf neu kompiliert werden. Installiert deswegen zuerst folgende Komponenten, die Ihr für den Compile benötigt:

    Code:
    apt-get install bzip2 build-essential php5-dev
    Jetzt legen wir unter dem Hauptverzeichnis ein Arbeitsverzeichnis an:

    Code:
    mkdir work
    wir wechseln dahin:

    Code:
    cd work
    Danach holen wir uns die aktuelle Version (Bitte auf der eaccelerator Projektseite nach der aktuellen Versionsnummer schauen):

    Code:
    wget http://bart.eaccelerator.net/source/0.9.5.3/eaccelerator-0.9.5.3.tar.bz2
    Danach wird ausgepackt:

    Code:
    tar xvfj eaccelerator-0.9.5.3.tar.bz2
    Und in das korrekte Verzeichnis gewechselt:

    Code:
    cd eaccelerator-0.9.5.3
    Danach bereiten wir den Compile vor:

    Code:
    phpize
    
    ./configure --with-eaccelerator-userid=nobody
    Kompilieren:

    Code:
    make
    Installieren:

    Code:
    make install
    Wir müssen nun die eaccelerator.ini anlegen:

    Code:
    touch /etc/php5/conf.d/eaccelerator.ini
    Füllt diese Datei mit Eurem präferierten Editor mit folgendem Inhalt:
    Code:
    extension="eaccelerator.so"
    eaccelerator.shm_size="16"
    eaccelerator.cache_dir="/var/cache/eaccelerator"
    eaccelerator.enable="1"
    eaccelerator.optimizer="1"
    eaccelerator.check_mtime="1"
    eaccelerator.d****="0"
    eaccelerator.filter=""
    eaccelerator.shm_max="0"
    eaccelerator.shm_ttl="0"
    eaccelerator.shm_prune_period="0"
    eaccelerator.shm_only="0"
    eaccelerator.compress="1"
    eaccelerator.compress_level="9"
    Danach müssen wir noch das Verzeichnis anlegen, in dem gecacht werden soll. Dieses ist in der eaccelerator.ini vorgegeben:

    Code:
    mkdir -p /var/cache/eaccelerator
    Danach müssen noch die Zugriffsrechte neu geregelt werden:

    Code:
    chmod 0777 /var/cache/eaccelerator
    Startet den Lighttpd nun neu:

    Code:
    /etc/init.d/lighttpd restart
    Damit wir testen können, ob der eaccelerator und alle anderen sonstigen Dienste laufen, schauen wir uns nochmal die phpinfo.php an. Wenn der eaccelerator läuft seht Ihr folgenden Abschnitt:



    Damit wäre der Webserver soweit eingerichtet.

    Viel Spaß!
    Euer
    Gargi

    Zur größten Filmcommunity Deutschlands: http://forum.cinefacts.de
    moderates Novell / Suse : http://forums.opensuse.org/
    --Gargi @ Facebook ...follow me--

  2. #2
    Private
    Registriert seit
    07.01.2009
    Beiträge
    10

    Standard

    Hallo,

    ich habe jetzt alles mit den Installationsanleitungen so gemacht, bis auf ein paar änderungen ich brauche nur den lighty und php5.

    Habe quasi adduser ... übersprungen.

    Lighty installiert ok!
    mysql + fastcgi php auch installiert, config umgeschrieben und server neugestartet.

    Ich kann leider keine php dateien öffnen, lighty gibt mir immer was zum"downloaden"

    Weiß einer weiter ich bin echt am verzweifeln.

  3. #3
    Major General Avatar von BigWhoop
    Registriert seit
    14.10.2006
    Ort
    Bielefeld
    Beiträge
    23.515

    Standard

    dann ist der php interpreter nicht richtig aktiviert oder installiert. danach musst du mal schauen.
    2.00000000 + 2.000000000 = 3.999998456


  4. #4
    Private
    Registriert seit
    07.01.2009
    Beiträge
    10

    Standard

    Hallo,

    danke für die Antwort, kann das daran liegen das Apache2 zuvor installiert war?
    Hast du den Befehl zur Hand wie ich das ganze aktiviere?

    Danke schonmal.

  5. #5
    Major General Avatar von BigWhoop
    Registriert seit
    14.10.2006
    Ort
    Bielefeld
    Beiträge
    23.515

    Standard

    natürlich kann das sein. Dieser mistkerl ist nicht so einfach zu entfernen Recht wiederspenstig. Allerdings kann ich dir hier nicht alle schritte aufschreiben wie sowas gehen würde. sry
    2.00000000 + 2.000000000 = 3.999998456


  6. #6
    Private
    Registriert seit
    07.01.2009
    Beiträge
    10

    Standard

    Hab ich auch schon gemerkt, Apache ist einfach zu langsam für das Projekt.

    Gut, ich bemüh mich jetzt mit Google wie ich den ganzen mist lösch und dann reporte ich hier was nun sache ist.

    Danke

  7. #7
    Private
    Registriert seit
    07.01.2009
    Beiträge
    10

    Standard

    Huhu,

    danke für die bisherige Hilfe!

    hab jetzt PHP zum laufen gebracht, allerdings nur die version 4! bei 5 lässt sich da garnix starten.

    Code:
    root:~# PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/curl.so' - /usr/lib/php5/20060613/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/gd.so' - /usr/lib/php5/20060613/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/curl.so' - /usr/lib/php5/20060613/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/gd.so' - /usr/lib/php5/20060613/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0
    ist egal wie die config aussieht! Hab das zum test auf 5 geändert:
    Code:
    fastcgi.server    = ( ".php" => 
    	((
    		"bin-path" => "/usr/bin/php4-cgi",
    		"socket" => "/tmp/php.socket",
    		"max-procs" => 2,
    		"idle-timeout" => 20,
    		"bin-environment" => ( 
    			"PHP_FCGI_CHILDREN" => "4",
    			"PHP_FCGI_MAX_REQUESTS" => "10000"
    		),
    		"bin-copy-environment" => (
    			"PATH", "SHELL", "USER"
    		),
    		"broken-scriptfilename" => "enable"
    	))
    )
    und bei dem aus dem Tutorial geht auch nix, dann kommt:

    Code:
    root:~# /etc/init.d/lighttpd restart
    Stopping web server: lighttpd.
    Starting web server: lighttpd.
    root:~# /etc/init.d/lighttpd restart
    Stopping web server: lighttpd.
    Starting web server: lighttpdPHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/curl.so' - /usr/lib/php5/20060613/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/gd.so' - /usr/lib/php5/20060613/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0
    .
    root:~# PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/curl.so' - /usr/lib/php5/20060613/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/gd.so' - /usr/lib/php5/20060613/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/curl.so' - /usr/lib/php5/20060613/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/gd.so' - /usr/lib/php5/20060613/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/curl.so' - /usr/lib/php5/20060613/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613/gd.so' - /usr/lib/php5/20060613/gd.so: cannot open shared object file: No such file or directory in Unknown on line 0

  8. #8
    Major General Avatar von BigWhoop
    Registriert seit
    14.10.2006
    Ort
    Bielefeld
    Beiträge
    23.515

    Standard

    Naja wenn php5 nicht geht wird das wohl auch nichts
    er sucht ja php5 bibiliotheken.
    2.00000000 + 2.000000000 = 3.999998456


  9. #9
    Private
    Registriert seit
    07.01.2009
    Beiträge
    10

    Standard

    Code:
    root:/usr/lib/php5/20060613# ls -l
    total 936
    -rwxr-xr-x 1 root root 637095 Jan  8 22:19 eaccelerator.so
    -rw-r--r-- 1 root root  54040 Sep 30 21:38 mysql.so
    -rw-r--r-- 1 root root 119320 Sep 30 21:38 mysqli.so
    -rw-r--r-- 1 root root  93976 Sep 30 21:38 pdo.so
    -rw-r--r-- 1 root root  28544 Sep 30 21:38 pdo_mysql.so
    das ist in dem verzeichnis, scheinbar hat der die curl.so und gd.so nicht angelegt.

    Wie kann ich dem nachhelfen?

    So, nun hab ich die fehlenden Pakete installiert jetzt kommt:

    root:/usr/lib/php5/20060613# PHP Warning: [eAccelerator] Can not create shared memory area in Unknown on line 0
    PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0
    2009-01-08 23:16:26: (mod_fastcgi.c.1022) the fastcgi-backend /usr/bin/php5-cgi failed to start:
    2009-01-08 23:16:26: (mod_fastcgi.c.1026) child exited with status 254 /usr/bin/php5-cgi
    2009-01-08 23:16:26: (mod_fastcgi.c.1029) if you try do run PHP as FastCGI backend make sure you use the FastCGI enabled version.
    You can find out if it is the right one by executing 'php -v' and it should display '(cgi-fcgi)' in the output, NOT (cgi) NOR (cli)
    For more information check http://www.lighttpd.net/documentatio...astcgi-program
    2009-01-08 23:16:26: (mod_fastcgi.c.1034) If this is PHP on Gentoo add fastcgi to the USE flags
    2009-01-08 23:16:26: (mod_fastcgi.c.1330) [ERROR]: spawning fcgi failed.
    2009-01-08 23:16:26: (server.c.862) Configuration of plugins failed. Going down.
    Geändert von Armin-18 (08.01.2009 um 21:22 Uhr)

  10. #10
    Major General Avatar von BigWhoop
    Registriert seit
    14.10.2006
    Ort
    Bielefeld
    Beiträge
    23.515

    Standard

    Boar das ist ja der reinste flickenteppich Vielleicht solltest du nochmal von vorne beginnen und ruhig alle schritte wie hier angegeben der reihe nach durchgehen. Installiere ruhig alles..nachträglich abschalten ist einfacher als jetzt die zugehörigkeiten zu flicken.
    2.00000000 + 2.000000000 = 3.999998456


  11. #11
    Private
    Registriert seit
    07.01.2009
    Beiträge
    10

    Standard

    Alles klar, bin dabei.

    Ich meld mich dann wieder.

    Edit!

    Meine güte es funktioniert!!!

    Jetzt wollte ich eins oben drauf setzten und eAcceleartor installierien.

    Bei dem Befehl:

    phpize

    ./configure --with-eaccelerator-userid=nobody

    bekomme ich

    root:/home/webserver/work/eaccelerator-0.9.5.3# ./configure --with-eaccelerator-userid=nobody
    checking for grep that handles long lines and -e... /bin/grep
    checking for egrep... /bin/grep -E
    checking for a sed that does not truncate output... /bin/sed
    checking for gcc... gcc
    checking for C compiler default output file name... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables...
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking whether gcc and cc understand -c and -o together... yes
    checking if compiler supports -R... no
    checking if compiler supports -Wl,-rpath,... yes
    checking build system type... x86_64-unknown-linux-gnu
    checking host system type... x86_64-unknown-linux-gnu
    checking target system type... x86_64-unknown-linux-gnu
    ./configure: line 3580: php-config: command not found
    ./configure: line 3581: php-config: command not found

    configure: error: Cannot find php-config. Please use --with-php-config=PATH
    zurück. unter Gentoo? Heißt das paket yum php-devel aber bei debian gibt's das nicht.

    Edit2: ich google schon die ganze Zeit find aber nix brauchbares oder ich bin einfach zu blind.
    Geändert von Armin-18 (08.01.2009 um 22:17 Uhr)

  12. #12
    Major General Avatar von BigWhoop
    Registriert seit
    14.10.2006
    Ort
    Bielefeld
    Beiträge
    23.515

    Standard

    also php5-dev ist drauf? dann noch php-devel ohne yum
    2.00000000 + 2.000000000 = 3.999998456


  13. #13
    Private
    Registriert seit
    07.01.2009
    Beiträge
    10

    Standard

    apt-get install php-devel
    Reading package lists... Done
    Building dependency tree... Done
    E: Couldn't find package php-devel
    aber php5-dev ist drauf.

  14. #14
    Major General Avatar von BigWhoop
    Registriert seit
    14.10.2006
    Ort
    Bielefeld
    Beiträge
    23.515

    Standard

    ähm php5-devel

    du kannst sowas suchen mit apt-cache search php5
    2.00000000 + 2.000000000 = 3.999998456


  15. #15
    Private
    Registriert seit
    07.01.2009
    Beiträge
    10

    Standard

    Gesagt getan! Der findet phpize nicht das im php5-dev Paket enthalten ist und was auch installiert ist.

    Habs mit purge gelöscht und neuinstalliert - gleicher Effekt.

  16. #16
    Major General Avatar von BigWhoop
    Registriert seit
    14.10.2006
    Ort
    Bielefeld
    Beiträge
    23.515

    Standard

    dann gib den pfad mit an. mehr dazu solltest du in der doku finden.
    2.00000000 + 2.000000000 = 3.999998456


  17. #17
    Private
    Registriert seit
    07.01.2009
    Beiträge
    10

    Standard

    Edit!

    Geschafft! ein Blick ins /usr/bin/ brachte mir die erleuchtung! Das gesuchte Script hieß nicht php-config sondern php-config5.

    Danke das es dieses Forum gibt, nächstes mal bestelle ich bei Mindfactory.
    Geändert von Armin-18 (09.01.2009 um 22:37 Uhr)

  18. #18
    Major General Avatar von BigWhoop
    Registriert seit
    14.10.2006
    Ort
    Bielefeld
    Beiträge
    23.515

    Standard

    invalid wegen den parametern oder not found?
    2.00000000 + 2.000000000 = 3.999998456


  19. #19
    Private
    Registriert seit
    07.01.2009
    Beiträge
    10

    Standard

    Geschafft! :o) Dankeschön!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Was tun, falls MySQL Passwort auf der NSLU2 vergessen wurde?
    Von Gargi im Forum Modem / Netzwerke allgemein
    Antworten: 0
    Letzter Beitrag: 03.11.2008, 06:18
  2. BitTorrent auf NSLU2 mit Debian
    Von Gargi im Forum Modem / Netzwerke allgemein
    Antworten: 0
    Letzter Beitrag: 06.09.2008, 15:20
  3. IMAP Server auf der NSLU2 mit Dovecot und getmail
    Von Gargi im Forum Modem / Netzwerke allgemein
    Antworten: 1
    Letzter Beitrag: 10.08.2008, 22:22
  4. Tutorial: Debian auf der NSLU2
    Von Gargi im Forum Modem / Netzwerke allgemein
    Antworten: 2
    Letzter Beitrag: 28.07.2008, 21:56
  5. Apache, MySL und PHP (LAMP) auf Debian aufsetzen
    Von Gargi im Forum Serveradministration
    Antworten: 0
    Letzter Beitrag: 03.05.2008, 15:26

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Search Engine Optimization by vBSEO 3.6.0