User Tools

Site Tools


de:start:howto:package_full_manual

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
de:start:howto:package_full_manual [2012/03/04 14:10]
TheCry [3. Inhalt des Paket Installations Skript]
de:start:howto:package_full_manual [2012/03/07 18:04] (current)
TheCry
Line 36: Line 36:
  
 {{start:​app_struct_richtig.jpg?​nolink}} {{start:​app_struct_richtig.jpg?​nolink}}
 +
 +**Wenn ihr die Dateien der Webapplikation in das Verzeichnis kopiert, achtet auch folgende Dinge:**
 +    * Die Konfigurationsdatei(en) welche später vom [[de:​start:​howto:​package_installation_script|Paket Installations Skript]] erstellt werden müssen gelöscht werden
 +    * Der Inhalt von Verzeichnissen,​ wo die Webapplikation Cache-Dateien oder TEMP-Dateien ablegt muss geleert werden
  
 === Verzeichnis "​xml"​ === === Verzeichnis "​xml"​ ===
Line 91: Line 95:
   * **$sw_install_email** = Emailadresse für den späteren Login   * **$sw_install_email** = Emailadresse für den späteren Login
   * **$domain_name** = Domain Name (dort wo die Applikation installiert wird)   * **$domain_name** = Domain Name (dort wo die Applikation installiert wird)
