ispCP - Board - Support
[in USE]Webapplikationen automatisch installieren - Printable Version

+- ispCP - Board - Support (http://www.isp-control.net/forum)
+-- Forum: ispCP Omega International Area (/forum-22.html)
+--- Forum: German Corner (/forum-26.html)
+---- Forum: Plauderecke (/forum-49.html)
+---- Thread: [in USE]Webapplikationen automatisch installieren (/thread-5357.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27


RE: Webapplikationen automatisch installieren - Achmed - 06-11-2008 08:10 PM

Nachtrag: Paket löschen produziert bei mir gerade auch einen Fehler.
Muss ich mir nochmal angucken.
Beim ersten Test hatte es funktioniert.

@ Tango: das Paket muss ein tar.gz sein


RE: Webapplikationen automatisch installieren - tango - 06-11-2008 08:12 PM

ok werde es mal abwarten und joomla habe ich geändert


RE: Webapplikationen automatisch installieren - Achmed - 06-11-2008 08:47 PM

Das Paket kann so nicht funzen.
Kurze Erklärung:
Die Ordner web & sql sowie die Dateien sql_tables & (in diesem Fall) joomla müssen in der obersten Ebene des Archivs zu finden sein.
Ein übergeordneter Ordner "joomla" funkioniert nicht.
Das Shell-Script muss muss der Software angepasst werden.
Es bringt nichts, wenn du eine configuration.php erstellst, die den Inhalt einer phpbb-config.php hat.
So sollte die in deinem Fall aussehen:
Code:
#!/bin/sh

#
# Do not make changes to this static vars
#

type=$1
sw_software_db=$2
sw_software_prefix=$3
sw_database=$4
sw_database_user=$5
sw_database_tmp_pwd=$6
dmn_name=$7
sw_dest_path=$8
sw_pfad=$9
db_tables="sql_tables"


#
# This is the place for dynamic vars
#

config_file="configuration.php"
pfad=${sw_pfad:7}
email="webmaster@$dmn_name"
config="config"
new_config=$sw_software_prefix$config
users="users"
new_users=$sw_software_prefix$users


#
# install/delete
#

case "$type" in
    install)

        cat > $sw_dest_path/$config_file << "EOF"
<?php
class JConfig {
/* Site Settings */
var $offline = '0';
var $offline_message = 'Diese Website ist zurzeit im Wartungsmodus.<br /> Bitte kommen Sie später wieder.';
var $sitename = 'ispCP-Joomla';
var $editor = 'tinymce';
var $list_limit = '20';
var $legacy = '0';
/* Debug Settings */
var $debug = '0';
var $debug_lang = '0';
/* Database Settings */
var $dbtype = 'mysql';
var $host = 'localhost';
/* Server Settings */
var $live_site = '';
var $secret = 'XBg1HJl5b8wYpE1d';
var $gzip = '0';
var $error_reporting = '-1';
var $helpurl = 'http://help.joomla.org';
var $xmlrpc_server = '0';
var $ftp_host = '127.0.0.1';
var $ftp_port = '21';
var $ftp_user = '';
var $ftp_pass = '';
var $ftp_root = '';
var $ftp_enable = '0';
/* Locale Settings */
var $offset = '0';
var $offset_user = '0';
/* Mail Settings */
var $mailer = 'mail';
var $fromname = 'ispCP-Joomla';
var $sendmail = '/usr/sbin/sendmail';
var $smtpauth = '0';
var $smtpuser = '';
var $smtppass = '';
var $smtphost = 'localhost';
/* Cache Settings */
var $caching = '0';
var $cachetime = '15';
var $cache_handler = 'file';
/* Meta Settings */
var $MetaDesc = 'Joomla! - dynamische Portal-Engine und Content-Management-System';
var $MetaKeys = 'joomla, Joomla';
var $MetaTitle = '1';
var $MetaAuthor = '1';
/* SEO Settings */
var $sef           = '0';
var $sef_rewrite   = '0';
var $sef_suffix    = '0';
/* Feed Settings */
var $feed_limit   = 10;
/* Session Setting */
var $lifetime = '15';
var $session_handler = 'database';
}
?>
EOF

        sed -i "15 a\\var \$dbprefix = '$sw_software_prefix';" $sw_dest_path/$config_file
        sed -i "15 a\\var \$db = '$sw_database';" $sw_dest_path/$config_file
        sed -i "15 a\\var \$password = '$sw_database_tmp_pwd';" $sw_dest_path/$config_file
        sed -i "15 a\\var \$user = '$sw_database_user';" $sw_dest_path/$config_file
        sed -i "37 a\\var \$mailfrom = '$email';" $sw_dest_path/$config_file
        sed -i "59 a\\var \$tmp_path = '$sw_dest_path/tmp';" $sw_dest_path/$config_file
        sed -i "59 a\\var \$log_path = '$sw_dest_path/logs';" $sw_dest_path/$config_file

        mysql -u$sw_database_user -p$sw_database_tmp_pwd $sw_database < ./sql/sql.sql

        exec 4<$db_tables

        while read -u 4 table; do

            echo "ALTER TABLE $table RENAME AS $sw_software_prefix$table" | mysql -u$sw_database_user -p$sw_database_tmp_pwd $sw_database

        done

#### Hier müssen die DB-Änderungen hin... ####
#### Benutzerpasswort, evtl. Pfade usw.    ####

    ;;

    delete)

        exec 4<$db_tables

        while read -u 4 table; do

            echo "DROP TABLE IF EXISTS $sw_software_prefix$table" | mysql -u$sw_database_user -p$sw_database_tmp_pwd $sw_database

        done

    ;;

    *)

        exit 0

    ;;
