Datenbank mit Webserver
Diese Anleitung ist speziell für Leute aus Worms gemacht. Der Rest der Welt ist aber herzlich willkommen.
Das Stichwort dazu Linux-Apache-MYSQL-PHP LAMP. (Lamp-Seite ist noch nicht fertig)
oder das Gegenstück von Windows WAMP.
Ich benutze allerdings hier nicht den Apache obwohl er auch GNU oder sowas ist, sondern den Jana-server weil er so universell einsetzbar ist. - Deshalb wohl besser WJMP :-))
|
Vorraussetzung für PHP und MYSQL
|
| PHP |
MySQL |
|
Der Http-Server (und proxy) muß gestartet sein, und du mußt wissen wo sich der Ordner html befinden(zB. C:\programme\jana2\html).
|
PHP 4.0 downloaden von
http://www.php.net/.Am besten auspacken in den Ordner c:\php
php.ini nach c:\windows kopieren. ->php.ini mit Editor öffnen.
Scroll runter bis:
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
;
;tralalal
; The directory under which PHP opens the script using /~usernamem used only
; if nonempty.
user_dir =c:\programme\jana2\html
; Directory in which the loadable extensions (modules) reside.
extension_dir = ./
Abspeichern -> fertig.
|
MYSQL downloaden http://www.mysql.com.
MYSQL in cen Ordner c:\mysql entpacken.
( und am besten gleich noch den MySQL WinAdmn. gibts auch dort. )
WinMySQLadmin öffnen -> my.ini Setup (befindet sich auch in c:\windows)
Da muß ungefähr sowas zu finden sein.
Server=C:/MYSQL/bin/mysqld-opt.exe
user=admin (kannst du ändern)
password=admin (kannst du ändern)
QueryInterval=10
[mysqld]
basedir=C:/MYSQL
Save Modification -> fertig
Datenbank anlegen!(test nennen)
|
|
phpMyAdmin - Datenbank Administration
|
phpMyAdmin gibts hier. Ein Programm besteht aus einem Bündel von PHP-scripts, mit denen man seine Datenbank auf dem Browser einstellen kann.
Ordner Kopieren nach c:\programme\jana2\html
Eingestellt wird :c:\programme\jana2\html\phpmy\config.inc.php
------SCHNIPP SCHNAPP-------
// The $cfgServers array starts with $cfgServers[1]. Do not use $cfgServers[0].
// You can disable a server config entry by setting host to ''.
$cfgServers[1]['host'] = 'localhost'; // MySQL hostname
$cfgServers[1]['port'] = '3306'; // MySQL port - leave blank for default port
$cfgServers[1]['adv_auth'] = false; // Use advanced authentication?
$cfgServers[1]['stduser'] = ''; // MySQL standard user (only needed with advanced auth)
$cfgServers[1]['stdpass'] = ''; // MySQL standard password (only needed with advanced auth)
$cfgServers[1]['user'] = 'admin'; // MySQL user (only needed with basic auth)
$cfgServers[1]['password'] = 'admin'; // MySQL password (only needed with basic auth)
$cfgServers[1]['only_db'] = 'test'; // If set to a db-name, only this db is accessible
$cfgServers[1]['verbose'] = ''; // Verbose name for this host - leave blank to show the hostname
$cfgServers[1]['bookmarkdb'] = ''; // Bookmark db - leave blank for no bookmark support
$cfgServers[1]['bookmarktable'] = ''; // Bookmark table - leave blank for no bookmark support
------SCHNIPP SCHNAPP-------
So jetzt Browser öffnen ->http://192.168.1.1/phpmy/
Toll !! Ich sehe meine Datenbank und kann Tabellen anlegen, löschen und so weiter.
Vorsicht den Ordner c:\programme\jana2\html\phpmy\ mit Benutzername umd Kennwort schützen!
|
Bei Jana geht die Verschlüsselung des Kennworts mit MD5.
|
In die Datei .htaccess:
AuthType Basic
AuthName "Restricted Directory"
AuthUserFile c:/programme/jana2/html/phpmy/.htpasswd
require valid-user
Jetzt erstellst du eine mini PHP-Datei,
die du auf dem Server laufen lässt. Ergebnis ist irgendwas md5 verschlüsselt. (das Passwort)
In einer Unix-umgebung ersetzt du einfach md5 duch crypt
<?
echo md5(irgendwas);
?>
oder mit diesem Formular:
in die Datei .htpasswd:
irgendein-user:irgendwas-md5-verschlüsselt
Die Dateien .htaccess und .htpasswd in den phpmy Ordner kopieren und schon ist der Ordner gesichert.
USER = irgendein-user PW= irgendwas(unverschlüsselt)
|
Die Datenbank geht ins Netz
|
Wie kopiere ich aber zB eine fertige Exceldatei dahinein?
Speichere deine Exceldatei als *.csv oder als TAB(oder egalwas) getrenntes *.txt!
Diese Dateien kannst du dann mit phpmyadmin importieren (durchsuchen).
Wenns Probleme gibt, Tabellen- Überschriften und sonstigen Schnickschnack entfernen.
Dann gehts aber.
Direkt mit Excel und co auf die Datenbank zugreifen geht auch. Sicher hast du dich mal gefragt was
in der Systemsteuerung ODBC bedeudet? genau das braucht man dazu.
- Download myodbc für Windows 95/98
- entpacken
- Zu ODBC (Systemsteuerung) hinzufügen, Einstellen
- Extras -> Add-in-manager ->ODBC-Add-in
- Daten -> externe Daten ->(entweder es steht schon test da -> fertig oder)->neue Abfrage
- Name der Datenquelle =test -> 2. Feld Mysql auswählen.
- Formular so ausfüllen wie oben abgebildet.
- Dann auswählen was???;-> und durchklicken bis neues Blatt. ->rattererater...
- TATATAaaa! Täteräträtäähh! Excel goes online ->Wir habens geschafft.
PS. Uff! So einfach wie ich gedacht hab wars dann doch auch nicht.
|
|
Datenbank
|
|
Manch einer wird sich nun fragen, wie kann da einer herkommen,
und die komplizierte Materie der Datenbank- Administration auf einer Webseite abzuhandeln.
Es gibts doch Schulen Kurse usw. Prüfungen und Zertifikation!
Mir geht es nur darum eine einfache Datenbank für zuhause zu konfigurieren.
Um Webseiten die dann später im WWW zu sehen sind auszutesten. Dieser Webserver ist dann
bei einem zuverlässigen Provider.
Auf Sicherheit hab ich hier keinen Wert gelegt.
Diese Einstellung sind zwar WWW - tauglich; Ich würde aber jeden abraten sie dafür so zu benutzen,
wie hier beschrieben!
Die hier konfigurierte Datenbank ist nur zum Testen!
Beispielscript einer mysql/php Lösung beim Linkshandversand.
Allgemeines zu PHP4 und MySQL
|
|
Apache einstellen
|
|
|
|
Text umwandeln
|
|
Beliebige Textdateien in ein Datenbank lesbares Format umzuwandeln, gibts das Problem,
TAB wird schon benutzt und der Zeilenumbruch steht auch nicht da wo er soll.
Lösung:
- guten Editor verwenden (zB.Editpad)
- mit ersetzen und löschen arbeiten
- neue Zeile =\n
- TAB =\t
- im Extermfall | als Trennzeichen
Durch wiederholtes ersetzen und löschen bin ich bisher immer zu einem brauchbarem Ergebnis gekommen.
|
|
Typen
|
|
numerische
- TINYINT=1 byte
- INTEGER=4 bytes
- FLOAT=4 bytes
zeitlich
string
- VARCHAR(m)= m bytes (max 255)
- TINYTXT= 2 hoch 8 bytes
- TEXT= 2 hoch 16 bytes
BLOB bedeudet "binary large object" und ist genauso gross wie TEXT.
genaues gibt es bei: mysql.com.
|
|
Ahnung?
|
|
Ich geb zu, Kurse oder Schule zu diesem Thema hab ich nie besucht.
Aber es funktioniert! Und weil ich selbst sehr vergesslich bin, hab ichs jetzt mal aufgeschrieben.
Kann sein, daß ich das selbst noch mal brauche. :-))
|
|
Irrtümer
|
|
Irrtümer sind menschlich. Und wenn hier einer einen krassen Fehler entdeckt, möge er es mir bitte mitteilen.
Damit ichs verbessern kann.
Einfache Fragen zur mySQL-Datenbanken kann ich auch beantworten.
Stefan Höhn 19.10.01
Worms
|
|