Page 1 of 2

Update phpwcms

Posted: Mon 22. Sep 2008, 13:23
by flip-flop
(Stand 06.02.09)
Download: - Neueste Version
Docu: - Installation & Update
Änderungsliste: - Laufende Neuerungen/Anderungen

Bei nicht erfahrene Anwender empfiehlt sich eine parallele Installation. (Hat auch den Vorteil, dass du ganz in Ruhe z.B. ein neues Design aufbauen oder Änderungen/Neuerungen einpflegen kannst ohne in Stress zu geraten, da die alte Seite unberührt bleibt).

01. Die aktuelle Version in ein Unterverzeichnis schieben.

02. Die vorhandene DB sichern und in eine zweite DB bringen, also kopieren. (phpMyAdmin -> http://de.wikipedia.org/wiki/PhpMyAdmin).
- Vor dem Exportieren sollten vielleicht die Inhalte folgender Tabellen geleert werden um die DB Größe zu reduzieren:
1. phpwcms_bad_behavior leeren
2. phpwcms_cache leeren
3. phpwcms_formtracking leeren wenn vorhanden
(Links die Tabelle phpwcms_bad_behavior auswählen -> Oben Ansicht auswählen -> unten alle auswählen -> ausgewählte löschen. (Je nach Anzahl der Darstellungsseiten mehrfach ausführen (Das Gleiche für phpwcms_cache, phpwcms_formtracking).
4. Tabellen auf Fehler prüfen und wenn notwendig optimieren/reparieren.

- Die neueren phpMyAdmin exportieren grundsätzlich im UTF-8 Format.
- Die neue DB wird angelegt, mit der entsprechenden collation für die MySQL Verbindung zu phpMyAdmin.
(Bei älteren DB ist das zu 99% swedish_latin1_ci)
- In die neue DB wird nun die exportierte mit der default Zeichencodierung UTF-8 importiert.
Solltest du ein ISO Charset verwenden, kann es notwendig sein, vor dem Import das SQL-File nach ISO zu konvertieren. Das geht ganz gut mit dem unten angesprochenen Editor.
-> SQL-Textfile in den Editor laden, unter "Format" ISO8859-2 auswählen und mit einem neuen Namen abspeichern. Die Datei liegt nun ISO kodiert vor.
(Aber bitte vorher einen einfachen Export/Import mit identischen Einstellungen (Zeichencodierung) probieren!!!).

03. Die vorhandene conf.inc.php in die neue Installation kopieren und mit der dort vorhandenen dist.conf.inc.php abgleichen.
Hier wird natürlich auch die neue DB eingetragen mit der collation und dem charset und das Unterverzeichnis in dem das neue System gerade läuft.
-> Besser wäre es wenn du speziell dazu eine Subdomain einrichten würdest anstatt die Installation mit einem Unterverzeichnisnamen anzusprechen.

04. Datei- und Verzeichnisrechte wie in der Docu angegeben setzen.

05. Setup aufrufen -> Update
- Je nach Versionsstand, die ersten Punkte beachten und ausführen.
- DB Updates nacheinander laufen lassen und auf Fehler achten: (Immer das gesamte Ausgabefeld bis nach unten rollen!!!)
> (Hierbei ist natürlich der Einstiegspunkt zu beachten, ist das z.B. die Version 1.2.8 beginnt das Update mit "15__1.2.7-DEV_to_1.2.9.sql" !!!)
-----------------------------------------------------
- 13__1.2.5-DEV_to_1.2.6-DEV.sql (Ab V1.2.5)
- 14__1.2.6-DEV_to_1.2.7-DEV.sql
- 15__1.2.7-DEV_to_1.2.9.sql
- 16__1.2.9-DEV_to_1.3.0.sql
- 17__1.3.0_to_1.3.2.sql
- 18__1.3.2_to_1.3.3.sql

- 19__1.3.3_to_1.3.4.sql (Ab V1.3.3)
- 19__1.3.4_to_1.3.5.sql
- 20__1.3.5_to_1.3.5.1.sql
- 21__1.3.5_to_1.5.sql
- 22__1.4_to_1.5.sql (Ab V1.4.x)
-----------------------------------------------------
-> Beim letzten Update wird es wahrscheinlich zu Fehlern kommen:
- Fehler: Die Tabelle phpwcms_categories existiert nicht -> ignorieren, da ein Shopupdate, doch der Shop existiert bei dir noch nicht
- Fehler: Die Tabelle phpwcms_log existiert schon -> ignorieren, da diese Tabelle in der neuen Form noch nicht verwendet wird

05.1 Doppelte Indizes in einigen DB-Tabellen

- Es kann passieren, das in den Tabellen doppelte Indexe vorhanden sind.

-> phpMyAdmin aufrufen
-> DB auswählen
-> Tabelle auswählen
-> nach unten rollen zu den Indexen (Dort kannst du alle Indexe löschen die ein "_1 _2 _3 usw." am Ende haben.
(phpMyAdmin sollte dich beim Aufruf der Tabelle auch darauf hinweisen, dass doppelte Indexe vorhanden sind)
!!!Alle Tabellen durchsehen!!!

06. Wenn der Shop nicht gebraucht wird dann lösche bitte den komplette Pfad /include/inc_module/mod_shop/

07. Den Inhalt des Ordners /filearchive/ (phpwcms_filestorage) der alten Version in den Ordner /filearchive/ der neuen Version kopieren (Das gleiche mit Daten unter /picture/* wenn verwendet)
- Geänderte Verzeichnisnamen
ALT . . . . . . . . . . . . . . . . . NEU . . . . .
phpwcms_filestorage -> . . . . filearchive
phpwcms_ftp -> . . . . . . . . . upload
phpwcms_template -> . . . . . template

08. Die vorhandene Datei /config/phpwcms/conf.template_default.inc.php der alten Version mit der neuen abgleichen

09. Wenn du Home anders bezeichnet hast, dann bitte auch die Datei /config/phpwcms/conf.indexpage.inc.php abgleichen

10. Die vorhandenen veränderten CSS-Datei unter /template/inc_css/ aus der alten Version abgleichen mit den entsprechenden neuen css-Dateien

11. Die vorhandenen veränderten Template Dateien /template/inc_cntpart/* aus der alten Version abgleichen mit den entsprechenden neuen Dateien
(Wenn ich von abgleichen spreche, meine ich immer dass die neuen Dateien mit Einträgen aus den alten ergänzt werden)

12. Browsercache löschen -> Backendlogin aufrufen, nicht die Seite aufrufen!!!! (Denn wenn du Google- oder Trackerzeugs installiert hast sollte das vor dem ersten Seitenaufruf in dieser Entwicklungsinstallation deaktiviert sein (Wird später wieder nach Fertigstellung der Seite aktiviert)).

13. In der vorhandenen Vorlage den Trackingcode deaktivieren!!!!

14. Wenn das Backend funktioniert, dann bitte das Verzeichnis /setup/* löschen oder in eine sinnlose Zeichenfolge umbenennen.

15. Das System sollte nun laufen. Beim Neuaufbau der Bilder kann es zu einem Quasistillstand des Systems kommen, nicht erschrecken. (Mehrfach nacheinander die Dateizentrale aufrufen, wenn die z.B. eine timeout Meldung kommt).
(Du kannst natürlich auch den Inhalt des Ordner /content/images/* aus dem alten System kopieren, ist im Normalfall aber nicht notwendig, da das System den Index der Thumbs/verkleinerten Bilder/Dateien neue aufbaut).

---------------
Es sind natürlich noch einige Anpassungen zu bewerkstelligen wie z.B. die <META ...> Tags XHTM fest zu machen:
<meta .... /> usw. Ist aber Kleinkram und hat mit dem Update grundsätzlich nichts zu tun.

Die Vorgehensweise nach diesem Schema hat den Vorteil, das die alte Seite unberührt bleibt und du mit dem neuen System z.B. das Layout oder andere Neuerungen in aller Ruhe entwickeln kannst.
Nach Beendigung der Arbeiten kann das alte System gelöscht werden und die neue Version wird an diese Stelle geschoben bzw. die Domain darauf verbogen.

Wichtig: Der Updatestress wird zum Großteil durch einen unbedachten Umgang mit den css und Templatedateien verursacht.
Grundsatz 1: Immer eigene Namen für CSS- und Templatedateien verwenden die in Gebrauch sind, so werden diese von einem Update nicht berührt.
Grundsatz 2: Wenn möglich sollten für das Basissystem, das Layout und die Navi separate CSS Dateien verwendet werden.
z.B. frontend01.css, layout01.css, navi01.css

----------------
Zum Abgleich bzw. für das Editieren aller Dateien kann z.B. der Editor pspad und dessen FTP-Modus. (Direkter Zugriff aus dem Editor heraus) verwendet werden.
Dieser Editor ist zusammen mit dem TotalCommander (kostenfrei für nichtgewerbliche Seiten) wirklich brauchbar.
Alternativ zum TotalCommander kann auch z.B. http://www.filezilla.de/ verwendet werden. (Ist im FTP Bereich klar überlegen).
-----
Anregung: Ein DIFF. erstellen mit dem TotalCommander

Knut

Re: Update phpwcms

Posted: Mon 22. Sep 2008, 13:40
by update
Hohoo! Knut is striking back again :lol:
Just bookmarking it myself ;)
Very convenient! Thanks a lot!

Re: Update phpwcms

Posted: Thu 25. Sep 2008, 11:05
by Mr.Flash
Danke, hört sich gut an. :D
mal schauen, ob ich noch eine seite mit ner alten version laufen habe..

Re: Update phpwcms

Posted: Sun 5. Oct 2008, 13:13
by update
Scheint mit der Subdomain unter Umständen etwas tricky zu sein:
Auf dem Account, den ich gerade bearbeite, ist die Subdomain auf ein Unterverzeichnis innerhalb der Hauptdomain gerichtet. Beim Aufruf gibt es einen infinite loop, der nur dadurch zu beheben ist, dass ich die .htaccess deaktiviere. Damit wird dann allerdings das rewrite auf phtml in der Hauptdomain ausgeschaltet, die Subdomain funktioniert, die Hauptseite jedoch nicht mehr: die rewritten pages sind anscheinend komplett in irgendeinem Cache (Hoster- Proxies?) noch vorhanden, sodass jeder Seitenaufruf nun ein "not found" produziert :twisted:
Jeder Versuch, die Subdomain vom rewrite auszunehmen, scheiterte (bisher). Und selbst wenn ich jede Direktive in der htaccess auskommentiere, gibt es den Loop. Sehr merkwürdig. Es scheint die schiere Anwesenheit dieser Datei zu genügen, um die Subdomain in die Irre zu schicken...
"...Wirste bekloppt bei..." (Zitat Jens :lol: )

Re: Update phpwcms

Posted: Fri 10. Oct 2008, 21:12
by rushclub
bin schon sehr gespannt auf deine signatur.
muss ja was ganz grosses sein ;)

rush

Re: Update phpwcms

Posted: Sat 8. Nov 2008, 15:04
by chrissowa
hi
ich bin am überlegen auch n update zu machen ...
sollte ich "deine" version 270 nehmen oder lieber die r213?
brauch eigentlich keine speziellen features sondern möchte nur das cms neu aufsetzen.
Die DB hab ich gerade gesichert, ist aber nur 151 kb groß ...
Sonst brauch ich ja nur noch die css Dateien oder?
Leider sind bei deinem Exporttutorial die Screenshots offline. http://www.phpwcms-docu.de/db_sichern.phtml


EDIT:
irgendwie zweifel ich gerade an meiner vorgehensweiße ...
ich versuche eine mischung aus kompletter neuinstallation und dann das alte system übernehmen ...
sprich ich lade gerade 270 hoch und möchte das installieren, mit einer neuen datenbank.
Danach möcht ich dann die css Daten und die alte DB importieren.
Geht das oder muss ich das trotzdem nach den Updateanleitungen machen?
Ich wollte das alte CMS eigentlich nicht anfassen, da meine Erfahrung in dem Bereich sehr zu wünschen übrig lässt....

Re: Update phpwcms

Posted: Sat 8. Nov 2008, 16:21
by Cipolla
Klare Antwort: Nimm die letzte Version, also die r270. Die dev enthalten ja nicht nur neue funktionen, sondern auch fehlerbereinigung und verbesserungen.
Laut einhelliger Aussage, sind die dev stable und somit problemlos im live betrieb einsetzbar.

Re: Update phpwcms

Posted: Sat 8. Nov 2008, 17:15
by chrissowa
jop
danke ^^
habs installiert ...
nur er hat gemeint ich soll global operations ausmachen oder so ... ka wie ich das mach (1und1webspace); mit ner php.ini gings nich (bzw hab ich s nich geschafft)

mal schaun ob ich die alte seite irgendwie importieren kann ...
was ich nur komishc find: ich muss meine logindaten immer zweimal eingeben ... das war beim alten cms auch schon so und ich dachte das war falsch installiert oder so; aber jetz is alles neu und schon wieder so ...

Re: Update phpwcms

Posted: Sat 8. Nov 2008, 17:38
by markus s
TIP:
zum exportieren und importieren der datenbank,
verwendet HeidiSQL ...
hier zum download
ist kostenlos und kopiert sauber...

Re: Update phpwcms

Posted: Sat 8. Nov 2008, 20:43
by juergen
register_globals = off;
Das meinte er. Besser ist das, sonst kommt wer auf die Idee deinen Server mit dummen Varaiablenspielchen zu quälen und zu versuchen da rein zu kommnen, naja.

Und welches BD Backend du nimmst ist meiner Meinung nahc eh Geschmackssache, besser ist es insgesamt zu wissen was man tut (sonst tut man es öfter :mrgreen: )

Re: Update phpwcms

Posted: Fri 12. Dec 2008, 19:08
by Jensensen
Wäre es möglich, diesen Beitrag von flip-flop mal auf "sticky-tricky" zu setzten?

Re: Update phpwcms

Posted: Tue 30. Dec 2008, 03:13
by Jensensen
alles kacke: *

don't forget:
/template/inc_settings/template_default/custom_settings.php

and other custom setting files... e.g
/template/inc_settings/template_default/blah1_settings.php
/template/inc_settings/template_default/blah2_settings.php
/template/inc_settings/template_default/products_settings.php
/template/inc_settings/template_default/history_settings.php
/template/inc_settings/template_default/kaltes_kotzen.php
/template/inc_settings/template_default/image_gallery_settings.php

*) dazu später mehr...

Re: Update phpwcms

Posted: Tue 30. Dec 2008, 04:13
by Jensensen
don't forget
/content/images

@flip-flop:
ad 13: how to?


btw: in real it needs more than 32 steps to do an update. I think this is AWFUL, HORRIBLE!

* quick solution follows...

Re: Update phpwcms

Posted: Tue 30. Dec 2008, 05:05
by Jensensen
before update
all files in 'filearchive ' like for example '3cffa62ce5dc3848be86e3baebbe78ed.jpg' are
chmod 644 with
owner: nobody
group: nobody


but, after copy (flip-flop's step 7)
they are {thanks god} chmod 644 | rw-r--r-- with
owner: ftpuser123xyz
group: ftponly or something

After all WHEN they are '644' it makes no problems to maintain but the different owner/group settings make every update running into inconsistencies.

Some ISPs, web hosters offer to restore/copy the phpwcms web dir to another, a new directory while keeping all owner/group and access rights. So, this would be another approach to run updates, i'm working on to explain. Details to follow shortly...

Re: Update phpwcms

Posted: Sun 4. Jan 2009, 01:00
by Jensensen
As promised, this is a short description of another approach (experientially) to run do updates very fast **):
(and it is verifiable working fine!)

1) WebServer Login (Admin panel)
1.1 Add a new folder to the web (root) directory.
1.2 Upload all the new stuff right here

2) Backup database
copy locally (archive). Leave the actual DB as is. (new files, program should work even with the 'old database')

3) Add a new sub domain
link it to the new web (root) directory (see 1.1).

4) config
4.1 Redact a copy of the (old) config-file with the new --> temporarily settings:

Code: Select all

// site values
$phpwcms['site']              = 'http://SUBDOMAIN.server.me/';
(see 3)
4.2 compare the actually 'old' conf with new settings and (add new) variables of the 'dist.conf.inc.php'
4.3 Copy the temporarily edited conf to the right place in the new web (root) directory (see 1.1)

5) Copy some content
5.1 Open another FTP window, then drag and drop:
5.2 Copy the content of
/filearchive to the folder 'filearchive' in the new web (root) directory.
5.3 Copy the content of
/content/images to the folder 'content/images' in the new web (root)
(After copy all files MUST/should be CHMOD 644 - for me step 5 works fine)

6) CHMOD
6.1 Close one window of the actual session in your FTP-client.
6.2 Reload/refresh the other.
6.3 Change MOD / set CHMOD (phpwcms standards
http://www.phpwcms-docu.de/installation ... wcms.phtml
http://www.phpwcms-docu.de/installation_en.phtml
to the relevant files/folders)

7) Update database
7.1 Call your web server http://SUBDOMAIN.server.me/setup/setup.php
7.2 RUN/EXECUTE THE database --> UPDATE SCRIPTS
7.3 Rename / CHMOD / delete the /setup directory.
7.4 clean database *)

8) Login
8.1 Login to the BE --> SUBDOMAIN.server.me/login.php
8.2 check it || then log out.

9) Copy CUSTOM images, templates, css...additionally
9.1 Add (FTP) your CUSTOM images, CSS, templates, java and FE-render sripts and so on to the right place
9.2 check it again BUT this time call --> SUBDOMAIN.server.me/index.php

10 Relink Domain
10.1 Now everything should look and work fine, so it's time to relink the domain.
Open config and switch back

Code: Select all

// site values
$phpwcms['site']              = 'http://www.server.me/';
10.2 FTP upload the modified conf.
10.3 WebServer Login (Admin panel)
RELINK your domain to the new web (root) directory. (see 1.1)
10.4 CLEAR CACHE!!! (reload) LOGIN to http://WWW.server.me/login.php
10.5 check it again
10.6 Delete the subdomain (optional)


ADD 2: you can do this with a new database also, but then you need to
a) copy the content of the old DB to the new one
b) change the settings of the CONF to the new DB (step 4)

ADD 1 + 5 + 6: Some web providers offer the possibility to restore a 1:1 copy to the new web directory. Afterwards you can copy the new files overwriting [some of] the old ones. There's one minor problem: all outdated files will be copied too. [i hate web servers that contain old, useless files]

I'm afraid, it isn't really faster **) than flip-flop's method :cry: , but it was promised. [i'm experientially working on to get the fastest updates the easiest way]

Flip-flop additionally mentioned some cleaning*) of the database, that I didn't.
But, cleaning the database would be a nice UPDATE FEATURE or MOD, isn't it?