INSTALLATIONANWEISUNG AllMyLinks0.5.0-RC2

1.) AllMyLinks Systemvorraussetzungen  
  
   Bedingt durch  die strikte  Programmierarbeit ist  AllMyLinks auf  nahezu  jeder  
   Webserver-Plattform   lauffhig  die  PHP untersttzt, im einzelnen:
 
   //HTTP Webserver
   ////////////////
   erfolgreich getestet  auf Apache  und IIS  PHP ab  Version 4.0.1
 
   //Webserver PHP extensions
   ////////////////
   getestet wurde  AllMyLinks erfolgreich  bis Version

   // SQL  Server
   /////////////// 
   AllMyLinks  bentigt eine  SQL Datenbank  zur Speicherung  der Inhalte 
    untersttzt MySQL Datenbanken [Support] 
    untersttzt mSQL (Microsoft) Datenbanken  [Support]  
    untersttzt  Postgre  Datenbanken  [eingeschrnkt]  
    untersttzt lokale Postgre  Datenbanken [eingeschrnkt] 
    untersttzt Interbase Datenbanken 
     untersttzt Sybase  Datenbanken 
     untersttzt Adabas Datenbanken (via ODBC) 
    untersttzt ODBC Verbindungen allgemein 

        Fur den Installationsassistent wird MySQL bentigt!
   
   //Speicherplatz:
   ///////////////
   Dateien  und Ordner        :  ~  3MB  
   Datenbank(~500  Eintrge)  :  ~  500Kb  
   
   Der  bentigte   Server Speicherplatz wird die  3MB im  laufenden  Betrieb nicht 
   wesentlich  berschreiten, jedoch  kann  die Datenbank  mit wachsenden  Inhalten  
   auch  deutlich  an Gre gewinnen.  Die  Zunahme  ist nicht  linear! FTP  Rechte 
   Zur  Installation ist  es notwendig  mittels  FTP oder  Shell einige Dateien und  
   Ordner mit  bestimmten Rechten auszustatten. Deshalb  muss  der  FTP Server  dem 
   Benutzer die  Rechte dazu geben!
   
2.) Vor der Installation 

   Bevor man die Installation mittels des Installers starten kann sind verschiedene 
   Aktionen zu ttigen.
   
   Innerhalb der gepackten  Datei gibt es  bereits eine Ordner  Struktur. Diese ist
   spter fr den Betrieb  von AllMyLinks unabdingbar. Sollte  keine Ordnerstruktur
   in der ZIP  Datei oder dem  entpackten Archiv erkennbar  sein, so ist  zuvor ein
   Update der  Packer-Software durchzufhren.  Wir empfehlen  die jeweils  aktuelle
   Version von WinZip.

   Alle Dateien sind in Ihrer original Ordnerstruktur an eine frei whlbare -  aber
   via http erreichbare - Stelle auf den Webserver zu bertragen. Es ist darauf  zu
   achten das  *.php,*.txt,*.html,*.sql Dateien  im ASCII  Format bertragen werden
   mssen, und smtliche  Bilder im binren  Format. In der  Regel erkennt der  FTP
   Client dies automatisch  und bertrgt die  entsprechenden Dateien korrekt.  Wir
   empfehlen fr den FTP Transfer das Freeware FTP Tool SmartFTP.

   Wenn alle Dateien  bertragen sind, ist  es wichtig verschiedene  Dateien/Ordner
   auf  verschiedene  Dateirechte hin  zu  ndern, da  AllMyLinks  die Berechtigung
   erhalten mu in diverse Dateien/Ordner zu schreiben/lschen, im einzelnen:

      ./index.php                chmod 766  -  r w -  r w -  r w - 
      ./backup/                  chmod 777  d  r w x  r w x  r w x
      ./images/language/         chmod 777  d  r w x  r w x  r w x  
      ./include/                 chmod 777  d  r w x  r w x  r w x  
      ./session/                 chmod 777  d  r w x  r w x  r w x
      ./tmp/                     chmod 777  d  r w x  r w x  r w x  

   Der Installer versucht  zwar diese Dateirechte  selbststndig zu setzen,  jedoch
   ist es system/sicherheitsbedingt die Ausnahme das dies zum gewnschten  Ergebnis
   fhrt. Aus diesem  Grunde knnte der  Installer die Arbeit  verweigern, wenn die
   Dateirechte nicht entsprechend gesetzt sind! Wichtig: Auf Windows System kann es
   passieren das  die Prfung  der Dateien  erfolgreich ist,  auch wenn die Dateien
   nicht beschreibbar sind!

   Nach der Installation sollte die Datei ./include/config.inc.php entsprechend der
   eigenen Sicherheitsaspekte wieder auf die Ursprungseinstellungen zurck  gesetzt
   werden. Es ist jedoch darauf zu achten, das dem PHP-Parser noch der Zugriff  auf
   die Datei gewhrt wird. 


