Vesta Panel IP Değiştirme

AI Icon Bu İçeriği Yapay Zekâ (AI) ile Özetleyin:

Vesta Panel oldukça sade bir görünümüne sahip, Apache ve Nginx destekleyen web hosting kontrol panelidir. Özellikle Linux Hosting ve web tasarım firmaları tarafından da oldukça tercih ediliyor.

Vesta Panel IP değişimi nasıl yapılır?

Vesta Panel üzerinde herhangi bir sebeple ip değişikliği (main ip) yapacaksanız aşağıdaki adımları izleyebilirsiniz.

touch /usr/local/vesta/bin/v-change-server-ip
chmod 0755 /usr/local/vesta/bin/v-change-server-ip
nano /usr/local/vesta/bin/v-change-server-ip

Aşağıdaki içeriği v-change-server-ip sh betiğine kopyalayın;

#!/bin/sh

#script to change ips on a VestaCP server.
#usage:
# $0 <oldip> <newip>

LOG=/var/log/vesta/system.log

MYUID=`/usr/bin/id -u`
if [ "$MYUID" != 0 ]; then
        echo "You require Root Access to run this script";
        exit 0;
fi

if [ $# != 2 ] && [ $# != 3 ]; then
        echo "Usage:";
        echo "$0 <oldip> <newip> [<file>]";
        echo "you gave #$#: $0 $1 $2 $3";
        exit 0;
fi

OLD_IP=$1
NEW_IP=$2

HAVE_HTTPD=1
HAVE_NGINX=1

DATE=`date '+%F %X'`
BIN=`echo $0 | awk -F/ '{print $NF}'`

log()
{
        echo -e "$1";
        echo -e "$1" >> $LOG;
}

swapfile()
{
        if [ ! -e $1 ]; then
                log "Cannot Find $1 to change the IPs. Skipping...";
                return;
        fi

        TEMP="perl -pi -e 's/${OLD_IP}/${NEW_IP}/g' $1"
        eval $TEMP;

        log "$DATE $BIN $1\t: $OLD_IP -> $NEW_IP";
}

if [ $# = 3 ]; then
        swapfile $3;
        exit 0;
fi


IPFILE_OLD=/usr/local/vesta/data/ips/$OLD_IP
IPFILE_NEW=/usr/local/vesta/data/ips/$NEW_IP
if [ ! -e $IPFILE_OLD ]; then
        echo -n "$IPFILE_OLD does not exist.  Do you want to continue anyway? (y/n) : ";
        read YESNO;
        if [ "$YESNO" != "y" ]; then
                exit 0;
        fi
else
        mv -f $IPFILE_OLD $IPFILE_NEW
        log "$DATE $0 $IPFILE_OLD\t: $OLD_IP -> $NEW_IP";
fi

if [ "${HAVE_HTTPD}" -eq 1 ]; then
        if [ -e /etc/httpd/conf.d/${OLD_IP}.conf ]; then
                swapfile /etc/httpd/conf.d/${OLD_IP}.conf
                mv -f /etc/httpd/conf.d/$OLD_IP.conf /etc/httpd/conf.d/${NEW_IP}.conf
        fi
        swapfile /etc/httpd/conf.d/mod_extract_forwarded.conf
fi

if [ "${HAVE_NGINX}" -eq 1 ]; then
        if [ -e /etc/nginx/conf.d/${OLD_IP}.conf ]; then
                swapfile /etc/nginx/conf.d/${OLD_IP}.conf
                mv -f /etc/nginx/conf.d/$OLD_IP.conf /etc/nginx/conf.d/${NEW_IP}.conf
        fi
fi

swapfile /etc/hosts

ULDDU=/usr/local/vesta/data/users

for i in `ls $ULDDU`; do
{

        if [ ! -d $ULDDU/$i ]; then
                continue;
        fi

        swapfile $ULDDU/$i/web.conf
        swapfile $ULDDU/$i/dns.conf
        for j in `ls $ULDDU/$i/dns/*.conf`; do
        {
                swapfile $j
        };
        done;

        if [ "${HAVE_HTTPD}" -eq 1 ]; then
                swapfile /home/$i/conf/web/httpd.conf
        fi
        if [ "${HAVE_NGINX}" -eq 1 ]; then
                swapfile /home/$i/conf/web/nginx.conf
        fi

        for j in `ls /home/$i/conf/dns/*.db`; do
        {
                swapfile $j
        };
        done;

};
done;

#this is needed to update the serial in the db files.
if [ "${HAVE_HTTPD}" -eq 1 ]; then
   service httpd restart
fi
if [ "${HAVE_NGINX}" -eq 1 ]; then
   service nginx restart
fi

echo "*** Done swapping $OLD_IP to $NEW_IP ***";

Ve komutu çalıştırın;

/usr/local/vesta/bin/v-change-server-ip eski_ip yeni_ip

Not : Firewall kullanıyorsanız, ip’lerinizi değiştirmeyi unutmayın. iptables config dosyanıza ip girdiyseniz;

nano sysconfig/iptables

Dosyası üzerinden değişikliği yapmanız gerekir.

Sık Sorulan Sorular

v-change-server-ip komutunda permission denied hatası

Betiğe çalıştırma izni verin: chmod 0755 /usr/local/vesta/bin/v-change-server-ip. Dosya sisteminiz noexec ise ilgili mount için exec ile yeniden bağlayın veya betiği /root/ altında çalıştırın.

/usr/local/vesta/bin/v-change-server-ip not found hatası

Dosya yolunu doğrulayın ve betiğin gerçekten oluşturulup kaydedildiğini kontrol edin: ls -l /usr/local/vesta/bin/. Satır sonları Windows formatında ise dos2unix /usr/local/vesta/bin/v-change-server-ip çalıştırın.

IP değişimi sonrası Apache ya da Nginx reload başarısız

Servis durumunu kontrol edin: systemctl status httpd nginx. Hata varsa test edin:
Apache için apachectl configtest
Nginx için nginx -t
Sonra yeniden başlatın: systemctl restart httpd nginx.

DNS zone serial güncellenmediği için kayıtlar yayılmıyor

Betik sonunda servis restart var ama serial artmıyorsa ilgili zone dosyalarının serial’larını manuel artırın: /home/USER/conf/dns/DOMAIN.db içinde SOA satırındaki seri numarasını artırın, ardından systemctl restart named (BIND kullanıyorsanız).

Tek sunucuda birden çok IP var ana IP mi ek IP mi değiştirilmeli

Mail ve panel erişimi gibi çıkış trafiğinin ana IP’den yapılması gerekir. Önce yeni IP’yi sisteme kalıcı ekleyin (ör. /etc/sysconfig/network-scripts/ifcfg-eth0:1 veya Netplan), ardından ana IP’yi betikle değiştirin. Ek IP’ler için Vesta arayüzünden IP menüsünde ekleme/silme yapın.

Mail teslimi yeni IP ile yapılmıyor reverse DNS ve SPF kontrolü

Yeni IP için PTR (rDNS) kaydını sağlayıcınızdan tanımlatın. SPF kaydını güncelleyin: v=spf1 ip4:YENI.IP.ADDR include:... ~all. DKIM anahtarlarınız domain bazlıdır; IP değişiminden etkilenmez ancak DNS TTL’lerini düşürüp yayılımı hızlandırın.

Önceki Makale

Cyberpanel Webterminal

Sonraki Makale

Fsck Nedir? Fsck Nasıl Kullanılır?

Yorum Yaz

Yorum Bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir