⚡ Neueste Beiträge

So gehts: Der eigene Webserver mit PHP und Apache

05.09.2004, 14:29 #21 (Permalink)
Atomic
Administrator 10 Jahre hx3
5000 Beiträge
Avatar von Atomic
Registriert seit: 21.02.2003
Ort: Köln
Alter: 41
Beiträge: 5.164
Ja, hiermit:

http://foren.hx3.de/index.php?showtopic=23...indpost&p=24946

Ein Teil davon ist Standart-Zeugs ein anderer ist Käse und den Rest wirst du oft benötigen. :p

Sobald du das hast kommt PHP dran.
__________________
https://savetheinternet.info/
05.09.2004, 14:58 #22 (Permalink)
Kompost
5000 Beiträge
Registriert seit: 25.10.2003
Beiträge: 8.502
OK, dankeschön :)
Ich hab mir das ganze jetzt durchgelesen und die ein oder andere Sache hab ich auch verändert (z.B. Error404 und die e-mail Adresse des Admins :zahn:) aber so wirklich viel war das ja auch nicht. Was kommt denn als nächstes?
__________________
:hammer:
05.09.2004, 16:07 #23 (Permalink)
Atomic
Administrator 10 Jahre hx3
5000 Beiträge
Avatar von Atomic
Registriert seit: 21.02.2003
Ort: Köln
Alter: 41
Beiträge: 5.164
Nunja recht komplex wird es erst wenn du mit den VirtualHosts arbeitest.
-> Pro Domain ein "Virtueller Webspace" auf gut Deutsch
Aber das ist ja total egal.

Also kommen wir zu der Sprache die durch eine saubere Schreibweise, sinnvolle Sprach-Features, logische Fehlermeldungen und die mit Sicherheit qualitivste Dokumentation besitzt.

Nämlich PHP, das 1998 unter der Bezeichnung "Personal Home Page" das Licht der Welt erblickte und heute Hypertext Preprozessor heist.

Die Geschichte von PHP (Englisch):
http://www.devshed.com/c/a/PHP/An-Introduction-to-PHP/

Der wichtigste Website, welche auch zu den wenigen Webseiten gehört die Google PageRank 10 erreicht haben (Heute nur noch 9 von 10):

http://php.net

Und davon laden wir uns folgende Datei herunter:

http://www.php.net/get/php-5.0.1-Win32.zip/from/a/mirror

Kleine Nachfrage noch:
Hast du auch alle Dateien die ich in meinem vorvorigen Post aufgelistet habe gelöscht? Wenn nein, dann mach das bitte noch, sonst bekommen wir mit der php.ini Probleme.

Die php-5.0.1-Win32.zip entpackst du vorzugsweise nach:
D:/php
(Also die Zip irgendwo entpacken, den neuen Ordner "php-5.0.1" nach D:/ verschieben und den Ordner in "php" umbenennen.)

So und jetzt müssen wir dem Apache beibringen das er Dateien mit der Endung *.php durch PHP "parsen" lässt.

Dazu öffnen wir wieder die httpd.conf und schreiben folgendes hinein:
Code:
ScriptAlias /php5/ "d:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php5/php-cgi.exe"

Bitte nicht durch das "php5" verwirren lassen, das dein PHP jetzt im Ordner "D:/php" liegt stimmt schon.
Also einfach nur kopieren.

Als nächstes den Apache nochmal neu starten.

Dann testen wir auch gleich mal PHP:

Erstell eine *.txt Datei mit Notepad.
Schreib folgendes hinein:
Code:
<?php
echo phpinfo();
?>


Danach bennenst du die Datei in "test.php" um.

ACHTUNG:

Die bekannten Dateiendungen werden vom Windows Betriebsystem Standart-mäsig nicht angezeigt.
Demnach kannst du die Datei zwar umbenennen, aber in wirklichkeit macht Windows dann "test.php.txt" daraus.

Falls das bei dir so ist dann gehst du auf:
Start->Systemsteuerung->Ordneroptionen
Registerkarte "Ansicht"
Und entfernst das Häckchen bei "Erweiterungen bei bekannten Dateitypen ausblenden".