3.) Die automatische  Installation  (installer) 

   Wir  empfehlen  grundstzlich AllMyLinks ber  den  installer  zu  installieren.  
   Der Installer erkennt in  der Regel automatisch dem Besucher oftmals befremdlich 
   wirkende Einstellungen und Pfade.
   Um den Installer zu  starten,  mu die Datei./install.php im  Browser aufgerufen
   werden,  nachdem  wie unter  Punkt  0.1.3 -  Vor  der Installation  beschrieben,
   bestimmte Dateien und Verzeichnisse mit bestimmten Dateirechten gendert  worden
   sind.

 Die Installation erfolgt in 6 Schritten:

   Zunchst mu die Sprache ausgewhlt werden, mit der man AllMyLinks  installieren
   mchte.    Diese   Sprache    hat   nur    Einflu   auf    die   Sprache    der
   Installationsoberflche!  Beim  Klick  auf "weiter"  wird  die  gewhlte Sprache
   verwendet und gleichzeitig geprft, ob  die Dateien und Verzeichnisse wie  unter
   Punkt 0.1.3  - Vor  der Installation  beschrieben, die  korrekten Rechte  haben.
   Sollte dem nicht so sein, wird hier die Installation gestoppt und der  Installer
   verweigert die Installation so lange, bis die Dateirechte korrekt vergeben sind. 

   Im nchsten Schritt  wird die gltige  Lizenz zum zu  installierendem Script vom
   Server  geladen  und   angezeigt.  Mit  dem   Klick  auf  "weiter"   gelten  die
   Lizenzbestimmungen als vollstndig gelesen, verstanden und akzeptiert!

   Als  drittes sind  die Verbindungsdaten  zur Datenbank  einzugeben. Diese  Daten
   werden vom Provider  mitgeteilt/gestellt. Der Datenbankserver  ist in der  Regel
   "localhost" und der Datenbank Typ "MySQL" Sollte kein Passwort bentigt  werden,
   weil  der  connect zur  Datenbank  ohne Passwort  erfolgt,  so ist  dieses  Feld
   unbedingt  leer  zu  lassen,  und das  Hkchen  zu  setzen.  Ansonsten kann  die
   Installation unter Umstnden nicht abgeschlossen werden!

   Im  nchsten Schritt  werden Daten  zu Pfaden/URL  und zu  Cookies erhoben,  im
   Idealfall  hat  der  Installer aller  Daten  selbststndig  erfassen knnen  und
   schreibt diese  direkt in  die dafr  vorgesehenen Textfelder.  Auch wenn dem so
   ist, sollten insbesondere die Felder fr die Pfade berprft werden.
   
   Installations- URL Die Installations-URL  wird bentigt um Links  korrekt setzen
   zu knnen. Im  Normalfall ist dies  "http://www.domain.de", kann aber  natrlich
   auch  jede andere  Subdomain als  "www" enthalten:  "http://beispiel.domain.de".
   Wichtig: Web-Accounts von  freien Anbietern geben  in der Regel  ein Verzeichnis
   einer Domain  frei, z.B.  "http://mitglied.provider.de/userXYZ". Auch  in diesem
   Fall ist die Script-URL  nur "http://mitglied.provider.de", weil das  "/userXYZ"
   ein Verzeichnis ist, und zu dem Script Pfad gehrt! Script Pfad (URI) Der Script
   Pfad ist  der "Rest"  der kompletten  URL, ausgehend  vom Basisverzeichnis;  der
   Domain         selbst.         Hat         man         AllMyLinks          unter
   "http://mitglied.provider.de/userXYZ/AllMyLinks/" installiert, so mu der Script
   Pfad "/userXYZ/AllMyLinks/" lauten. Serverpfad Wie der normale PC auch, hat  ein
   Webserver  eine  Verzeichnisstruktur.  In  dieser  Verzeichnisstruktur  gibt  es
   Verzeichnisse in denen die Daten  fr die ber den Browser  erreichbare Website,
   abgelegt werden. Der Serverpfad ist der komplette Pfad vom Basisverzeichnis (Bei
   Unix  Systemen  immer /,  bei  Windows LW:/)  bis  zum Verzeichnis  in  dem sich
   AllMyLinks  befindet,  z.B. "/home/userx/www/htdocs/AllMyLinks/"  fr  Unix oder
   Linux Systeme, oder z.B. "c:/inetpub/wwwroot/AllMyLinks/" bei Windows  Systemen.
   Die Cookie Einstellungen sollten auf den Standard Einstellungen belassen werden,
   hier ist kein Eingriff ntig, allein fr die versierten Anwender aber mglich.

   Im  fnften Schritt  wird der  Account fr  den Administrator  angelegt. Dieser
   Account wird spter  dafr bentigt, sich  in die Administration  von AllMyLinks
   einloggen zu knnen. Bitte auch hier alle Felder ausfllen!

   Unter Punkt 6  sind die letzten  Einstellungen zu treffen.  Hier ist auszuwhlen
   welche  Sprache  man fr  AllMyLinks  nutzen mchte,  und  welche Templates  die
   Ausgabe des Scripts steuern sollen. Als letztes ist noch die Zeitzone  anzugeben
   in der sich die erwarteten Besucher der Website befinden.


