# Upgrade von Wheezy auf Jessie schlägt fehl ...



## nofreak (28. Juli 2016)

Hallo in die Runde,

leider auf einem Produktivsystem ein Update gewagt (Daten sind vorher gesichert worden).

Vorgegangen nach folgender Anleitung:

https://www.howtoforge.com/tutorial/how-to-upgrade-debian-wheezy-to-jessie-stable-release/

Beim apt-get dist-upgrade (auf Jessie) kam dann folgende Meldung:

dpkg: Fehler beim Bearbeiten des Archivs /var/cache/apt/archives/php5-json_1.3.6-1_amd64.deb (--unpack):
 Versuch, »/usr/include/php5/ext/json/php_json.h« zu überschreiben, welches auch in Paket php5-dev 5.5.38-1~dotdeb+7.1 ist
Fehler traten auf beim Bearbeiten von:
 /var/cache/apt/archives/php5-json_1.3.6-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Nun hängt das gesamt Update fest.

Ein apt-get -f install hilft nichts. Ein apt-get dist-upgrade bringt nun folgende Abhängigkeitsprobleme:

Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Abhängigkeiten werden korrigiert ... fehlgeschlagen.
Die folgenden Pakete haben unerfüllte Abhängigkeiten:
 apache2 : Hängt ab von: apache2.2-common (= 2.2.22-13+deb7u7) aber 2.4.10-10+deb8u5 ist installiert
 apache2-mpm-prefork : Hängt ab von: apache2.2-common (= 2.2.22-13+deb7u7) aber 2.4.10-10+deb8u5 ist installiert
                       Hängt ab von: apache2.2-bin (= 2.2.22-13+deb7u7) aber 2.4.10-10+deb8u5 ist installiert
 apache2.2-common : Hängt ab von: apache2 (>= 2.3~)
 dpkg : Beschädigt: man-db (< 2.6.3-6~) aber 2.6.2-1 ist installiert
 libapache2-mod-php5 : Hängt ab von: apache2 (>= 2.4)
                       Hängt ab von: php5-json ist aber nicht installiert
 libapache2-svn : Hängt ab von: libapache2-mod-svn ist aber nicht installiert
 libpam-ck-connector : Hängt ab von: libck-connector0 (= 0.4.6-5) aber 0.4.5-3.1 ist installiert
 php5-apcu : Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
 php5-cgi : Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
            Hängt ab von: php5-json ist aber nicht installiert
 php5-cli : Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
            Hängt ab von: php5-json ist aber nicht installiert
            Empfiehlt: php5-readline ist aber nicht installiert
 php5-curl : Hängt ab von: phpapi-20121212 ist aber nicht installierbar
             Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
 php5-gd : Hängt ab von: phpapi-20121212 ist aber nicht installierbar
           Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
 php5-imagick : Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
 php5-imap : Hängt ab von: phpapi-20121212 ist aber nicht installierbar
             Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
 php5-mcrypt : Hängt ab von: phpapi-20121212 ist aber nicht installierbar
               Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
 php5-mysql : Hängt ab von: phpapi-20121212 ist aber nicht installierbar
              Hängt ab von: php5-common (= 5.5.38-1~dotdeb+7.1) aber 5.6.24+dfsg-0+deb8u1 ist installiert
 pkg-php-tools : Hängt ab von: php5-json ist aber nicht installiert
E: Fehler: Unterbrechungen durch pkgProblemResolver::Resolve hervorgerufen; dies könnte durch zurückgehaltene Pakete verursacht worden sein.
E: Abhängigkeiten konnten nicht korrigiert werden.


Und ich hänge jetzt fest mit meiner Weisheit ...

Hat jemand Ideen, wie ich aus dieser Situation entweder:
a) Das Update fortsetzen kann
b) Das Update zurücksetzen kann?

Danke für Hilfen jedweder Art.

Gruß
Frank


----------



## nofreak (28. Juli 2016)

Hallo, 

ich war mal mutig:

aptitude --full-resolver upgrade 

Jedenfalls tut sich was ... mal schauen wo es endet ...


----------



## nofreak (28. Juli 2016)

Schonmal gut ...

im Anschluss konnte ich ein 
apt-get dist-upgrade 

Dann kamen Fehlermeldungen (s.o. Abhängigkeiten etc.)

Dann ein 
apt-get -f install

und es läuft weiter ...

Spannung steigt ;-)


----------



## nofreak (28. Juli 2016)

... so: Problem behoben ...

War ein wenig hakelig und apt-get dist-upgrade musste ein wenig häufig gestartet werden, aber die Hilfe kam wirklich über 
 aptitude --full-resolver upgrade 

Ein paar PHP5-Module wurde nicht installiert und mussten von Hand nachinstalliert werden.
Apache2 startete dadurch nicht.

Im Anschluss war noch ein ispconfig-Update mit Reconfigure Services notwendig...

Und jetzt läuft alles ... Perfekt ...

Danke für nicht ;-) Oder fürs Zuhören - hätte ja auch anders ausgehen können.

LG
Frank


----------