-  * **$sw_dest_path** = Pfad wo die Applikation installiert werden soll (voller ​Pfad: /​var/​www/​virtual.....) +  * **$sw_dest_path** = Pfad wo die Applikation installiert werden soll (absoluter ​Pfad: /​var/​www/​virtual.....) 
-  * **$sw_path** = Pfad ab "​htdocs"​ +  * **$sw_path** = Pfad ab "​htdocs" ​(/​htdocs/​abc/​def) 
-  * **$url_path** = Hier wird ein Pfad erzeugt ohne htdocs und was dahinter liegt  (/​abc/​def......[z.B.: http://​meineDomain.tld/​abc/​def])+  * **$url_path** = Hier wird ein Pfad erzeugt ohne htdocs und was dahinter liegt  (z.B.: ​<del>http://​meineDomain.tld</​del>​/abc/def)
   * **$db_tables** = Datei mit dem Inhalt der Tabellen die einen Präfix brauchen   * **$db_tables** = Datei mit dem Inhalt der Tabellen die einen Präfix brauchen
  
Line 156: Line 160:
 Dazu wird in diesem Fall eine ApPI von Wordpress.org genutzt.\\ Dazu wird in diesem Fall eine ApPI von Wordpress.org genutzt.\\
 http://​api.wordpress.org/​secret-key/​1.1/​\\ http://​api.wordpress.org/​secret-key/​1.1/​\\
-Vor der Zeile ">**my $configfile_entry =**"​erstellt man folgende Zeile:+Vor der Zeile "**my $configfile_entry =**"​erstellt man folgende Zeile:
 <​code>​my $securekeys = `$main::​cfg{'​CMD_PHP'​} -n ./​get_secure_keys.php`;</​code>​ <​code>​my $securekeys = `$main::​cfg{'​CMD_PHP'​} -n ./​get_secure_keys.php`;</​code>​
 Dadurch wird die externe API aufgerufen und die Variable "​**$securekeys**"​ mit der Ausgabe der API befüllt. Die befüllte Variable "​**$securekeys**"​ wird dann unter **my $configfile_entry =** eingetragen.\\ Dadurch wird die externe API aufgerufen und die Variable "​**$securekeys**"​ mit der Ausgabe der API befüllt. Die befüllte Variable "​**$securekeys**"​ wird dann unter **my $configfile_entry =** eingetragen.\\
 Es gibt viele Möglichkeiten solche Variablen dynamisch zu erstellen. Genauere Informationen findest Du hier:  Es gibt viele Möglichkeiten solche Variablen dynamisch zu erstellen. Genauere Informationen findest Du hier: 
-[[de:​start:​howto:​package_external_scripts|Externe Skripte erstellen]]+[[de:​start:​howto:​package_external_scripts|Externe Skripte erstellen]]\\
  
 Solltet Ihr mal Konfiguartionsdateien haben wo Einträge wie Solltet Ihr mal Konfiguartionsdateien haben wo Einträge wie
-<​code>​ var \$sitename = '​$domain_name';​+<​code>​var \$sitename = '​$domain_name';​
 var \$dbtype = '​mysqli';​ var \$dbtype = '​mysqli';​
 var \$host = '​localhost';</​code>​ var \$host = '​localhost';</​code>​
Line 183: Line 187:
 close(SQL_TABLES);​ close(SQL_TABLES);​
 foreach my $sql_table_data_line (@sql_table_data) { foreach my $sql_table_data_line (@sql_table_data) {
-$sql = " +    ​$sql = " 
-RENAME TABLE +        RENAME TABLE 
-`"​.$sql_table_data_line."​` +            `"​.$sql_table_data_line."​` 
-TO +        TO 
-`"​.$sw_software_prefix.$sql_table_data_line."​` +        `"​.$sw_software_prefix.$sql_table_data_line."​` 
-+        
-"; +    "; 
-doSQL($sql);​+    doSQL($sql);​
 }</​code>​ }</​code>​
 Nutzt bitte diese Zeilen, weil damit funktioniert es auf jeden Fall. Nutzt bitte diese Zeilen, weil damit funktioniert es auf jeden Fall.
Line 200: Line 204:
 #Update Datebase with variables #Update Datebase with variables
 $sql = " $sql = "
-UPDATE +    ​UPDATE 
-`"​.$new_table_comments."​` +        `"​.$new_table_comments."​` 
-SET +    SET 
-`comment_date` = '"​.$setdatetime."',​ +        `comment_date` = '"​.$setdatetime."',​ 
-`comment_date_gmt` = '"​.$setdatetime."'​ +        `comment_date_gmt` = '"​.$setdatetime."'​ 
-WHERE +    WHERE 
-`comment_ID` = '​1'​ +        `comment_ID` = '​1'​ 
-;+    ;
 "; ";
 doSQL($sql);​ doSQL($sql);​
  
 $sql = " $sql = "
-UPDATE +    ​UPDATE 
-`"​.$new_table_options."​` +        `"​.$new_table_options."​` 
-SET +    SET 
-`option_value` = '​http://"​.$domain_name."'​ +        `option_value` = '​http://"​.$domain_name."'​ 
-WHERE +    WHERE 
-`option_id` = '​3'​ +        `option_id` = '​3'​ 
-;+    ;
 "; ";
 doSQL($sql);​ doSQL($sql);​
  
 $sql = " $sql = "
-UPDATE +    ​UPDATE 
-`"​.$new_table_options."​` +        `"​.$new_table_options."​` 
-SET +    SET 
-`option_value` = '"​.$domain_name."'​ +        `option_value` = '"​.$domain_name."'​ 
-WHERE +    WHERE 
-`option_id` = '​4'​ +        `option_id` = '​4'​ 
-;+    ;
 "; ";
 doSQL($sql);​ doSQL($sql);​
  
 $sql = " $sql = "
-UPDATE +    ​UPDATE 
-`"​.$new_table_options."​` +        `"​.$new_table_options."​` 
-SET +    SET 
-`option_value` = '"​.$emailadress."'​ +        `option_value` = '"​.$emailadress."'​ 
-WHERE +    WHERE 
-`option_id` = '​7'​ +        `option_id` = '​7'​ 
-;+    ;
 "; ";
 doSQL($sql);​ doSQL($sql);​
  
 $sql = " $sql = "
-UPDATE +    ​UPDATE 
-`"​.$new_table_options."​` +        `"​.$new_table_options."​` 
-SET +    SET 
-`option_value` = '​http://"​.$domain_name."'​ +        `option_value` = '​http://"​.$domain_name."'​ 
-WHERE +    WHERE 
-`option_id` = '​39'​ +        `option_id` = '​39'​ 
-;+    ;
 "; ";
 doSQL($sql);​ doSQL($sql);​
  
 $sql = " $sql = "
-UPDATE +    ​UPDATE 
-`"​.$new_table_posts."​` +        `"​.$new_table_posts."​` 
-SET +    SET 
-`post_date` = '"​.$setdatetime."',​ +        `post_date` = '"​.$setdatetime."',​ 
-`post_date_gmt` = '"​.$setdatetime."',​ +        `post_date_gmt` = '"​.$setdatetime."',​ 
-`post_modified` = '"​.$setdatetime."',​ +        `post_modified` = '"​.$setdatetime."',​ 
-`post_modified_gmt` = '"​.$setdatetime."',​ +        `post_modified_gmt` = '"​.$setdatetime."',​ 
-`guid` = '​http://"​.$domain_name."/?​p=1'​ +        `guid` = '​http://"​.$domain_name."/?​p=1'​ 
-WHERE +    WHERE 
-`ID` = '​1'​ +        `ID` = '​1'​ 
-;+    ;
 "; ";
 doSQL($sql);​ doSQL($sql);​
  
 $sql = " $sql = "
-UPDATE +    ​UPDATE 
-`"​.$new_table_posts."​` +        `"​.$new_table_posts."​` 
-SET +    SET 
-`post_date` = '"​.$setdatetime."',​ +        `post_date` = '"​.$setdatetime."',​ 
-`post_date_gmt` = '"​.$setdatetime."',​ +        `post_date_gmt` = '"​.$setdatetime."',​ 
-`post_content` = 'Dies ist ein Beispiel einer statischen Seite. Du kannst sie bearbeiten und beispielsweise Infos über dich oder das Weblog eingeben, damit die Leser wissen, woher du kommst und was du machst.\n\nDu kannst entweder beliebig viele Hauptseiten (wie diese hier) oder Unterseiten,​ die sich in der Hierachiestruktur den Hauptseiten unterordnen,​ anlegen. Du kannst sie auch alle innerhalb von WordPress ändern und verwalten.\n\nAls stolzer Besitzer eines neuen WordPress-Blogs,​ solltest du zur Übersichtsseite,​ dem <a href=\"​http://"​.$domain_name."/​wp-admin/​\">​Dashboard</​a>​ gehen, diese Seite löschen und damit loslegen, eigene Inhalte zu erstellen. Viel Spaß!',​ +        `post_content` = 'Dies ist ein Beispiel einer statischen Seite. Du kannst sie bearbeiten und beispielsweise Infos über dich oder das Weblog eingeben, damit die Leser wissen, woher du kommst und was du machst.\n\nDu kannst entweder beliebig viele Hauptseiten (wie diese hier) oder Unterseiten,​ die sich in der Hierachiestruktur den Hauptseiten unterordnen,​ anlegen. Du kannst sie auch alle innerhalb von WordPress ändern und verwalten.\n\nAls stolzer Besitzer eines neuen WordPress-Blogs,​ solltest du zur Übersichtsseite,​ dem <a href=\"​http://"​.$domain_name."/​wp-admin/​\">​Dashboard</​a>​ gehen, diese Seite löschen und damit loslegen, eigene Inhalte zu erstellen. Viel Spaß!',​ 
-`post_modified` = '"​.$setdatetime."',​ +        `post_modified` = '"​.$setdatetime."',​ 
-`post_modified_gmt` = '"​.$setdatetime."',​ +        `post_modified_gmt` = '"​.$setdatetime."',​ 
-`guid` = '​http://"​.$domain_name."/?​p=2'​ +        `guid` = '​http://"​.$domain_name."/?​p=2'​ 
-WHERE +    WHERE 
-`ID` = '​2'​ +        `ID` = '​2'​ 
-;+    ;
 "; ";
 doSQL($sql);​ doSQL($sql);​
  
 $sql = " $sql = "
-UPDATE +    ​UPDATE 
-`"​.$new_table_users."​` +        `"​.$new_table_users."​` 
-SET +    SET 
-`user_login` = '"​.$sw_install_username."',​ +        `user_login` = '"​.$sw_install_username."',​ 
-`user_pass` = '"​.$loginpasswordhash."',​ +        `user_pass` = '"​.$loginpasswordhash."',​ 
-`user_nicename` = '"​.$sw_install_username."',​ +        `user_nicename` = '"​.$sw_install_username."',​ 
-`user_email` = '"​.$sw_install_email."',​ +        `user_email` = '"​.$sw_install_email."',​ 
-`user_registered` = '"​.$setdatetime."',​ +        `user_registered` = '"​.$setdatetime."',​ 
-`display_name` = '"​.$sw_install_username."'​ +        `display_name` = '"​.$sw_install_username."'​ 
-WHERE +    WHERE 
-`user_login` = '​admin'​ +        `user_login` = '​admin'​ 
-;+    ;
 "; ";
 doSQL($sql);</​code>​ doSQL($sql);</​code>​
Line 326: Line 330:
 close(SQL_TABLES);​ close(SQL_TABLES);​
 foreach my $sql_table_data_line (@sql_table_data) { foreach my $sql_table_data_line (@sql_table_data) {
-$sql = " +    ​$sql = " 
-DROP TABLE IF EXISTS +        DROP TABLE IF EXISTS 
-`"​.$sw_software_prefix.$sql_table_data_line."​` +            `"​.$sw_software_prefix.$sql_table_data_line."​` 
-+        
-"; +    "; 
-doSQL($sql);​+    doSQL($sql);​
 } }
 </​code>​ </​code>​
  
-==== 3. SQL-DUMP ====+==== 3. Testen des Paket Installations Skript ==== 
 +Das [[de:​start:​howto:​package_installation_script|Paket Installations Skript]] kann man ganz einfach auf der Linux-Konsole auf Fehler testen.\\ 
 +Dazu gebt ihr einfach folgenden Befehl auf der Linux-Konsole ein: 
 +<​code>​perl Name_des_Installationsskripts</​code>​ 
 +ein. Wenn keine Fehler (das heisst alle Variablen definiert sind usw.) im [[de:​start:​howto:​package_installation_script|Paket Installations Skript]] sind wird folgende Ausgabe erscheinen:​ 
 +<​code>​[DEGUB] i-MSCP installer file - No Input Data available</​code>​ 
 +Andernfalls werdet Ihr schon erkennen wo das Problem liegt.\\ 
 + 
 + 
 +==== 4. SQL-DUMP ====
 Den SQL- Dump sollte man mit phpmyadmin ziehen. Dabei ist darauf zu achten das man auch den Haken "Füge DROP TABLE / VIEW / PROCEDURE / FUNCTION hinzu" setzt!\\ Den SQL- Dump sollte man mit phpmyadmin ziehen. Dabei ist darauf zu achten das man auch den Haken "Füge DROP TABLE / VIEW / PROCEDURE / FUNCTION hinzu" setzt!\\
 Den Dump speichert man dann als Den Dump speichert man dann als
Line 347: Line 360:
 Worauf ihr genau achten müsst findet Ihr hier: [[de:​start:​howto:​package_sql_dump|SQL Dump erstellen]] Worauf ihr genau achten müsst findet Ihr hier: [[de:​start:​howto:​package_sql_dump|SQL Dump erstellen]]
  
-==== 4. Inhalt der Datei sql_tables ====+==== 5. Inhalt der Datei sql_tables ====
 Dieses Datei liegt im Root-Verzeichnis des Paketes und beeinhaltet alle Tabellen, die später den Präfix erhalten sollen. Die Einträge bekommen keinen "​Präfix"​ davor. Um eine Auflistung der Tabellen zu bekommen, kann man in phpmyadmin "​**SHOW TABLES**"​ ausführen (vorher natürlich die richtige Datenbank auswählen). Diese Liste fügt man dann in eine Datei ein, die man "​sql_tables"​ nennt. Jetzt nur noch die existierenden Präfixe entfernen (Bei WordPress "​wp_"​). Im Beispiel von WordPress sehen die Einträge wie folgt aus: Dieses Datei liegt im Root-Verzeichnis des Paketes und beeinhaltet alle Tabellen, die später den Präfix erhalten sollen. Die Einträge bekommen keinen "​Präfix"​ davor. Um eine Auflistung der Tabellen zu bekommen, kann man in phpmyadmin "​**SHOW TABLES**"​ ausführen (vorher natürlich die richtige Datenbank auswählen). Diese Liste fügt man dann in eine Datei ein, die man "​sql_tables"​ nennt. Jetzt nur noch die existierenden Präfixe entfernen (Bei WordPress "​wp_"​). Im Beispiel von WordPress sehen die Einträge wie folgt aus:
 <​code>​commentmeta <​code>​commentmeta
Line 362: Line 375:
 Wie man sieht, wurde aus "​wp_comments"​ jetzt "​comments"​. Wie man sieht, wurde aus "​wp_comments"​ jetzt "​comments"​.
  
-==== 5. Packen des Paketes ====+==== 6. Packen des Paketes ====
 Die Pakete werden immer als "​**tar.gz**"​ gepackt.\\ Die Pakete werden immer als "​**tar.gz**"​ gepackt.\\
 Andere Formate werden zur Zeit nicht unterstützt. Ich rate dazu die Pakete auf einem Linuxsystem zu packen.\\ Andere Formate werden zur Zeit nicht unterstützt. Ich rate dazu die Pakete auf einem Linuxsystem zu packen.\\
/var/www/virtual/i-mscp.net/wiki/htdocs/data/attic/de/start/howto/package_full_manual.1330870201.txt.gz · Last modified: 2012/03/04 14:10 by TheCry