Mal kurz nachprüfen schadet nicht :cool:

So nachdem wir nun die test.php erfolgreich umbenannt haben verschieben wir die Datei in den "htdocs"-Ordner unseres Apache2.

http://localhost/test.php

Eine Seite mit all den Informationen über das installierte PHP sollte erscheinen.

Herzlichen Glückwunsch.

Als nächstes probieren wir PHP ein klein wenig aus
und werfen einen kleinen Blick in die php.ini
__________________
https://savetheinternet.info/
05.09.2004, 19:04 #24 (Permalink)
Kompost
5000 Beiträge
Registriert seit: 25.10.2003
Beiträge: 8.502
Zitat:
Originally posted by AtomicHX3@Sep 4 2004, 03:33 PM
Zu löschende Ordner:

C:\phptriad
C:\apache
D:\mysql
C:\winnt\php
D:\Apache Group\apache

Zu löschende Dateien:

C:\Dokumente und Einstellungen\kompost\recent\httpd.conf
C:\Dokumente und Einstellungen\kompost\recent\httpd.conf

Danach: Start->Zubehör->Systemprogramme->Dateträgerbereinigung
Neustart

D:\Apache Group\Apache2\bin\apache.exe starten
Wenn ich das lösche ist doch mein Apache weg :confused:

*edit*

Oh sorry, ich hab nur Apache2 - aber wenn das weg is, is der Apache weg.


*edit die zweite*


Ok, hab was rumprobiert und die PHP info Seite funktioniert.
Bisher hat alles sogar spaß gemacht. Sogar wenn ich merke das http://localhost nicht gefunden wird weil der Apache aus ist freu ich mich schon weil ich merke das es funktioniert :D


Wie geht es denn weiter wenn php jetzt funktioniert?
__________________
:hammer:
05.09.2004, 20:42 #25 (Permalink)
Atomic
Administrator 10 Jahre hx3
5000 Beiträge
Avatar von Atomic
Registriert seit: 21.02.2003
Ort: Köln
Alter: 41
Beiträge: 5.164
Ok dann kauen wir mal schnell das Thema PHP durch:
  • Wir werden in der PHP.ini den MySQL Support aktivieren
  • Die offizielle Dokumentations-Website besuchen
  • In php hineinschnuppern über ein Tutorial
  • Uns eine gescheitte Software besorgen
  • Grob lernen wie PHP arbeitet
===

Ganz ganz wichtig(!!) die offizielle Doku:
http://php.net/manual/de/ (Deutsch)

===

Hier die Einführung in PHP 5 für absolute Neulinge in die Welt der Programmierung - es werden keinerlei Vorkenntnisse benötigt:
http://www.zend.com/php5/abs/index.php (Englisch)

Aber es muss nicht immer Englisch sein:
http://tut.php-q.net/ (Deutsch)
(Leider ohne PHP 5 Wissen)

===

So und nun ein klein wenig Hintergrundwissen zu PHP:

PHP ist in der Hochsprache(wie man so schön sagt) "C" geschrieben.
Wenn du im Browser eine PHP Seite aufrufst, dann schickt der Apache dir die Seite nicht soffort zu sondern sendet sie zuerst an PHP.
PHP liest den Quellcode ein und baut daraus einen sog. Token auf.
Das ist ein Stapel aus Bytecode-Zeilen.
Zuguterletzt wird dieser Token einfach abgearbeitet.
Als Resultat entsteht der Seitenquelltext.
Dieser wird wiederum an den Apache zurückgegeben und der Apache schickt ihn dir dann zu.
Der Browser zaubert aus diesem Quelltext, wie du weist dann die (hoffentlich) gutaussehende Web-Seite.

PHP-Seiten sind nicht so schnell wie *.exe-Anwendungen.
Aber mit PHP lässt es sich viel besser arbeiten als mit C.

===