## suther (8. Okt. 2017)

Danke für dein Selbstgespräch.
Hatte das gleiche Problem und auch _aptitude --full-resolver upgrade _gewagt.
Wie von dir erwähnt, sind die Abhängigkeiten danach wieder OK, nur das apache nicht startet. Er meldet:


> Syntax error on line 140 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/php5.load: Cannot load /usr/lib{apache2/modules/libphp5.so into Server: /usr/lib/apache2/modlues/libphp5.so: cannot open shared object file: No such file or directory


Also habe ich erst einmal php5 installiert. 
Zur auslesen der momentan installierten Module (z.B. auf dem alten Server): 

```
aptitude search '~i php'
```
dann diese Module im neuen Server installieren:

```
aptititude install php5 php5-cgi php5-cli php5-common php5-curl php5-dev php5-fpm php5-gd php5-imageick php5-imap php5-intl php5-ldap php5-mcrypt php5-memcache php5-mysql php5-pspell php5-readline php5-recode php5-snmp php5-sqlite php5-tidy php5-xcache php5-xmlrpc php5-xsl
```
Danach meldet der apache2ctl restart: 


> AH00526: Syntax error on line 49 of /etc/apache2/mods-enabled/ssl.conf:
> Invalid command 'SSLMutex', perhaps misspelled or defined by a module not included in the server configuration


Die Apache-Doku sagt hierzu: 


> Directives AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex, and WatchdogMutexPath have been replaced with a single Mutex directive. You will need to evaluate any use of these removed directives in your 2.2 configuration to determine if they can just be deleted or will need to be replaced using Mute


Also in die Datei gehen, und : 

```
SSLMutex file:${APACHE_RUN_DIR)/ssl_mutex
```
gegen

```
Mutex default
```
 tauschen
ein 
	
	



```
apache2ctl restart
```
 schien sauber zu verlaufen, daher habe ich 

```
/usr/local/bin/ispconfig_update.sh
```
 ausgeführt.

Lief soweit auch sauber durch. Jetzt bekomme ich leider bei meinem ISPConfig-Panel login 



> Forbidden - You don't have permission to access / on this server


Rufe ich eine Webseite auf, die auf dem Server liegt, erhalte ich eine ISPConfig-Fehlermedlung: 


> Sie besitzen nicht die erforderlichen RRechte, die angegebene URL zu öffnen.


Hast du das ggf. auch gehabt und nen Tipp, warum er plötzlich die Rechte nicht mehr hat?


----------



## Till (9. Okt. 2017)

hast Du beim update reconfigure-services = yes gemacht? wenn nicht, update nochmal und wähle diese option. ansinsten schau mal mit:

apache2ctl -S

ob apache die website vhosts überhaupt findet.


----------



## suther (9. Okt. 2017)

Danke für dein Feedback. 
Ja, hatte reconfigure-services mit yes beantwortet.
Ich vermute, das ich im ISpconfig den Rsync machen müsste für alle Bereiche. Leider komme ich aber wie gesagt nicht in den ISPConfig rein


----------



## Till (9. Okt. 2017)

Schau mal in die apache2.conf Datei, dort steht recht weit am Ede ein Include fpr 'sites-enabled'. das include muss sein:

/etc/apache2/sites-enabled/

und nicht

/etc/apache2/sites-enabled/*.conf

wenn da *.conf mit drin steht, ändere das mal und starte apache neu.


----------



## suther (9. Okt. 2017)

Also der Include hat kein *.conf. http://cxg.de/_616929.htm
Aber in den ganzen VHost-Dateien sind diese veralteten Allow / Deny Regeln drin. Die wurden ja ersetzt gegen "_Require all granted_" usw. ausgetauscht.
Hatte eigentlich gehofft, das ISPConfig diese automatisch auf Apache 2.4 umschreibt, aber ich gehe davon aus, dass ich dafür die GUI brauche, oder gibt es einen weg, den Rsync via cli durchzuführen?


----------



## Till (9. Okt. 2017)

Zitat von suther:


> Aber in den ganzen VHost-Dateien sind diese veralteten Allow / Deny Regeln drin. Die wurden ja ersetzt gegen "_Require all granted_" usw. ausgetauscht.


Das sollte kein problem sein, die kannst Du mittels resync in ispconfig tauschen sobald Du wieder rein kommst. Verschiebe mal alles ausser den 000-* symlinks in /etc/apache2/sites-enabled/ in einen anderen Ordner und versuche mal ob Du dann nach einem restart ins ispconfig kommst. wenn ja, rufe Tools > resync auf, das schreibt die vhosts neu und erstellt diese symlinks neu.


----------



## suther (9. Okt. 2017)

Ah, habs gefunden. In /etc/apache2/sites-enabled/ war eine feste VHOST-Datei hinterlegt (kein Link) und in der waren noch die alten Allow/Deny Regeln drin.
Daher ist er da ausgestiegen.
Konnte mich nun anmelden, und hab Rsync ausgeführt. Funktioniert wunderbar. Vielen Dank für deine Hilfe Till.


----------

