# Serverumzug mit Architekturänderungen



## Viperdriver2000 (15. Apr. 2019)

Hi,
ich hoffe ich bin in dem SubForum hier richtig.

Ich habe vor meinen Server umzuziehen.
Dabei kommen mir ein paar Fragen bzw. Überlegungen wie ich das am besten mache.


```
Aktuelles System:
ISPConfig: 3.1.13p1 
Debian GNU/Linux 8 (jessie)
courier
postfix
apache2
pure-ftpd

Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
/dev/md1        1,8T    930G  807G   54% /
udev             10M       0   10M    0% /dev
tmpfs           3,2G    346M  2,8G   11% /run
tmpfs           7,9G       0  7,9G    0% /dev/shm
tmpfs           5,0M    4,0K  5,0M    1% /run/lock
tmpfs           7,9G       0  7,9G    0% /sys/fs/cgroup
/dev/md0        969M     66M  837M    8% /boot
tmpfs           1,6G       0  1,6G    0% /run/user/1001
tmpfs           1,6G       0  1,6G    0% /run/user/0
```


```
Neues System:
Debian GNU/Linux 9 (stretch)
Anderes HDD konzept. SSD und HDD. SSD mit OS. HDD für Daten.
Software gerade nach https://www.howtoforge.com/tutorial/perfect-server-debian-9-stretch-apache-bind-dovecot-ispconfig-3-1 installiert.

Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
udev             63G       0   63G    0% /dev
tmpfs            13G     39M   13G    1% /run
/dev/md1        216G    2,5G  202G    2% /
tmpfs            63G       0   63G    0% /dev/shm
tmpfs           5,0M    4,0K  5,0M    1% /run/lock
tmpfs            63G       0   63G    0% /sys/fs/cgroup
/dev/md0        969M     36M  867M    4% /boot
/dev/md2        1,8T     68M  1,7T    1% /data
tmpfs            13G       0   13G    0% /run/user/0
```
Also möchte ich in dem Zusammenhang von Courier auf Dovecot umziehen.
Müsste meine Daten nach /data um verlagern. (oder hat jemand ne bessere Idee?)
Der Hostname (vergeben von meinem Anbieter/Hoster) ändert sich.
Die IPs kann ich vom alten zum neuen Server umziehen lassen.

Wie mache ich das am besten?
Bzw. was muss ich beachten?

Jemand da tipps oder ähnliches für mich?

Danke & Gruß
Vip


----------



## Till (15. Apr. 2019)

Die einfachste Möglichkeit ist vermutlich diese:

https://www.howtoforge.com/tutorial...-confixx-plesk-to-ispconfig-31-single-server/ 

Wenn das passende courier to dovecot script zusätzlich installiert ist, dann werden die Mailboxen auch automatisch konvertiert.

Das ganze geht natürlich auch manuell und somit kostenlos, da gibt es diverse Threads zu im englischen Forum und hier.

Wegen dem /data Verzeichnis, schau mal hier:

https://www.howtoforge.com/use_moun...ctory_of_a_ispconfig_server_to_a_new_location


----------



## Viperdriver2000 (16. Apr. 2019)

Zitat von Till:


> Die einfachste Möglichkeit ist vermutlich diese:
> https://www.howtoforge.com/tutorial...-confixx-plesk-to-ispconfig-31-single-server/


Das hatte ich auch gelesen. liest sich auch echt gut.