Um mit PHP Seiten effizient Arbeiten zu können solltest du dir einen guten Editor zulegen der denn PHP-Code so farblich hervorhebt das man Fehler soffort erkennt.
Unter Windows gibt es kostenlos (für nicht-kommerzielle Zwecke) nur einen Editor der bereits PHP 5 unterstützt:
http://www.phpedit.net/

(Zum Beginn hast du eine 30-Tage Trail - über ein Web-Formular kannst du dir innerhalb von 2 Tagen(solange hat es zumindest bei mir gedauert) eine Personal Lizens kostenlos erwerben.)

===

Zuguterletzt kommen wir zur PHP.ini
Das ist für PHP sowas wie die httpd.conf für den Apache.
Nur mit dem Unterschied das es keine Tags gibt und man anstatt "#", ";"-schreiben muss um aus dem rest der Zeile ein Kommentar zu machen.
Wichtig sind hier die sog. "Extensions".
Die kannst du mit den "Modulen" des Apache vergleichen.
Diese Extensions kannst du ebenfalls aktivieren und deaktivieren (genau wie beim Apache)
Und du brauchst die Extensions für Funktionalität die nicht standartmäßig zu PHP gehört.
Seit PHP 5 gehört übrigends MySQL Support nicht mehr zum PHP Standart Funktionalität.

Deshalb scroll nach unten bis irgendwo ";extension=php_mysql.dll" steht und entferne dort das ";".
Scroll etwas weiter nach oben und stell sicher das bei "extension_dir" folgendes steht: "extension_dir = "./ext/". Und ebenfalls sollte da kein ";" vor der Zeile stehen.

===

So und als nächstes installieren wir MySQL
__________________
https://savetheinternet.info/
05.09.2004, 20:55 #26 (Permalink)
Kompost
5000 Beiträge
Registriert seit: 25.10.2003
Beiträge: 8.502
Ich finde die PHP.ini nicht ._.
__________________
:hammer:
05.09.2004, 21:01 #27 (Permalink)
Atomic
Administrator 10 Jahre hx3
5000 Beiträge
Avatar von Atomic
Registriert seit: 21.02.2003
Ort: Köln
Alter: 41
Beiträge: 5.164
Zitat:
Originally posted by Kompost@Sep 5 2004, 07:55 PM
Ich finde die PHP.ini nicht ._.
Zuerst gibt es nur eine PHP.ini.dist und eine PHP.ini.Recomended (oder so ähnlich).
Nimm die dist und bennene sie in PHP.ini um.
__________________
https://savetheinternet.info/
05.09.2004, 21:04 #28 (Permalink)
Kompost
5000 Beiträge
Registriert seit: 25.10.2003
Beiträge: 8.502
:confused: Ich hab immernoch nichts gefunden. In welchem Ordner befinden sich denn die beiden Dateien?

*edit*

Sry, habs gefunden - weiter geht's !
__________________
:hammer:
05.09.2004, 21:21 #29 (Permalink)
Kompost
5000 Beiträge
Registriert seit: 25.10.2003
Beiträge: 8.502
Also das mit extension_dir steht da zweimal:

extension_dir = "./"
; extension_dir directive above.

Welches soll ich jetzt wie ersetzen?

*edit*

Wenn ich jetzt test.php aufrufe kommt übrigens eine Fehlermeldung das irgendein MySQL Modul nicht gefunden wird :) Heißt also schonmal das das andere geklappt hat, oder?
__________________
:hammer:
05.09.2004, 21:32 #30 (Permalink)
Atomic
Administrator 10 Jahre hx3
5000 Beiträge
Avatar von Atomic
Registriert seit: 21.02.2003
Ort: Köln
Alter: 41
Beiträge: 5.164
Zitat:
extension_dir = "./"
; extension_dir directive above.
Zeile 2 ist ein Kommentar - das erkennst du an dem ";" am Anfang der Zeile
Zeile 1 ist der Befehl der Schlussendlich von PHP verarbeitet wird
"./" bedeutet "im jetzigen Verzeichniss" - also im gleichen Verzeichniss von php_cgi.exe
Das stimmt jedoch nicht
Deine Extensions liegen im "ext"-Unterordner von D:/php
Deshalb muss da stehen:
Code:
extension_dir = "./ext/"

