Migration unter Debian:
Hatte bei einer ispCP Migrations Probleme mit den FTP Usern wo die GID und UIDs nicht stimmten.
Hier eine TOADD Methode incl. FTP Fix - wobei die GID & UIDs der FTP User richtig gesetzt und die Permissions neu gesetzt werden.
Auf altem Server
apt-get update
apt-get install rsync
/etc/init.d/postfix stop
/etc/init.d/proftpd stop
/etc/init.d/apache2 stop
CRONS deaktivieren
cd /
tar -czf virtual.tar /var/www/virtual
scp virtual.tar IP-ADRESS-NEW:/virtual.tar
mkdir /backup
cd /backup
mysqldump --opt --password=PASSWORD --allow-keywords --flush-logs --hex-blob --quote-names --all-databases > /backup/mysql.sql
Packen:
tar -czf mysql.tar mysql.sql
Neuer Server:
mkdir /backup
Alter Server:
mysql auf neuen Server übertragen:
scp /backup/mysql.tar root@IP-ADRESS-NEW:/backup/mysql.tar
Neuer Host:
/etc/hosts und resolve.conf anpassen
/etc/apt/sources.list von altem Server verwenden:
apt-get update
apt-get install rsync bzip2
###########################################################
ISPCP auf neuem Server installieren
WICHTIG: ispCP - gleiche ispCP Version wie auf altem System installieren!
Gleiche Passwörter wie bei der alten Installation verwenden!
###########################################################
einloggen ins Admin Panel wegen DB Update
dann:
zusätzliche Software installieren ssl (Certs), eaccellerator, modsecurity2 usw.
ssh noch nicht konfigurieren wegen rsync.
DB Restore auf neuem Server:
cd /backup
tar -xzf mysql.tar
mysql -uroot -p mysql < mysql.sql
dann vom alten Server ausführen:
rsync -az -e ssh /var/www/ispcp/* IP-ADRESSE-NEU:/var/www/ispcp/
rsync -az -e ssh /etc/ispcp/ispcp.conf IP-ADRESSE-NEU:/etc/ispcp/
rsync -az -e ssh /etc/ispcp/apache/parts/* IP-ADRESSE-NEU:/etc/ispcp/apache/parts/
rsync -az -e ssh /etc/ispcp/fcgi/parts/* IP-ADRESSE-NEU:/etc/ispcp/fcgi/parts/
rsync -az -e ssh /etc/postfix/* IP-ADRESSE-NEU:/etc/postfix/
rsync -az -e ssh /etc/proftpd/* IP-ADRESSE-NEU:/etc/proftpd/
rsync -az -e ssh /etc/mysql/debian.cnf IP-ADRESSE-NEU:/etc/mysql/
rsync -az -e ssh /etc/mysql/my.cnf IP-ADRESSE-NEU:/etc/mysql/
rsync -az -e ssh /var/spool/cron/* IP-ADRESSE-NEU:/var/spool/cron/
Neuer Server:
nano /etc/ispcp.conf
IP Adresse und Domain anpassen auch Mail (vmail GID/ UID nachsehen in /etc/passwd) und übernehmen.
sowie Anpassungen in:
/etc/postfix/main.cf
/etc/proftpd/proftpd.conf
/etc/hosts
/etc/default/saslauthd START=yes
reboot
mysqlcheck --all-databases -r -uroot -p
Auf neuem Server ausführen:
mysql -u root -p
USE ispcp
UPDATE domain SET domain_gid = "0";
UPDATE domain SET domain_uid = "0";
UPDATE domain SET domain_status = "toadd";
UPDATE subdomain SET subdomain_status = "toadd";
UPDATE domain_aliasses SET alias_status = "toadd";
UPDATE mail_users set status = "toadd";
quit
mit PMA als root in ispcp DB einloggen
server_ips neu setzen
/var/www/ispcp/engine/ispcp-rqst-mngr
rm -rf /var/www/virtual/*
tar -xzf virtual.tar
dann vom alten Server ausfühern:
rsync -az -e ssh /var/mail/virtual/* IP-ADRESSE-NEU:/var/mail/virtual/
rsync -az -e ssh /var/log/apache2/* IP-ADRESSE-NEU:/var/log/apache2/
Auf dem neuen Server ausführen:
nano /root/mysql.cnf
einfügen:
Code:
[client]
user=root
password=mysql_password
speichern
## KUNDEN GID & UIDs NACH DEM RESTORE SETZEN - Danke an: sci2tech und nicolas :-)
nano /var/www/ispcp/engine/setup/groups.sh
einfügen:
Code:
#!/bin/bash
#
# PROCESS DIRECTORY RIGHTS (OWNERSHIP & CHMOD)
#
# !!!! Edit path to mysql cnf file !!!!
mycnf=/root/mysql.cnf
# sample mysql.cnf looks like this:
# [client]
# user=user_for_ispcp_database_usualy_root
# password=password_of_user
for domain_id in `echo "SELECT domain_id FROM ispcp.domain" | mysql --defaults-file=$mycnf -s`;
do
uid=`echo "SELECT domain_uid FROM ispcp.domain WHERE domain_id='$domain_id'" | mysql --defaults-file=$mycnf -s`;
gid=`echo "SELECT domain_gid FROM ispcp.domain WHERE domain_id='$domain_id'" | mysql --defaults-file=$mycnf -s`;
dmn=`echo "SELECT domain_name FROM ispcp.domain WHERE domain_id='$domain_id'" | mysql --defaults-file=$mycnf -s`;
echo "===========================================================";
echo " $dmn";
echo "===========================================================";
# process ftp
echo "UPDATE \`ispcp\`.\`ftp_group\` SET \`gid\`='$gid' WHERE \`groupname\`='$dmn'" | mysql --defaults-file=/root/mysql.cnf -s
echo "UPDATE \`ispcp\`.\`ftp_users\` SET \`uid\`=$uid, \`gid\`='$gid' WHERE \`userid\` like '%@$dmn'" | mysql --defaults-file=/root/mysql.cnf -s
chown -vR vu$uid:vu$gid /var/www/virtual/$dmn
chmod 770 /var/www/virtual/$dmn
chown -v vu$uid:www-data /var/www/virtual/$dmn
chown -vR vu$uid:www-data /var/www/virtual/$dmn/backups
chmod 770 /var/www/virtual/$dmn/backups
chown -vR vu$uid:vu$gid /var/www/virtual/$dmn/cgi-bin
chmod 755 /var/www/virtual/$dmn/phptmp
chown -vR vu$uid:vu$gid /var/www/virtual/$dmn/errors
chmod 775 /var/www/virtual/$dmn/errors
chown -vR vu$uid:vu$gid /var/www/virtual/$dmn/htdocs
find /var/www/virtual/$dmn/htdocs -type d -exec chmod 775 {} \;
chown -v vu$uid:www-data /var/www/virtual/$dmn/.ht*
chmod 640 /var/www/virtual/$dmn/.ht*
chown -vR vu$uid:www-data /var/www/virtual/$dmn/logs
chmod 770 /var/www/virtual/$dmn/logs
chown -vR vu$uid:www-data /var/www/virtual/$dmn/phptmp
chmod 770 /var/www/virtual/$dmn/phptmp
chown -R vmail.mail /var/mail/virtual/*
done
dann:
chmod 700 /var/www/ispcp/engine/setup/groups.sh
dann ausführen:
/var/www/ispcp/engine/setup/groups.sh
diese groups.sh und /root/mysql.cnf danach wieder löschen!
/var/www/ispcp/engine/setup/set-gui-permissions.sh
Root Login unterbinden - SSH konfigurieren
Confs checken - postfix, proftpd usw.
reboot