esac

exit 0

Da jede Software individuelle Anpassungen benötigt, kannst du nicht einfach ein Script 1:1 übernehmen.
Das ist im Übrigen der einzige Grund, weshalb es das Shell-Script gibt. Ich hab keine Ahnung, wie ich den Prozess ansonsten automatisieren kann.

Edit: Die Datei sql_tables benötigt eine Leerzeile am Ende.

Edit2:
In der sql.sql würde ich folgendes entfernen:
INSERT INTO `session` <-- den ganzen Insert-Block. Du schleppst nur unnötige Daten rum.
INSERT INTO `users` <-- die E-Mail Adresse und das Passwort des Administrators. Die fügst du noch über das Shell-Script ein.


RE: Webapplikationen automatisch installieren - tango - 06-12-2008 01:18 AM

hmm wo der Wille dar ist, ist auch ein Weg Smile

warum kopierst du das ganze webordner nicht und importierst den DAtenbank auf dem bestimmten Kunde und dann später mit mysql abfragen die einzelnen felder ändern wie Benutzername passwort mail usw....


RE: Webapplikationen automatisch installieren - Achmed - 06-12-2008 01:38 AM

hm?
Ich versteh grad nicht, wie du das meinst?!?
Wird doch alles gemacht?!?

Neue Version: beta-1.tar.gz, beta-1.zip
Im Paket befindet sich die Datei "update", in der stehen die geänderten Files und DB-Einträge drin. Ein Update funktioniert nur manuell.

Paar Fehler gefixed, bestimmt auch den einen oder anderen reingemacht. Wink
Löschen funzt nu.
Die fehlerhafte Liste (wenn keine Software vorhanden ist) ist nu weg.
usw.
Software-Uploads müssen nun vom Admin freigeschaltet werden.
Der Admin hat die Möglichkeit freizuschalten, zu löschen und das Paket zur Kontrolle herunter zu laden.


RE: Webapplikationen automatisch installieren - tango - 06-12-2008 03:36 AM

werde es gleich mal ausprobieren, feetback gibt es dann später Smile

also der Install (neu) verlief wieder reibungslos, phpbb konnte ich ohne Probleme installieren funktioniert auch recht gut

das deinstallieren klappte auch super, also keine reste im db oder im ftp Ordner Smile