Alles klar?
__________________
https://savetheinternet.info/
05.09.2004, 21:38 #31 (Permalink)
Kompost
5000 Beiträge
Registriert seit: 25.10.2003
Beiträge: 8.502
Klar alles klar - schließlich erklärst du alles ja ziemlich gut ;)
Von mir aus kann es weiter gehen :)

*edit*

Fehlermeldung bei test.php is jetzt auch wieder weg.
__________________
:hammer:
05.09.2004, 22:12 #32 (Permalink)
Atomic
Administrator 10 Jahre hx3
5000 Beiträge
Avatar von Atomic
Registriert seit: 21.02.2003
Ort: Köln
Alter: 41
Beiträge: 5.164
Ich glaub daraus basteln wir noch eine richtige Anleitung und veröffentlichen sie mit News.

Also als nächstes kommt MySQL

MySQL hat etwas mit dem Apache gemeinsam: Beides sind sog. "Server".
Und Server beantworten Anfragen, stimmts?

Und genau deshalb müssen wir auch nicht PHP beibringen wie es MySQL findet. Immer wenn wir von PHP aus mit MySQL arbeiten machen wir nämlich das gleiche wie der Browser mit dem Apache Webserver: Wir senden eine Anfrage inklusive Domain, Username und Passwort.

Und es gibt noch eine gemeinsammkeit: Für beide Server gibt es einen selbst-laufenden MSI-Installer.
Für PHP zwar auch, aber bei PHP macht der Installer es nur unnötig umständlich - deshalb haben wir auch die Zip-Datei genommen. (Nur so als Info am Rande)

Den MySQL Datenbankserver bekommen wir von der Deutschen offiziellen Webseite zu MySQL: http://mysql.de
Auf der Seite findet man genau wie auf http://php.net eine größtenteils deutsche Dokumentation.

MySQL gibt es bereits als Alpha in Version 5 und als Final in Version 4.
Wir entscheiden uns weder für das eine, noch das andere und picken die Gamma 4.1 Version :p

Hier ein paar Mirror (es ist immer die selbe Datei):
http://dev.mysql.com/get/Downloads/MySQL-4...e.de/pub/mysql/
http://dev.mysql.com/get/Downloads/MySQL-4...pub/misc/mysql/
http://dev.mysql.com/get/Downloads/MySQL-4...database/mysql/
http://dev.mysql.com/get/Downloads/MySQL-4....org/mysql.com/
http://dev.mysql.com/get/Downloads/MySQL-4.../www.mysql.com/

Einfach den Installer laufen lassen und fertig.

Und da wir unser MySQL nur lokal benutzen wollen und ohne groß daran herumzuschrauben haben wir noch einen Vorteil:
Wir brauchen weder Passwort noch Benutzername anzugeben wenn wir mit ihr arbeiten.

===

Als nächstes brauchen wir eine Software um die Datenbank administrieren zu können.
phpMyAdmin hat sich im Webdevelopment-Bereich sehr stark durchgesetzt:
http://www.phpmyadmin.net/home_page/
Schnapp dir einfach die neuste Version auch wenn es keine Final ist.
Entpacke sie ins htdocs-Verzeichniss
Bennene den neu erstellten Ordner ggf. in "phpMyAdmin" um, damit du es einfacher hast wenn du das Tool aufrufen willst.
Ja, richtig.. phpMyAdmin läuft im Browser ab - und genau deshalb eignet es sich auch sehr gut um im Webserver im Internet genutzt zu werden.
Auch HX3 hat phpMyAdmin auf dem Webserver:
http://hx3.de/phpmyadmin/index.php
(Benutzername und Passwort verrate ich an dieser Stelle natürlich nicht :angel: )
Auch dein phpMyAdmin erreichst du auf diese Weise:
http://localhost/phpMyAdmin/index.php