4.) Manuelle Installation

   Die manuelle Installation eines AllMyPHP Scrips  empfehlen wir grundstzlich nur 
   den   versierten   Benutzern.  Die   Installationsschritte   sind   grtenteils 
   deckungsgleich  mit  Programmen,  die  nicht  ber  einen  speziellen  Installer  
   verfgen.  Es  ist   notwendig   die   Konfigurationsdatei selbststndig korrekt 
   auszufllen.  Das beinhaltet  auch die  korrekte Angabe  von Pfaden  und  Daten,  
   in  diesem Dokument  soll  einem die  manuelle  Installation vereinfacht werden.

   Zunchst ist die Konfigurationsdatei anzupassen. Eine leere  Konfigurationsdatei
   findet sich im Ordner "tools", und hat folgenden Inhalt: (Die hier  aufgefhrten
   Zeilennummern entsprechen den Zeilennummern  der config.inc.php, und dienen  zur
   Orientierung.  Nicht  aufgefhrte  Bereiche  der  config.inc.php  mssen   nicht
   bearbeitet werden,  oder knnen  bei einer  Bearbeitung AllMyLinks beschdigen!)

   
   15| // --> BEGIN SQL settings  -------------------------------------------------
   16| $_AMLconfig['sql_dabatype'] = "MySQL"; 
   17| $_AMLconfig['sql_username'] = "x";  
   18| $_AMLconfig['sql_password'] = "x";  
   19| $_AMLconfig['sql_hostname'] = "localhost";     
   20| $_AMLconfig['sql_dabaname'] = "allmylinks";    
   21| $_AMLconfig['sql_debugsql'] = false; 
   22| // <-- END SQL settings  ---------------------------------------------------

   In  den  Zeilen  15  bis  einschlielich  22  werden die
   Verbindungsdaten zur Datenbank eingetragen.

     'sql_dabatype'  
   Hier  hinein  gehrt  der  Datenbank  Typ.  Es   ist  auf Gro - Kleinschreibung
   zu achten. Folgende Werte sind entsprechend des Datenbank  Typs gltig: 

      "MySQL"; 
      "mSQL"; 
      "PostgreSQL";  
      "PostgreSQL_local";
      "ODBC";
      "ODBC_Adabas";
      "Interbase";  
      "Sybase".  


     'sql_username' 
   Dies  ist  der  Benutzername zur  SQL Datenbank, der  berechtigt ist  auf die DB
   'sql_dabaname'  zuzugreifen 


    'sql_password'
   Dies   ist   das   zum  Benutzernamen   zugehrige   Passwort.   Wird  fr   den
   Verbindungsaufbau  kein Passwort  bentigt, so  ist hier  nichts einzutragen.  
   
   
    'sql_hostname'    
   Hostname ist  der Name  des Servers  auf dem  die SQL Datenbank installiert ist. 
   In der Regel ist dies localhost bzw. die IP des Servers auf dem auch  AllMyLinks 
   liegt.  
   
    'sql_dabaname'  
   Der Datenbankname  ist  der  Name  der  Datenbank  innerhalb  des  SQL  Servers. 
   Dieser Name ist in der Regel nicht bestimmbar und  wird vom  Provider  gestellt.  
   
    'sql_debugsql'  
   Hier hat man die Option bei  Fehlermeldungen das debuglevel einzuschalten. Somit 
   erhlt  man im Klartext alle Querys die  an die SQL  Datenbank  gesendet werden. 
   (true/false) 


   Tabellen Namen bestimmen 
   10| // --> BEGIN table names  --------------------------------------------------
   11| $_AMLconfig['tbl_user']              = "allmyphp_user";     
   12| $_AMLconfig['tbl_config']            = "aml5_config";  
   13| $_AMLconfig['tbl_categories']        = "aml5_categories";   
   14| $_AMLconfig['tbl_comments']          = "aml5_comments";  
   15| $_AMLconfig['tbl_blocked']           = "aml5_blockeduser"; 
   16| $_AMLconfig['tbl_header']            = "aml5_header";     
   17| $_AMLconfig['tbl_links']             = "aml5_links";    
   18| $_AMLconfig['tbl_brokenvalues']      = "aml5_brokenvalues";        
   19| $_AMLconfig['tbl_wrdfil']            = "aml5_wrdfil";  
   20| $_AMLconfig['tbl_protocols']         = "aml5_protocols";   
   21| $_AMLconfig['tbl_languages']         = "aml5_language";  
   22| $_AMLconfig['tbl_notes']             = "aml5_notes";  
   23| $_AMLconfig['tbl_preferences']       = "aml5_preferences";
   24| $_AMLconfig['tbl_userfields']        = "aml5_fields";
   25| $_AMLconfig['tbl_userfields_values'] = "aml5_fields_values";
   26| $_AMLconfig['tbl_modules']           = "aml5_modules";
   27| $_AMLconfig['tbl_banner']            = "aml5_banner";
   28| // <-- END table names  ----------------------------------------------------

   Hier knnen die Namen fr die Tabellen bestimmt werden. Es ist  darauf zu achten 
   das die Namen der Tabellen exakt denen der Datenbank entsprechen! Eine nderung/
   Anpassung ist hier in der Regel nicht ntig!


   Pfade bestimmen 
   42| // --> BEGIN path sourroundings  ------------------------------------------- 
   43| $_AMLconfig['cfg_scripturl']  = "http://localhost";     
   44| $_AMLconfig['cfg_scriptpath'] = "/AllMyLinks0.5.0";         
   45| $_AMLconfig['cfg_serverpath'] = "H:/AllMyLinks0.5.0";  
   46| //  <--  END   path sourroundings  -----------------------------------------
   
   
   Im  Laufe  der  Zeit  konnte   man feststellen,  das  die Pfadeinstellungen  fr  
   viele Benutzer eine  scheinbar unberwindbare Hrde darstellt. Allein aus diesem 
   Grunde  wurde  dann  auch  spter  ein  Installer  eingefhrt, der  diese  Pfade 
   selbststndig herausfindet. 


    'cfg_scripturl'
   Die  Installations-URL  wird  bentigt  um  Links korrekt setzen  zu  knnen. Im 
   Normalfall ist dies "http://www.domain.de", kann aber natrlich auch jede andere 
   Subdomain als "www" enthalten: "http://beispiel.domain.de". 
   Wichtig:
   Web-Accounts  von freien  Anbietern geben  in der  Regel ein  Verzeichnis  einer
   Domain frei, z.B. "http://mitglied.provider.de/userXYZ". Auch in diesem Fall ist
   die  Script-URL  nur  "http://mitglied.provider.de",  weil  das  "/userXYZ"  ein
   Verzeichnis ist, und  zu dem Script  Pfad gehrt! 


     'cfg_scriptpath' 
   Der Script Pfad ist der Pfad zum Script, ausgehend vom Basisverzeichnis selbst.         
   Hat  man   AllMyLinks  unter  "http://mitglied.provider.de/userXYZ/AllMyLinks/" 
   installiert, so mu der Script Pfad "/userXYZ/AllMyLinks/" lauten. 


    'cfg_serverpath' 
   Wie der normale PC  auch, hat ein Webserver eine  Verzeichnisstruktur. In dieser 
   Verzeichnisstruktur  gibt es  Verzeichnisse in denen die Daten fr  die ber den  
   Browser erreichbare Website, abgelegt werden.  Der Serverpfad ist der  komplette   
   Pfad vom  Basisverzeichnis  (Bei  Unix  Systemen  immer  /,  bei  Windows  LW:/)  
   bis zum Verzeichnis  in  dem      sich      AllMyLinks      befindet,       z.B.
   "/home/userx/www/htdocs/AllMyLinks/"  fr  Unix oder  Linux  Systeme, oder  z.B.
   "c:/inetpub/wwwroot/AllMyLinks/" bei Windows Systemen.


   Cookie Einstellungen 
   49| // --> BEGIN cookie settings  ----------------------------------------------
   50| $_AMLconfig['cookie_name']   = "allmyphp_cookie";      
   51| $_AMLconfig['cookie_expire'] = "31536000"; 
   52| $_AMLconfig['cookie_path']   = "/";
   53| $_AMLconfig['cookie_domain'] = "localhost"; 
   54| $_AMLconfig['cookie_secure'] = "0"; 
   55| // <-- END cookie settings  ------------------------------------------------

   Die Cookie Einstellungen sind in der  Regel eindeutig und knnen so wie sie sind  
   belassen  werden, es   hat   keine  Auswirkung   auf  Sicherheit  und  Funktion. 
   Selbstverstndlich bieten wir aber  die Mglichkeit  auch   diese  Einstellungen  
   den eigenen Wnschen/Einstellungen nach anzupassen

   
    'cookie_name'  
   Der Cookie Name dient der Identifizierung. Auch wenn  nur von AllMyLinks Cookies 
   geschrieben  werden, so  bentigen diese  einen eindeutigen Namen. Der Name darf 
   alphanumerisch  sein,  ein  Semikolon, Freizeichen  oder hnliche  Sonderzeichen  
   bis  auf  das "_"  sind  ausgeschlossen  und  fhren zu Fehlfunktionen! 
   
   
    'cookie_expire'  
   Gibt in Sekunden  die Gltigkeit des  Cookies an. AllMyPHP setzt Cookies in  der 
   Regel mit 31536000 Sekunden  Gltigkeit. Dies entspricht einem Jahr. 
   
   
    'cookie_path' 
   Der Pfad gibt an, auf welcher  Ebene des Webservers ein  Cookie gltig  ist. Ist 
   dieser Wert z.B. "AllMyLinks", so ist der Cookie nur dann gltig wenn eine Datei 
   aus dem Verzeichnis AllMyLinks  versucht auf  den  Cookie  zuzugreifen. Aufgrund  
   von  mglicher  Inkludierung in  andere Verzeichnisse  sollte der Wert  auf  "/" 
   belassen werden, somit ist  dieser Cookie auf jeder Ebene  der Domain gltig!  
   
   
    'cookie_domain' [ohne Verwendung] 
   Gibt die Domain an  fr die  der Cookie  gltig ist.  Ist dieser  Wert leer oder
   wird gar nicht verwendet, wird die aktuelle Domain aus der die Datei  aufgerufen
   wurde die den Cookie schreibt verwendet.
   
   
    'cookie_secure' [ohne Verwendung] 
   0/1 Bestimmt ob nur sichere Cookies  gesendet werden sollen  oder nicht. Sichere 
   Cookies knnen nur in einer https Umgebung gesendet werden.


   Environment Einstellungen 
   58| // --> BEGIN Environment  --------------------------------------------------
   59| $_AMLconfig['env_REMOTE_ADDR']      = getenv("REMOTE_ADDR");   
   60| $_AMLconfig['env_HTTP_USER_AGENT']  = getenv("HTTP_USER_AGENT");     
   61| $_AMLconfig['env_HTTP_REMOTE_HOST'] = gethostbyaddr(getenv("REMOTE_ADDR")); 
   62| $_AMLconfig['env_HTTP_REFERER']     = getenv("HTTP_REFERER");       
   63| $_AMLconfig['env_SCRIPT_NAME']      = getenv("SCRIPT_NAME");         
   64| $_AMLconfig['env_SCRIPT_FILENAME']  = getenv("SCRIPT_FILENAME");     
   65| $_AMLconfig['env_REQUEST_URI']      = getenv("REQUEST_URI");   
   66| // <--  END Environment  ---------------------------------------------------

   Das  Environment  sind   Pfade  und  Einstellungen  rund  um  den  Server /  die 
   Clientverbindung die  mit AllMyLinks in Verbindung  stehen. Im  Normalfall  sind  
   die Voreinstellungen  hier richtig und knnen so genutzt werden, und sollten nur
   von technisch versierten Personen, oder auf Anweisung gendert werden!



5.) Verknpfung  zur  config.inc.php herstellen  

   Damit  AllMyLinks korrekt  arbeiten kann, ist es notwendig den folgenden Code in
   die Datei ./index.php einzufgen:

   <?PHP 
   // --> BEGIN including config  -------------------------------------------------
   if(!$_AMLinclude['res_config'] = include("pfadzuaml/include/config.inc.php")) 
   {
   	die("can not load <i>config.inc.php</i> so I will die now!"); 
   } 
   // <-- END including config  ---------------------------------------------------

   Der Code ist einfach zu kopieren und einzufgen. Bitte beachten das  "pfadzuaml"  
   gegen den tatschlichen Serverpfad ersetzt wird. Keine HTTP Inkludierung hier 
   vornehmen!


6.) SQL DUMP importieren 

   Als letzten Schritt ist die  SQL-Dump  Datei  welche  sich im  Ordner  "./tools" 
   befindet zu importieren. Es wird ein Administrator angelegt mit den 
   Benutzerdaten:

   Benutername: Administrator 
   Password   : 123ganzviele