ich verstehe auch das es Geld kostet (was ich auch bereit bin auszugeben wenn es mir das leben leichter macht), aber ich weiß noch nicht ob ich damit warm werde das es "nur" eine 1 year license ist.
wenn ich das aber in den Comments richtig gelesen habe bekommt man zu dem Tool auch Support (https://www.ispconfig.org/get-support/?type=migration), richtig verstanden?



Zitat von Till:


> Wenn das passende courier to dovecot script zusätzlich installiert ist, dann werden die Mailboxen auch automatisch konvertiert.


welches wäre das? das hatte ich so nicht raus gelesen oder überlesen...



Zitat von Till:


> Das ganze geht natürlich auch manuell und somit kostenlos, da gibt es diverse Threads zu im englischen Forum und hier.


hast du da einen guten Thread wo ich mir das mal anlesen kann ob ich das so machen möchte?



Zitat von Till:


> Wegen dem /data Verzeichnis, schau mal hier:
> https://www.howtoforge.com/use_moun...ctory_of_a_ispconfig_server_to_a_new_location


okay das klingt easy

Danke schon mal


----------



## Till (16. Apr. 2019)

Zitat von Viperdriver2000:


> ich verstehe auch das es Geld kostet (was ich auch bereit bin auszugeben wenn es mir das leben leichter macht), aber ich weiß noch nicht ob ich damit warm werde das es "nur" eine 1 year license ist.
> wenn ich das aber in den Comments richtig gelesen habe bekommt man zu dem Tool auch Support (https://www.ispconfig.org/get-support/?type=migration), richtig verstanden?


Ja, Email support ist enthalten. Mit den Einnahmen der Lizenzen wird die ISPConfig Entwicklung bezahlt.



Zitat von Viperdriver2000:


> welches wäre das? das hatte ich so nicht raus gelesen oder überlesen...


Habe gerade mal nachgesehen, das Tool läd das script in der aktuellen Versions elbts runter und installiert es.



Zitat von Viperdriver2000:


> hast du da einen guten Thread wo ich mir das mal anlesen kann ob ich das so machen möchte?


Da müsste ich jetzt genauso suchen wie Du


----------



## Viperdriver2000 (16. Apr. 2019)

Zitat von Till:


> Ja, Email support ist enthalten. Mit den Einnahmen der Lizenzen wird die ISPConfig Entwicklung bezahlt.


okay. ja verstehe ich, finde ich auch gut.



Zitat von Till:


> Habe gerade mal nachgesehen, das Tool läd das script in der aktuellen Versions elbts runter und installiert es.


ah okay. 



Zitat von Till:


> Da müsste ich jetzt genauso suchen wie Du


okay. naja hätte ja sein können das sowas irgendwo als bookmark oder so rumliegen hast weil öfter drauf verlinkst


----------



## Viperdriver2000 (25. Apr. 2019)

also ich habe mir jetzt euer Migration Toolkit geholt.
habe auch anfangen umzuziehen.
klappte auch recht gut. bis heute.
heute ist das ganze abgebrochen weil der webserver weg war.
weg war er weil er eine falsche config hatte.

```
root@[NEW Host]:~# /etc/init.d/apache2 status
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2019-04-24 12:43:36 CEST; 1 day 2h ago
  Process: 5917 ExecStop=/usr/sbin/apachectl stop (code=exited, status=1/FAILURE)
  Process: 28898 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=1/FAILURE)
  Process: 5929 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

Apr 24 12:43:35 [NEW Host] systemd[1]: Starting The Apache HTTP Server...
Apr 24 12:43:36 [NEW Host] apachectl[5929]: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/sites-enabled/000-ispconfig.conf:73
Apr 24 12:43:36 [NEW Host] apachectl[5929]: AH00526: Syntax error on line 126 of /etc/apache2/sites-enabled/100-[DOMAIN].de.vhost:
Apr 24 12:43:36 [NEW Host] apachectl[5929]: allow not allowed here
Apr 24 12:43:36 [NEW Host] apachectl[5929]: Action 'start' failed.
Apr 24 12:43:36 [NEW Host] apachectl[5929]: The Apache error log may have more information.
Apr 24 12:43:36 [NEW Host] systemd[1]: apache2.service: Control process exited, code=exited status=1
Apr 24 12:43:36 [NEW Host] systemd[1]: Failed to start The Apache HTTP Server.
Apr 24 12:43:36 [NEW Host] systemd[1]: apache2.service: Unit entered failed state.
Apr 24 12:43:36 [NEW Host] systemd[1]: apache2.service: Failed with result 'exit-code'.
root@[NEW Host]:~# /etc/init.d/apache2 restart
[....] Restarting apache2 (via systemctl): apache2.serviceJob for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
 failed!
```
ich musste dann 4 configs aus /etc/apache2/sites-enabled/ entfernen um den apache wieder zu starten.

ich habe die migration jetzt nochmal gestartet weil sie ja noch nicht einmal komplett durch war.
laut log war er noch beim migrieren der Postfächer.

Und dazu habe ich die info vom Anbieter das ich die IP doch nicht umziehen kann...
schade aber auch.


----------



## Till (25. Apr. 2019)

Musst Du mal schauen was genau da in der config stand was er nicht mochte, das können an sich nur custom Direktiven gewesen sein Die Du aufd em alten Server hinteröegt hattest.


----------



## Viperdriver2000 (25. Apr. 2019)

mh eigentlich ist da nix besonderes drin.



Spoiler: vhost





```
root@[NEW Host]:/etc/apache2/sites-enabled# cat 100-[MY DOMAIN].vhost
<Directory /var/www/[MY DOMAIN]>
                AllowOverride None
                Order Deny,Allow
                Deny from all
</Directory>

<VirtualHost *:80>
                                        DocumentRoot /var/www/[MY DOMAIN]/web

                ServerName [MY DOMAIN]
                ServerAlias www.[MY DOMAIN]
                ServerAdmin webmaster@[MY DOMAIN]

                ErrorLog /var/log/ispconfig/httpd/[MY DOMAIN]/error.log

                Alias /error/ "/var/www/[MY DOMAIN]/web/error/"
                ErrorDocument 400 /error/400.html
                ErrorDocument 401 /error/401.html
                ErrorDocument 403 /error/403.html
                ErrorDocument 404 /error/404.html
                ErrorDocument 405 /error/405.html
                ErrorDocument 500 /error/500.html
                ErrorDocument 502 /error/502.html
                ErrorDocument 503 /error/503.html

                <IfModule mod_ssl.c>
                </IfModule>

                <Directory /var/www/[MY DOMAIN]/web>
                                Options FollowSymLinks
                                AllowOverride All
                                Order allow,deny
                                Allow from all
                </Directory>
                <Directory /var/www/clients/client8/web36/web>
                                Options FollowSymLinks
                                AllowOverride All
                                Order allow,deny
                                Allow from all
                </Directory>




                # suexec enabled
                <IfModule mod_suexec.c>
                        SuexecUserGroup web36 client8
                </IfModule>
                # Clear PHP settings of this website
                <FilesMatch "\.ph(p3?|tml)$">
                                SetHandler None
                </FilesMatch>
                # php as fast-cgi enabled
        # For config options see: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
                <IfModule mod_fcgid.c>
                                IdleTimeout 300
                                ProcessLifeTime 3600
                                # MaxProcessCount 1000
                                DefaultMinClassProcessCount 0
                                DefaultMaxClassProcessCount 100
                                IPCConnectTimeout 3
                                IPCCommTimeout 360
                                BusyTimeout 300
                </IfModule>
                <Directory /var/www/[MY DOMAIN]/web>
                                AddHandler fcgid-script .php .php3 .php4 .php5
                                FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php
                                Options +ExecCGI
                                AllowOverride All
                                Order allow,deny
                                Allow from all
                </Directory>
                <Directory /var/www/clients/client8/web36/web>
                                AddHandler fcgid-script .php .php3 .php4 .php5
                                FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php
                                Options +ExecCGI
                                AllowOverride All
                                Order allow,deny
                                Allow from all
                </Directory>


                # add support for apache mpm_itk
                <IfModule mpm_itk_module>
                        AssignUserId web36 client8
                </IfModule>

                <IfModule mod_dav_fs.c>
                # Do not execute PHP files in webdav directory
                        <Directory /var/www/clients/client8/web36/webdav>
                                <ifModule mod_security2.c>
                                        SecRuleRemoveById 960015
                                        SecRuleRemoveById 960032
                                </ifModule>
                                <FilesMatch "\.ph(p3?|tml)$">
                                        SetHandler None
                                </FilesMatch>
                        </Directory>
                        DavLockDB /var/www/clients/client8/web36/tmp/DavLock
                        # DO NOT REMOVE THE COMMENTS!
                        # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
      # WEBDAV BEGIN
                        # WEBDAV END
                </IfModule>


</VirtualHost>
root@[NEW Host]:/etc/apache2/sites-enabled#
```




ansonsten finde ich das mit dem Migration Toolkit echt nett


----------



## Till (25. Apr. 2019)

Bist Du sicher dass das die beanstandete Datei ist? Er sagt Fehler in Zeile 126, der von Dir gespostete Inhalt hat aber nur 107 Zeilen.


----------



## Viperdriver2000 (25. Apr. 2019)

du hast recht. ich hatte den vhost von dem quellserver kopiert.
hier der vom zielserver.


Spoiler: vhost





```
root@[NEW Host]:~# cat /etc/apache2/sites-available/[MY DOMAIN].vhost

<Directory /var/www/[MY DOMAIN]>
                AllowOverride None
                                Require all denied
                </Directory>

<VirtualHost *:80>

                                                                        DocumentRoot /var/www/[MY DOMAIN]/web

                ServerName [MY DOMAIN]
                ServerAlias www.[MY DOMAIN]
                ServerAdmin webmaster@[MY DOMAIN]


                ErrorLog /var/log/ispconfig/httpd/[MY DOMAIN]/error.log

                Alias /error/ "/var/www/[MY DOMAIN]/web/error/"
                ErrorDocument 400 /error/400.html
                ErrorDocument 401 /error/401.html
                ErrorDocument 403 /error/403.html
                ErrorDocument 404 /error/404.html
                ErrorDocument 405 /error/405.html
                ErrorDocument 500 /error/500.html
                ErrorDocument 502 /error/502.html
                ErrorDocument 503 /error/503.html

                <IfModule mod_ssl.c>
                </IfModule>

                <Directory /var/www/[MY DOMAIN]/web>
                                # Clear PHP settings of this website
                                <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                                                SetHandler None
                                </FilesMatch>
                                Options +FollowSymLinks
                                AllowOverride All
                                                                Require all granted
                                                </Directory>
                <Directory /var/www/clients/client8/web36/web>
                                # Clear PHP settings of this website
                                <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                                                SetHandler None
                                </FilesMatch>
                                Options +FollowSymLinks
                                AllowOverride All
                                                                Require all granted
                                                </Directory>




                # suexec enabled
                <IfModule mod_suexec.c>
                        SuexecUserGroup web36 client8
                </IfModule>
                # php as fast-cgi enabled
        # For config options see: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
                <IfModule mod_fcgid.c>
                                FcgidIdleTimeout 300
                                FcgidProcessLifeTime 3600
                                # FcgidMaxProcesses 1000
                                FcgidMaxRequestsPerProcess 5000
                                FcgidMinProcessesPerClass 0
                                FcgidMaxProcessesPerClass 10
                                FcgidConnectTimeout 3
                                FcgidIOTimeout 600
                                FcgidBusyTimeout 3600
                                FcgidMaxRequestLen 1073741824
                </IfModule>
                <Directory /var/www/[MY DOMAIN]/web>
                                <FilesMatch "\.php[345]?$">
                                        SetHandler fcgid-script
                                </FilesMatch>
                                FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php
                                FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php3
                                FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php4
                                FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php5
                                Options +ExecCGI
                                AllowOverride All
                                                                Require all granted
                                                </Directory>
                <Directory /var/www/clients/client8/web36/web>
                                <FilesMatch "\.php[345]?$">
                                        SetHandler fcgid-script
                                </FilesMatch>
                                FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php
                                FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php3
                                FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php4
                                FCGIWrapper /var/www/php-fcgi-scripts/web36/.php-fcgi-starter .php5
                                Options +ExecCGI
                                AllowOverride All
                                                                Require all granted
                                                </Directory>


                RewriteEngine on
                RewriteCond %{REQUEST_URI} ^/\.well-known/acme-challenge/
                RewriteRule ^ - [END]
        RewriteCond %{HTTPS} off
                RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

                # add support for apache mpm_itk
                <IfModule mpm_itk_module>
                        AssignUserId web36 client8
                </IfModule>

                <IfModule mod_dav_fs.c>
                # Do not execute PHP files in webdav directory
                        <Directory /var/www/clients/client8/web36/webdav>
                                <ifModule mod_security2.c>
                                        SecRuleRemoveById 960015
                                        SecRuleRemoveById 960032
                                </ifModule>
                                <FilesMatch "\.ph(p3?|tml)$">
                                        SetHandler None
                                </FilesMatch>
                        </Directory>
                        DavLockDB /var/www/clients/client8/web36/tmp/DavLock
                        # DO NOT REMOVE THE COMMENTS!
                        # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
      # WEBDAV BEGIN
                        # WEBDAV END
                </IfModule>

Allow from 127.0.0.0/255.0.0.0 ::1/128


RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]


</VirtualHost>




root@[NEW Host]:~#
```




root@[NEW Host]:~# cat /etc/apache2/sites-available/[MY DOMAIN].vhost | wc -l
138


----------



## Till (25. Apr. 2019)

Und ich vermute mal, das:


```
Allow from 127.0.0.0/255.0.0.0 ::1/128


RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
```
hast Du im Apache Direktiven Feld der Webseite hinterlegt?

Gibt es eine .err Datei in sites-available Verzeichnis für diese Seite auf dem Quellserver?


----------



## Viperdriver2000 (25. Apr. 2019)

Ah ich verstehe was du meinst.
Ich habe eben mal aufm alten Server geguckt und habe den Eintrag bei der Domain gefunden, auch wenn ich nicht weiß woher er kommt. 
Ich habe ihn mal gelöscht. Ich prüfe das mal noch bei den anderen die als Fehler kamen. Denke mal wird das gleiche sein.
Du hast recht es gibt ein .err Datei zu dem vhost.

EDIT:
bei den anderen war es

```
Allow from 127.0.0.0/255.0.0.0 ::1/128
```
ka warum


----------



## Till (25. Apr. 2019)

Beim Import muss das Migrationstool den Apache config test auf dem Zielserver abschalten, denn der würde bei jedem web den apache testweise neu starten, das dauert zum einen ewig und zum anderen wird dann dauernd die Verbindung unterbrochen da ja das Tool auch per REST API auf den selben apache verbindet. Auf dem Quellserver hat aber der apache config test bisher verhindert, dass die falschen Einträge in den aktiven vhost geschrieben wurden. Ich werde mal eine Notiz in das README schreiben dass man vor der Migration auf dem Quellserver prüfen muss ob es .err Dateien gibt und wenn ja, dass man dann die Probleme beheben muss vor dem Import, damit diese nicht auf dem neuen Server zum Apache Ausfall bei der Migration führen.


----------



## Viperdriver2000 (25. Apr. 2019)

ah okay. das erklärt einiges. 
ja das ist ne gute idee. ggf vielleicht auch im migrationstool ne check der das prüft und ggf hinweist. so als idee.


----------



## Viperdriver2000 (26. Apr. 2019)

ich mal wieder.
hoffe ist okay das ich das hier weiter treibe...

heute Nacht bzw. morgen ist das migrate abgebrochen.


```
[3/1378] Syncing /var/www/clients/client1/web1/web to /var/www/clients/client1/web1/
 29,887,755,738  44%  532.67kB/s   19:32:21   [ERROR] job failed.94/59381)
[4/1378] Syncing /var/www/clients/client1/web1/private/ to /var/www/clients/client1/web1/private/
 [ERROR] job failed.
Write failed: Broken pipe/clients/client1/web1/cgi-bin to /var/www/clients/client1/web1/
Write failed: Broken pipe

              0   0%    0.00kB/s    0:00:00 (xfr#0, to-chk=0/4)
[17/1378] Syncing /var/www/clients/client1/web2/web to /var/www/clients/client1/web2/
        139,015   2%  168.20kB/s    0:00:00 (xfr#10, to-chk=0/280)
[18/1378] Syncing /var/www/clients/client1/web2/private/ to /var/www/clients/client1/web2/private/
              0 100%    0.00kB/s    0:00:00 (xfr#0, to-chk=0/1)
[19/1378] Syncing /var/www/clients/client1/web2/cgi-bin to /var/www/clients/client1/web2/
              0 100%    0.00kB/s    0:00:00 (xfr#0, to-chk=0/1)
[31/1378] Syncing /var/www/clients/client3/web4/web to /var/www/clients/client3/web4/
     16,416,768   0%  741.94kB/s    0:36:44   [ERROR] job failed.058)
Write failed: Broken pipew/clients/client3/web4/private/ to /var/www/clients/client3/web4/private/
Write failed: Broken pipe

 [ERROR] job failed.
Write failed: Broken pipew/clients/client3/web4/cgi-bin to /var/www/clients/client3/web4/
Write failed: Broken pipe

 [ERROR] job failed.
Write failed: Broken pipe
 [ERROR] job failed. Stopping Sync!

=============
Migration tool run completed.
```
im log habe ich das gefunden


```
2019-04-26 06:29:55 - [INFO] Directory /var/www/clients/client3/web4/ does not exist.
2019-04-26 06:46:33 - [INFO] Command mkdir -p '/var/www/clients/client3/web4/' failed.
2019-04-26 07:03:10 - [WARN] Error: Rsync copy from /var/www/clients/client3/web4/cgi-bin to /var/www/clients/client3/web4/ failed. Return value 255.
2019-04-26 07:03:10 - [INFO] Command was: rsync -a --delete-during --info=progress2 -e "ssh -p 65123 -oStrictHostKeyChecking=no -oConnectTimeout=10 -oBatchMode=yes " '/var/www/clients/client3/web4/cgi-bin' 'root@81.169.198.65:/var/www/clients/client3/web4/' 2>/dev/null
2019-04-26 07:03:10 - [ERROR] Execution of job failed: array (
  'type' => 'sync',
  'source' => '/var/www/clients/client3/web4/cgi-bin',
  'target' => '/var/www/clients/client3/web4/',
  'stop_on_error' => false,
)

2019-04-26 07:19:49 - [WARN] JSON API ERROR: session expired. Trying re-login!
```
ich habe dann die migration nochmal neu gestartet.
jetzt fängt er aber nicht an.


```
[...]
What is the ip for the target web server to connect via SSH? [xxx.xxx.xxx.xxx]:
What is the SSH port? [65123]:
```
auf dem Zielserver sehe ich 


```
root     10452  0.0  0.0  69952  6216 ?        Ss   Apr16   0:00 /usr/sbin/sshd -D
root     12168  0.0  0.0  95180  6904 ?        Ss   15:33   0:00  \_ sshd: root
```
sonst sieht es auf dem Zielserver gut aus.


----------



## Till (26. Apr. 2019)

Da ist ja nicht das Migrationstool abgebrochen sondern das Programm rsync bein Kopieren der Dateien. Du könntest versuchen das ClientAliveInterval in /etc/ssh/sshd_config auf dem Zielserver herunterzusetzen.

Den Rsync Part der Migration kannst Du wie folgt erneut anstoßen:

./migrate --syncjobs

Du musst dafür nicht die komplette Migration nochmal starten.


----------



## Viperdriver2000 (26. Apr. 2019)

okay habe ich mal eingefügt.

```
root@[NEW Host]:~# cat /etc/ssh/sshd_config | grep ClientAliveInterval
ClientAliveInterval 15
root@[NEW Host]:~# egrep -v '(^#|^\s*$|^\s*\t*#)' /etc/ssh/sshd_config
Port 65123
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 1024
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
ClientAliveInterval 15
```
ist 15 okay? konnte da bei google eben nix sinnvolles finden...

ich habe das nur gemacht weil die migration nie komplett fertig war. 
wusste halt nicht ob da noch was kommt was nur bei migration gemacht wird.

interessanter weise kam jetzt noch ne Output

```
Creating SSH key.
Now we transfer the key to the target server.
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
```
aber wenn ich normal per ssh mache

```
root@[OLD Host]:~# ssh -p 65123 root@xxx.xxx.xxx.xxx
Linux [NEW Host] 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64
[...]
permitted by applicable law.
root@[NEW Host]:~#
```
geht das mit dem key.


----------



## Till (26. Apr. 2019)

Irgendwas ist da mit der SSH verbindung zwischen Deinen Servern komisch. Ich habe Marius mal den Link zu diesem Thread geschickt, er kann Dir da eher weiter helfen. Generell würde ich bei Fragen zum Migrationstool immer empfehlen den offiziellen support zu kontaktieren denn das geht viel schneller und einfacher:

https://www.ispconfig.org/get-support/?type=migration


----------



## Viperdriver2000 (26. Apr. 2019)

Okay. dann gucke ich mal was Marius sagt und sonst schick ich euch das nochmal per Mail.


----------



## Croydon (26. Apr. 2019)

Mich wundert, dass er plötzlich den Key neu auf den Server kopieren will. Prüf mal bitte die authorized_keys Datei auf dem Target und den id_rsa_migration public key auf dem Source.


----------



## Viperdriver2000 (26. Apr. 2019)

ich habe das eben auch nochmal mit nem händischen rsync versucht. der möchte auch nicht mehr.

```
root@[OLD Host]
:~# rsync -av -P -e "ssh -i $HOME/.ssh/id_rsa -p 65123" --exclude /root/VirtualBox\ VMs/ /root/ root@[NEW Host]:/root/
Connection to [NEW Host] closed by remote host.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]
```
auf dem zielhost sehe ich in den logs

```
Apr 26 23:45:18 [NEW Host] sshd[23375]: Accepted publickey for root from [OLD Host] port 37698 ssh2: RSA SHA256:vRN3qpc6jvWHws9HnYA9/M0KtJijVNOWWiOt+Ven0g4
Apr 26 23:45:18 [NEW Host] sshd[23375]: pam_unix(sshd:session): session opened for user root by (uid=0)
Apr 26 23:45:18 [NEW Host] systemd-logind[978]: New session 1327 of user root.
Apr 26 23:46:18 [NEW Host] sshd[23375]: Timeout, client not responding.
Apr 26 23:46:18 [NEW Host] sshd[23375]: pam_unix(sshd:session): session closed for user root
Apr 26 23:46:18 [NEW Host] systemd-logind[978]: Removed session 1327.
```
bin ich gerade etwas verwirrt von.

ich habe nochmal versucht per ssh und dem erstellten id_rsa_migration auf den server zu kommen. geht auch.
aber ein manueller rsync mit dem key geht auch nicht.

ich verstehe auch nicht den eintrag "Timeout, client not responding" nicht...

EDIT:
also ein KEY problem ist es nicht. irgendwie eher ein Timeout problem.
Ich finde es nur nicht.
habe jetzt auch nochmal die orginal sshd_conf genommen. aber das ändert nix.
in den logs finde ich nix dazu oO
achso und per scp geht es auch nicht. habe ich auch versucht.

EDIT:
Firewall kann ich irgendwie auch ausschließen.

```
root@[NEW Host]:~# iptables -F
root@[NEW Host]:~# iptables -X
root@[NEW Host]:~# iptables -P INPUT ACCEPT
root@[NEW Host]:~# iptables -P FORWARD ACCEPT
root@[NEW Host]:~# iptables -P OUTPUT ACCEPT
root@[NEW Host]:~# iptables -I INPUT -j ACCEPT
root@[NEW Host]:~# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
root@[NEW Host]:~#
```
ändert aber nix.

EDIT:
Habe noch gesehen das ich auf beiden Server verschiedene rsync Versionen habe.
Ein Server ist jessie der andere stretch.
Aber eigentlich auch egal weil es ging ja schon...
Ich hatte trotzdem test weise die selbe Version von stretch auf dem jessie gebaut und getestet.
Ohne Erfolg.
Ich habe auch den stretch mal komplett rebootet. Auch ohne Erfolg.


----------



## Croydon (27. Apr. 2019)

Am besten mal einen manuellen rsync mit dem Parameter -e "ssh -vv" machen, damit er verbose SSH nutzt. Vielleicht sieht man dann auf dem Quellserver, was passiert.


----------



## Viperdriver2000 (27. Apr. 2019)

hi,
 ja hatte ich auch geguckt aber ich sehe da nix was mir weiterhilft.
hatte ich vergessen zu posten.


Spoiler: debug





```
root@[OLD Host]:~# rsync -av --progress -e "ssh -vvv -p 65123" /etc/init.d/ root@[NEW Host]:/tmp/init/
OpenSSH_6.7p1 Debian-5+deb8u8, OpenSSL 1.0.1t  3 May 2016
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to [NEW Host] [[NEW Host IP]] port 65123.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u8
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4p1 Debian-10+deb9u6
debug1: match: OpenSSH_7.4p1 Debian-10+deb9u6 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug3: put_host_port: [[NEW Host]]:65123
debug3: load_hostkeys: loading entries for host "[[NEW Host]]:65123" from file "/root/.ssh/known_hosts"
debug3: load_hostkeys: found key type ECDSA in file /root/.ssh/known_hosts:1
debug3: load_hostkeys: loaded 1 keys
debug3: order_hostkeyalgs: prefer hostkeyalgs: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ssh-ed25519,ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-md5-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-md5-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1
debug2: kex_parse_kexinit: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256
debug2: kex_parse_kexinit: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: kex_parse_kexinit: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: kex_parse_kexinit: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: kex_parse_kexinit: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: setup umac-64-etm@openssh.com
debug1: kex: server->client aes128-ctr umac-64-etm@openssh.com none
debug2: mac_setup: setup umac-64-etm@openssh.com
debug1: kex: client->server aes128-ctr umac-64-etm@openssh.com none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA 01:[...]:ce
debug3: put_host_port: [[NEW Host IP]]:65123
debug3: put_host_port: [[NEW Host]]:65123
debug3: load_hostkeys: loading entries for host "[[NEW Host]]:65123" from file "/root/.ssh/known_hosts"
debug3: load_hostkeys: found key type ECDSA in file /root/.ssh/known_hosts:1
debug3: load_hostkeys: loaded 1 keys
debug3: load_hostkeys: loading entries for host "[[NEW Host IP]]:65123" from file "/root/.ssh/known_hosts"
debug3: load_hostkeys: found key type ECDSA in file /root/.ssh/known_hosts:2
debug3: load_hostkeys: loaded 1 keys
debug1: Host '[[NEW Host]]:65123' is known and matches the ECDSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /root/.ssh/id_rsa (0x555b82879980),
debug2: key: /root/.ssh/id_dsa ((nil)),
debug2: key: /root/.ssh/id_ecdsa ((nil)),
debug2: key: /root/.ssh/id_ed25519 ((nil)),
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /root/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: fp 41:[...]:c6
debug3: sign_and_send_pubkey: RSA 41:[...]:c6
debug1: Authentication succeeded (publickey).
Authenticated to [NEW Host] ([[NEW Host IP]]:65123).
debug2: fd 4 setting O_NONBLOCK
debug3: fd 5 is O_NONBLOCK
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug3: packet_set_tos: set IP_TOS 0x08
debug2: client_session2_setup: id 0
debug1: Sending environment.
debug3: Ignored env XDG_SESSION_ID
debug3: Ignored env SHELL
debug3: Ignored env TERM
debug3: Ignored env XDG_SESSION_COOKIE
debug3: Ignored env SSH_CLIENT
debug3: Ignored env DERBY_HOME
debug3: Ignored env SSH_TTY
debug1: Sending env LC_ALL = de_DE.utf8
debug2: channel 0: request env confirm 0
debug3: Ignored env USER
debug3: Ignored env LS_COLORS
debug3: Ignored env TERMCAP
debug3: Ignored env PATH
debug3: Ignored env MAIL
debug3: Ignored env STY
debug3: Ignored env PWD
debug3: Ignored env JAVA_HOME
debug1: Sending env LANG = de_DE.utf8
debug2: channel 0: request env confirm 0
debug3: Ignored env NODE_PATH
debug3: Ignored env HOME
debug3: Ignored env SHLVL
debug3: Ignored env LANGUAGE
debug3: Ignored env LS_OPTIONS
debug3: Ignored env LOGNAME
debug3: Ignored env VISUAL
debug3: Ignored env WINDOW
debug3: Ignored env SSH_CONNECTION
debug3: Ignored env J2SDKDIR
debug3: Ignored env XDG_RUNTIME_DIR
debug3: Ignored env J2REDIR
debug3: Ignored env HISTTIMEFORMAT
debug3: Ignored env _
debug3: Ignored env OLDPWD
debug1: Sending command: rsync --server -vlogDtpre.iLsfx . /tmp/init/
debug2: channel 0: request exec confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
Write failed: Broken pipe
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: unexplained error (code 255) at io.c(226) [sender=3.1.1]
root@[OLD Host]:~#
```


----------



## Viperdriver2000 (27. Apr. 2019)

da der letzte post schon zu lang ist...

ich habe das eben nochmal mit nem anderen Zielserver versucht. selbes Problem.
ich glaube es liegt an meinem [OLD Host] oO
verstehe ich jetzt noch weniger...

EDIT:
Ich habe jetzt mal [OLD Host] rebootet. Jetzt geht rsync wieder oO ich versuche jetzt nochmal alles zu migrieren.
Ich glaube es wird echt zeit die alte Installation loszuwerden...


----------



## Viperdriver2000 (30. Apr. 2019)

Ich verstehe es nicht.
Jeden Morgen zwischen 4 und 6 kackt der rsync ab.
ich bekomme ihn nur durch einen reboot wieder zum laufen.
ich habe versuch diverse Dienste (zb ssh) zu restarten, ich habe das Netzwerk restartet.
aber alles brachte nix. erst wenn ich den kompletten server reboote.
jetzt lief der server 23h und ich reboote ihn jetzt gleich wieder um dann wieder den rsyn starten zu können.
ich habe mir auch schon die crons angesehen was da ca zu der zeit losrennt aber da ist nix. in den daily ist auch nix. das ist echt deprimierend...


----------



## Till (30. Apr. 2019)

Hast Du denn so viele Daten dass er mehrer Tage läuft? Rsync startet ja zum Glück nicht immer wieder am Anfang.


----------



## Viperdriver2000 (30. Apr. 2019)

also heute Abend ist es mal durch. "Migration tool run completed."
naja viel ist relativ.
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
/dev/md1        1,8T    941G  796G   55% /
und da geht ja noch ne bisl was für os, vm und so ab.
89G     /var/vmail
418G    /var/www

aber die sync speed war auch nicht dolle...
sehe hier noch werte wie 521.07kB/s , 1.12MB/s usw.

das heißt ich kann jetzt noch meinen Rest rumziehen und dann mache ich nochmal nen stop von Diensten mache nen sync und schwenke dann auf den neuen Server.
so meine Theorie jetzt.

EDIT: 
oder kann ich beide Server parallel laufen lassen und einfach in 1-2 tagen Mail nochmal Syncen?


----------



## Viperdriver2000 (4. Mai 2019)

so es sieht so aus als wäre mein Umzug durch.

habe gestern Nacht die A-Records der Domains umgestellt.
scheinbar hat das alles geklappt.
ich weiß das ich ne paar mails verloren habe die scheinbar nicht zugestellt wurden. warum kann ich nicht ganz nachvollziehen.

sonst sieht es gut aus.


----------



## Viperdriver2000 (5. Mai 2019)

okay es sieht doch nicht so gut aus wie ich dachte...
ich habe heute den alten Server mal ausgeschaltet.
seit dem gehen die Websites teilweise nicht mehr oder nicht richtig.
noch verstehe ich nicht warum.
ich habe dann mal ne bisl gesucht und nach der alten ip gesucht.
gefunden habe ich das:

```
root@[NEW Hostname]:~# fgrep -Ri "[MY OLD IP]" /etc/*
/etc/apache2/sites-available/[Domain1].vhost:          RewriteRule   ^/(.*)$ http://[MY OLD IP]/roundcube/$1  [L]
/etc/apache2/sites-enabled/100-[Domain1].vhost:                RewriteRule   ^/(.*)$ http://[MY OLD IP]/roundcube/$1  [L]
/etc/bind/pri.[Domain2]:mail 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain2]:[Domain2]. 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain2]:www 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain2]:[Domain2] 86400      TXT        "v=spf1 a mx a:[MY OLD IP] mx:[OLD Hostname] ip4:[MY OLD IP] ?all"
/etc/bind/pri.[Domain3]:[Domain3]. 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain3]:mail 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain3]:www 3600 A        [MY OLD IP]
/etc/bind/pri.mail.[Domain1]:mail 3600 A        [MY OLD IP]
/etc/bind/pri.mail.[Domain1]:mail.[Domain1]. 3600 A        [MY OLD IP]
/etc/bind/pri.mail.[Domain1]:www 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain4]:mail 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain4]:[Domain4]. 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain4]:www 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain4]:[Domain4] 86400      TXT        "v=spf1 a mx a:[MY OLD IP] mx:[OLD Hostname] ip4:[MY OLD IP] ?all"
/etc/bind/pri.[Domain5]:[Domain5]. 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain5]:mail 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain5]:www 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain5]:[Domain5] 86400      TXT        "v=spf1 a mx a:[MY OLD IP] mx:[OLD Hostname] ip4:[MY OLD IP] ?all"
/etc/bind/pri.[Domain6]:mail 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain6]:[Domain6]. 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain6]:www 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain6]:[Domain6] 86400      TXT        "v=spf1 a mx a:[MY OLD IP] mx:[OLD Hostname] ip4:[MY OLD IP] ?all"
/etc/bind/pri.[Domain1]:[Domain1]. 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain1]:mail 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain1]:www 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain1]:[Domain1] 86400      TXT        "v=spf1 a mx a:[MY OLD IP] mx:[OLD Hostname] ip4:[MY OLD IP] ?all"
/etc/bind/pri.[Domain7]:mail 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain7]:[Domain7]. 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain7]:www 3600 A        [MY OLD IP]
/etc/bind/pri.[Domain7]:[Domain7] 86400      TXT        "v=spf1 a mx a:[MY OLD IP] mx:[OLD Hostname] ip4:[MY OLD IP] ?all"
/etc/ssh/sshd_config:#ListenAddress [MY OLD IP]
/etc/ssh/sshd_config.own:#ListenAddress [MY OLD IP]
```
ich habe dann in ispconfig unter dns diese Einträge gefunden.
ich wüsste nicht das ich sie angelegt habe.
ich habe sie mal entfernt. (hatte mir vorher screenshots gemcht)

ich habe mal dann mal ne paar Domains gecheckt.
da wird teilweise der Content von anderen usern angezeigt.
oder da wo Inhalt ist wird die default ispconfig site angezeigt.
bei einigen Domain kommt auch die default apache site.

verstehe ich gar nicht. ich bin verwirrt...

EDIT
weder in den apache logs noch den client apache logs finde ich einträge oO


----------



## Strontium (6. Mai 2019)

Zitat von Viperdriver2000:


> seit dem gehen die Websites teilweise nicht mehr oder nicht richtig.


Vermutlich sind die DNS Records falsch bzw. noch nicht (weltweit) aktualisiert.


----------



## Viperdriver2000 (6. Mai 2019)

ja dachte ich auch. aber das hier "da wird teilweise der Content von anderen usern angezeigt." passt dazu nicht.
also das eine domain die bei einem "client3" connectet ist und den content von "client1" anzeigt.


----------



## Till (6. Mai 2019)

Das klingt nach einem SSL Problem, wenn eine website kein SSL hat und Du per SSL auf die Seite zugreifst, dann bekommst Du den Inhalt der ersten Seite mit SSL die apache findet. Prüf mal ob SSL in der Website aktiv ist in ISPConfig.


----------



## Viperdriver2000 (6. Mai 2019)

ja das kann hinkommen weil die domain mit b anfängt...
ich habe jetzt bei allen mal ssl deaktiviert.
und deaktiviert das er von http auf https umschwenkt.
trotzdem werde ich immer auf https geleitet was natürlich wegen dem deaktivierten ssl nicht geht.
_seufz_
kann ich das ssl geraffel alles nochmal löschen und dann wenn alles auf http läuft nochmal neu machen?


----------



## Till (6. Mai 2019)

Einfach SSL in den website settings der jeweiligen seite deaktivieren, wenn sie nur auf hhtp laufen soll. Wenn Du Probleme mit let's encrypt hast, dann aktualisier ISPConfig mal auf git-stable mit dem ispconfig_update.sh Befehl. Es gibt derzeit einen Bug in certbot und ein workaround für den gibt es im ispconfig git-stable.


----------



## Viperdriver2000 (6. Mai 2019)

habe ich mal gemacht. ändert aber nix.

ich habe jetzt mal eben folgendes geguckt:

```
root@[NEW Host]:/var/www# fgrep -Ri "SSLEngine" /etc/apache2/sites-available/*
/etc/apache2/sites-available/[Domain1].vhost:         SSLEngine on
/etc/apache2/sites-available/default-ssl.conf:          SSLEngine on
/etc/apache2/sites-available/ispconfig.vhost:  SSLEngine On
/etc/apache2/sites-available/[Domain2].vhost:               SSLEngine on
/etc/apache2/sites-available/[Domain3].vhost:             SSLEngine on
root@[NEW Host]:/var/www#
```
ich habe aber mehr domains...

```
root@[NEW Host]:/var/www# ll /etc/apache2/sites-enabled/100-*.vhost | wc -l
19
```
wenn ich in ispconfig bei einer nicht genannten domain 

```
X SSL
X Let's Encrypt SSL
```
mache und nach der Verarbeitung nochmal rein gehen sind die beiden X wieder weg.
Wenn ich nur SSL mache bleibt es da.
ändert aber nix an obigen grep.
Ich habe das Gefühl das beim Umzug da irgendwie was nicht geklappt hat mit den LE Sachen.

Welche logs könnte ich mir dazu angucken?
die sind nicht wirklich aussagekräftig.
oder muss ich erst debug loggin anmachen?

```
root@[NEW Host]:/var/log/ispconfig# ll *.log
-rw-rw---- 1 ispconfig ispconfig  273 Mai  6 17:55 auth.log
-rw-rw---- 1 root      root      610K Mai  6 18:47 cron.log
-rw-r--r-- 1 root      root         0 Mai  6 00:01 ispconfig.log
```


----------



## Till (7. Mai 2019)

Schau mal ins letsencrypt.log. Möglicherweise hast Du 2 accounts in /etc/letsencrypt, es sollte aber nur einer da sein. Ansonsten hilft Dir der ISPConfig debug Modus um zus ehen warum sich LE nicht aktivieren lässt.


----------



## Viperdriver2000 (7. Mai 2019)

ah auf das letsencrypt log bin ich noch nicht gekommen und da sehe ich dinge die glaube ich nicht gut sind...

```
2019-05-07 02:07:07,687:WARNING:certbot.renewal:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/certbot/renewal.py", line 64, in _reconstitute
    renewal_candidate = storage.RenewableCert(full_path, config)
  File "/usr/lib/python3/dist-packages/certbot/storage.py", line 460, in __init__
    self._check_symlinks()
  File "/usr/lib/python3/dist-packages/certbot/storage.py", line 519, in _check_symlinks
    "expected {0} to be a symlink".format(link))
certbot.errors.CertStorageError: expected /etc/letsencrypt/live/[DOMAIN1]/cert.pem to be a symlink
2019-05-07 02:07:07,687:WARNING:certbot.renewal:Renewal configuration file /etc/letsencrypt/renewal/[DOMAIN1].conf is broken. Skipping.
2019-05-07 02:07:07,687:DEBUG:certbot.renewal:Traceback was:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/certbot/renewal.py", line 64, in _reconstitute
    renewal_candidate = storage.RenewableCert(full_path, config)
  File "/usr/lib/python3/dist-packages/certbot/storage.py", line 460, in __init__
    self._check_symlinks()
  File "/usr/lib/python3/dist-packages/certbot/storage.py", line 519, in _check_symlinks
    "expected {0} to be a symlink".format(link))
certbot.errors.CertStorageError: expected /etc/letsencrypt/live/[DOMAIN1]/cert.pem to be a symlink

2019-05-07 02:07:07,688:INFO:certbot.storage:Attempting to parse the version 0.31.0 renewal configuration file found at /etc/letsencrypt/renewal/[DOMAIN2].conf with version 0.28.0 of Certbot. This might not work.
2019-05-07 02:07:07,690:INFO:certbot.renewal:Cert not yet due for renewal
2019-05-07 02:07:07,690:DEBUG:certbot.plugins.selection:Requested authenticator webroot and installer None
```
den ISPConfig debug Modus habe ich nun auch gefunden und von error auf debug gestellt. gestern nicht gefunden.

zu den accounts bei LE.

```
/etc/letsencrypt/accounts:
insgesamt 24K
drwx------ 6 root root 4,0K Mär  2 17:59 .
drwxr-xr-x 9 root root 4,0K Mai  7 02:07 ..
drwx------ 3 root root 4,0K Okt 23  2017 acme-staging.api.letsencrypt.org
drwx------ 2 root root 4,0K Mär  2 17:53 acme-staging-v02.api.letsencrypt.org
drwx------ 3 root root 4,0K Sep 19  2016 acme-v01.api.letsencrypt.org
drwx------ 2 root root 4,0K Mär  2 17:59 acme-v02.api.letsencrypt.org
```
wie kann ich denn das ganze cert zeug zurücksetzen?
Laut howto brauchte ich ja nur das certbot-auto clonen und machen. der rest sollte ja dann alleine kommen.
kann ich einfach alles im /etc/letsencrypt/* löschen und dann fange ich quasi bei 0 an ?


----------



## Till (7. Mai 2019)

Zitat von Viperdriver2000:


> kann ich einfach alles im /etc/letsencrypt/* löschen und dann fange ich quasi bei 0 an ?


Ist vermutlich das einfachste. Aber lieber erstmal umbenennen und nicht glich löschen.


----------



## Viperdriver2000 (8. Mai 2019)

habe mir das Verzeichnis vorher gepackt dann den Inhalt gelöscht.

dann bei einer Domain 

```
X SSL
X Let's Encrypt SSL
```
an gemacht.

dabei das ganze im ispconfig debug log verfolgt.


```
08.05.2019-11:46 - DEBUG - Calling function 'check_phpini_changes' from plugin 'webserver_plugin' raised by action 'server_plugins_loaded'.
08.05.2019-11:46 - DEBUG - Found 1 changes, starting update process.
08.05.2019-11:46 - DEBUG - Calling function 'ssl' from plugin 'apache2_plugin' raised by event 'web_domain_update'.
08.05.2019-11:46 - DEBUG - Calling function 'update' from plugin 'apache2_plugin' raised by event 'web_domain_update'.
08.05.2019-11:46 - DEBUG - Migration mode active, skipping Let's Encrypt SSL Cert creation for: [DOMAIN1]
08.05.2019-11:46 - DEBUG - Let's Encrypt Cert file:  does not exist.
08.05.2019-11:46 - DEBUG - Add server alias: [DOMAIN1,5 (umlaut)]
08.05.2019-11:46 - DEBUG - Creating fastcgi starter script: /var/www/php-fcgi-scripts/web4/.php-fcgi-starter
08.05.2019-11:46 - DEBUG - Writing the vhost file: /etc/apache2/sites-available/[DOMAIN1].vhost
08.05.2019-11:46 - DEBUG - Processed datalog_id 3736
08.05.2019-11:46 - DEBUG - Calling function 'restartHttpd' from module 'web_module'.
08.05.2019-11:46 - DEBUG - Restarting httpd: systemctl reload apache2.service
08.05.2019-11:46 - DEBUG - Remove Lock: /usr/local/ispconfig/server/temp/.ispconfig_lock
```
ich bin davon leicht verwirrt.

```
Migration mode active, skipping Let's Encrypt SSL Cert creation for: [DOMAIN1]
```
aber in dem howto habe ich nix gefunden das ich "Migration mode" beenden muss bzw. wie oder ich verstehe die Meldung falsch?


----------



## Till (8. Mai 2019)

Der Migration mode wird an sich automatisch beendet. Du kannst Ihn aber auch unter System > Server config ausschalten. Der Migration Mode ist dafüpr da dass er bei einer Migration nicht versucht LE wegen neuer certs zu kontaktieren, stattdessen nimmt er die bestehenden, denn sonst würde LE die certs ablehnen wenn der DNS noch nicht umgestellt ist.


----------



## Viperdriver2000 (9. Mai 2019)

okay ich scheine weiter zu sein. nachdem ich den modus manuell ausgeschaltet habe, bei allen domain nochmal LE angeschaltet habe wurde für alle domains das LE erstellt.

bei 2 domains habe ich noch probleme.
sie sind per https://Domain.de erreichbar aber nicht per https://www.domain.de

hier mal der vhost der domain im anhang (post wäre sonst zu lang)

alternativ screenshots aus ispconfig.


http://imgur.com/Jn2Ss0T




http://imgur.com/6IXPX32




http://imgur.com/BmmR4nN




http://imgur.com/ze7Zgvz


----------



## Till (9. Mai 2019)

Prüfe mal ob die www subdomain der Domain im DNS auch wirklich auf die richtige Ip verweist und dann stell auto subdomain auf www und nicht auf *, denn eine * (wildcard) SSWL cert bekommst Du nicht von LE sondern nur eines für www.


----------



## Viperdriver2000 (9. Mai 2019)

okay. so doof habe ich nicht gedacht. wie es dann kommt.

```
root@mvps-vm1:~ # dig [Domain1].com @8.8.8.8

; <<>> DiG 9.10.3-P4-Debian <<>> [Domain1].com @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52496
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;[Domain1].com.            IN      A

;; ANSWER SECTION:
[Domain1].com.     149     IN      A       [MY NEW IP]

;; Query time: 34 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu May 09 20:38:55 BST 2019
;; MSG SIZE  rcvd: 63

root@mvps-vm1:~ # dig www.[Domain1].com @8.8.8.8

; <<>> DiG 9.10.3-P4-Debian <<>> www.[Domain1].com @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25498
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.[Domain1].com.                IN      A

;; ANSWER SECTION:
www.[Domain1].com. 21599   IN      A       [MY OLD IP]

;; Query time: 37 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu May 09 20:39:00 BST 2019
;; MSG SIZE  rcvd: 67
```
Ich habe halt bei meinem Anbieter den A-Record für die Domain angelegt.
für www hatte ich nie eine subdomain angelegt.
eben habe ich aber mal bei denen im webinterface geguckt.
da steht "Beim Anlegen einer Subdomain werden die DNS-Einstellungen und das Umleitungsziel der Domain nicht übernommen. *Ausgenommen von der Regelung ist die Subdomain www: Hierfür werden die DNS-Einstellungen teilweise übernommen.*"
in meinem fall ist das aber nicht passiert.
ich glaube ich muss die mal anschreiben...ich wüsste nicht wie ich das fixen kann. die domainverwaltung liegt ja bei denen.


----------



## Viperdriver2000 (21. Juni 2019)

Hi,
nach Urlaub und Krankenhausaufenthalt kann ich vermelden das die Domains jetzt auf die richtige IP zeigen.

Es sieht erstmal so aus als wenn jetzt alles funktioniert.
Ich werde noch etwas mit dem Umleitungen *.tld zu www.tld spielen mal sehen ob ich noch auf Probleme stoße.

Ansonsten danke für die tolle Unterstützung!

Gruß
Vip


----------