Ich bin mir jetzt nicht ganz sicher ob phpMyAdmin soffort MySQL findet (aber ich geh davon aus) - sollte phpMyAdmin nicht funktionieren so müssen wir die "config.inc.php" im "phpMyAdmin"-Ordner editieren.

===

Wenn du auch das hinbekommen hast, so installieren wir als nächstes eine PHP-MySQL bassierende Foren-Software deiner Wahl.
Und damit hättest du dein Ziel erreicht.
__________________
https://savetheinternet.info/
05.09.2004, 22:30 #33 (Permalink)
Kompost
5000 Beiträge
Registriert seit: 25.10.2003
Beiträge: 8.502
Hm, die ganzen Downloads laufen immoment sehr langsam deshalb dauert es noch was bis alles da ist. Wenn du willst kannst du allerdings auch schon weiter erklären. Meinetwegen aber auch erst morgen da ich denke das ich gleich eh schlafen gehe.

Mir ist es eigentlich egal welche Forensoftware:
Invasion Power Board
Woltlab Burning Board
phpBB

Und nochmal vielen dank für die Hilfe egal ob du heute oder morgen weiter machst :cool:
__________________
:hammer:
05.09.2004, 23:13 #34 (Permalink)
Kompost
5000 Beiträge
Registriert seit: 25.10.2003
Beiträge: 8.502
Wenn du das ganze hier mal als Anleitung in HTMl Version haben willst würde ich dir das als Revange machen ;) Musst dich halt nur melden ;)

Wenn ich http://localhost/phpmyadmin/index.php öffne kommt folgende Fehlermeldung:

Warning: main(./libraries/grab_globals.lib.php) [function.main]: failed to open stream: No such file or directory in D:\Apache Group\Apache2\htdocs\phpmyadmin\index.php on line 9

Fatal error: main() [function.require]: Failed opening required './libraries/grab_globals.lib.php' (include_path='.;C:\php5\pear';) in D:\Apache Group\Apache2\htdocs\phpmyadmin\index.php on line 9
__________________
:hammer:
06.09.2004, 00:30 #35 (Permalink)
Atomic
Administrator 10 Jahre hx3
5000 Beiträge
Avatar von Atomic
Registriert seit: 21.02.2003
Ort: Köln
Alter: 41
Beiträge: 5.164
Jetzt ist schluss, ich bin müde.. keine Ahnung wann es weitergeht.
Morgen wird mit sicherheit wieder ein harter Arbeitstag.
Gute Nacht. :)
__________________
https://savetheinternet.info/
06.09.2004, 00:40 #36 (Permalink)
Kompost
5000 Beiträge
Registriert seit: 25.10.2003
Beiträge: 8.502
*g* Schade jetzt hab ich mich extra noch einmal hochgerappelt weil ich eh nicht schlafen konnte. Egal ich bin für jede Hilfe dankbar und versteh auch wenn du mal schlafen willst ;) Und wie gesagt ich kann das ganze auch ein bisschen umschreiben und dir als HTML Version liefern falls du haben willst ;)

Bis jetzt hat mir dieser kleine Workshop übrigens mehr Spaß als Arbeit gemacht :)

Gute Nacht und zum 100sten mal ein dickes Dankeschön
__________________
:hammer:
06.09.2004, 19:21 #37 (Permalink)
Atomic
Administrator 10 Jahre hx3
5000 Beiträge
Avatar von Atomic
Registriert seit: 21.02.2003
Ort: Köln
Alter: 41
Beiträge: 5.164
Zitat:
Originally posted by Kompost@Sep 5 2004, 10:13 PM
Wenn du das ganze hier mal als Anleitung in HTMl Version haben willst würde ich dir das als Revange machen ;) Musst dich halt nur melden ;)

Wenn ich http://localhost/phpmyadmin/index.php öffne kommt folgende Fehlermeldung:

Warning: main(./libraries/grab_globals.lib.php) [function.main]: failed to open stream: No such file or directory in D:\Apache Group\Apache2\htdocs\phpmyadmin\index.php on line 9

