Categories: Vesta

Vesta Panel IP Değiştirme

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.

pendc

Recent Posts

Mailcow ile Mail Sunucunuzu Nasıl Kurarsınız?

Hazır e-posta hizmetlerinin ücretleri arttığı için, kendi alan adınıza ait bir mail sunucusu kurmak hem…

1 gün ago

Veeam Backup Kullanarak Proxmox Yedekleme

Açık kaynaklı Proxmox VE yüksek performansıyla sanallaştırma alanında sık tercih edilen bir platformdur. Veri yedekleme…

1 gün ago

DNS Kayıt Türleri NS, CNAME, TXT, AAAA, MX Nedir?

DNS, yani Alan Adı Sistemi, internetin temel yönlendirme mekanizmasıdır. Kullanıcı bir web adresi yazdığında, örneğin…

1 gün ago

MySQL ve MariaDB Arasındaki Temel Farklar

Veritabanını seçmenin performans, lisans ve güvenlik gibi konularda yarattığı zorlukları biliyoruz. Bu seçimi kolaylaştırmak için,…

1 ay ago

Proxmox’da Otomatik Snapshot Nasıl Alınır?

Snapshot Nedir? Snapshot, bir sanal sunucunun (VM) mevcut çalışma hali, disk yapısı ve yapılandırmasının o…

1 ay ago

Proxmox VE 8.4’ten 9’a Nasıl Geçilir?

Sunucu yönetiminde yeni sürümlere geçiş, her zaman iş sürekliliği için kritik bir adımdır. Proxmox VE…

1 ay ago