einziges Problem war das ich als Admin im phpbb nicht einloggen konnte da ich die Zugangsdaten nicht habe Smile

Vorschlag:

ich würde in dem Script noch sql abfrage einbauen und im reseller die Option anzugeben wie

(Forum login)
Benutzername=
Passwort=
Emmailadresse=
Name des Forums

usw......
[/code]
Code:
UPDATE `tabelle` SET `spalte` = REPLACE(`spalte`, 'loginname', 'neuerloginname)

Not: ich konnte es unter Admin die Software Packete nicht installieren oder freigeben sondern immernoch im Reseller Berreich.


RE: Webapplikationen automatisch installieren - Achmed - 06-12-2008 05:03 AM

tango Wrote:einziges Problem war das ich als Admin im phpbb nicht einloggen konnte da ich die Zugangsdaten nicht habe Smile
Achmed Wrote:ToDo:
Client: Vergabe eigener Passwörter und Prefixe falls erforderlich (Bisher wird nur das vom Res. hinterlegte Prefix genutzt und das SQL-Passwort ist auch automatisch das Benutzerpasswort der Applikation.)
Das SQL-Passwort ist auch das Benutzerpasswort.
Werd ich aber ändern, sobald der Rest funktioniert.
Die Abfrage wird aber im Client eingebaut. Der Reseller soll ja nicht das Passwort des Benutzers festlegen.

tango Wrote:Not: ich konnte es unter Admin die Software Packete nicht installieren oder freigeben sondern immernoch im Reseller Berreich.
Also der Upload ist als Reseller zu tätigen.
Die Freischaltung muss aber vom Admin gemacht werden unter:
/admin/manage_software.php. Findest du in der Benutzerverwaltung.
Bevor die Freischaltung nicht erfolgt, kann der Client das Paket nicht sehen, oder installieren.
Wenn das nicht drin ist, hab ich einen Fehler im Install-Script.


RE: Webapplikationen automatisch installieren - tango - 06-12-2008 05:51 AM

@Achmad habe das Joomla packet einbinden wollen, ich bekomme max executionstime=30 error.

warum hat das den bei phpbb funktioniert und bei joomla nicht ??

http://www.alleslegal.net/ispcp/reseller5.png

wenn ich daraufhin zum zweitenmal ausprobieren möchte bekomme ich dieses hier

Code:
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/ispcp/gui/include/class.pTemplate.php on line 212

obwohl ich unter php.ini den wert (übertrieben habe) 600 gestellt habe ??

Edit: @Achmed habe mal ein paar screenshots von meinem CP erstellt,vielleicht kannst du da irgendwas sehen was für dieses Projeckt nützlich sein konnte Wink

http://www.alleslegal.net/ispcp/confixx_admin.png

http://www.alleslegal.net/ispcp/confixx_admin2.png

http://www.alleslegal.net/ispcp/confixx_kunde.png

http://www.alleslegal.net/ispcp/confixx_kunde2.png


RE: Webapplikationen automatisch installieren - Achmed - 06-12-2008 04:04 PM

tango Wrote:@Achmad habe das Joomla packet einbinden wollen, ich bekomme max executionstime=30 error.

warum hat das den bei phpbb funktioniert und bei joomla nicht ??
Hast du es über wget versucht?
Das Paket ist vermutlich zu groß und das dauert zu lange.


RE: Webapplikationen automatisch installieren - tango - 06-12-2008 05:07 PM

Achmed Wrote:Hast du es über wget versucht?
Das Paket ist vermutlich zu groß und das dauert zu lange.

ja ich bekomme das hier angezeigt

Code:
Notice: Undefined variable: dummy in /var/www/ispcp/gui/reseller/software_upload.php on line 135

Notice: Undefined variable: exit_status in /var/www/ispcp/gui/reseller/software_upload.php on line 135

Warning: exec() has been disabled for security reasons in /var/www/ispcp/gui/reseller/software_upload.php on line 135

Notice: Undefined variable: exit_status in /var/www/ispcp/gui/reseller/software_upload.php on line 137
[/code]