Fatal error: main() [function.require]: Failed opening required './libraries/grab_globals.lib.php' (include_path='.;C:\php5\pear';) in D:\Apache Group\Apache2\htdocs\phpmyadmin\index.php on line 9
Komischer Fehler.
Jetzt sag blos, dass der im pear Verzeichniss nach "./l(./libraries/grab_globals.lib.php" sucht.
Glaub ich aber nicht.

Mach folgendes:

1. Check nach das "phpmyadmin/libraries/grab_globals.lib.php" auch wirklich existiert.
2. Öffne die index.php mit PHPEdit und auf Zeile 9 (die Zeilennummern werden dir angezeigt) und ändere
Code:
required './libraries/grab_globals.lib.php' 
oder so ähnlich in folgenden Code um:
Code:
include("libraries/grab_globals-lib.php");
__________________
https://savetheinternet.info/
06.09.2004, 19:30 #38 (Permalink)
Kompost
5000 Beiträge
Registriert seit: 25.10.2003
Beiträge: 8.502
Ich habs so gemacht wie du es gesagt hast nur mit einem anderen Editor weil mir PHP Edit irgendwie nicht den Downloadlink per e-mail schickt obwohl ich es bestimmt schon 10 mal versucht hab. Egal - Haptsache es ist geändert ;)

Jetzt kommt folgende Fehlermeldung:

Warning: main(libraries/grab_globals-lib.php) [function.main]: failed to open stream: No such file or directory in D:\Apache Group\Apache2\htdocs\phpmyadmin\index.php on line 9

Warning: main() [function.include]: Failed opening 'libraries/grab_globals-lib.php' for inclusion (include_path='.;C:\php5\pear';) in D:\Apache Group\Apache2\htdocs\phpmyadmin\index.php on line 9

Warning: Cannot modify header information - headers already sent by (output started at D:\Apache Group\Apache2\htdocs\phpmyadmin\index.php:9) in D:\Apache Group\Apache2\htdocs\phpmyadmin\libraries\auth\config.auth.lib.php on line 92



Welcome to phpMyAdmin 2.5.6


phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. You should check the host, username and password in config.inc.php and make sure that they correspond to the information given by the administrator of the MySQL server.

Error

MySQL said:

#2003 - Can't connect to MySQL server on 'localhost' (10061)

[Documentation]
__________________
:hammer:
06.09.2004, 19:42 #39 (Permalink)
Atomic
Administrator 10 Jahre hx3
5000 Beiträge
Avatar von Atomic
Registriert seit: 21.02.2003
Ort: Köln
Alter: 41
Beiträge: 5.164
Ja existiert die libraries/grab_globals-lib.php nun oder existiert sie nicht?

===

Öffne mal deine PHP.ini und ändere:

Code:
output_buffering = Off


zu:

Code:
output_buffering = On


um.


=====

Und noch was:

Starte deinen MySQL-Server

Dazu benutzt du die Anwendung "winmysqladmin.exe".
Du findest sie im "bin"-Unterordner deiner MySQL Installation
Daraufhin erscheint ein Icon mit einer Ampel drauf, rechts unten bei den Icons neben der Uhrzeit.
Diese Ampel muss grün werden!
Wenn sie rot ist: Klick drauf->WinNT und dann irgendwas mit "Start".
__________________
https://savetheinternet.info/
06.09.2004, 19:55 #40 (Permalink)
Atomic
Administrator 10 Jahre hx3
5000 Beiträge
Avatar von Atomic
Registriert seit: 21.02.2003
Ort: Köln
Alter: 41
Beiträge: 5.164
Zitat:
Ich habs so gemacht wie du es gesagt hast nur mit einem anderen Editor weil mir PHP Edit irgendwie nicht den Downloadlink per e-mail schickt obwohl ich es bestimmt schon 10 mal versucht hab. Egal - Haptsache es ist geändert
Hä?
Man geht auf die Website und klickt auf Download, so einfach ist das.
Hier der direkt-Link:

http://www.waterproof.fr/download.php?file...04-08-31-de.exe
__________________
https://savetheinternet.info/
HX3 Foren · Startseite · Archiv · Impressum · Datenschutz