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

Fidye Yazılımı Saldırılarından Korunma

Fidye Yazılımı Saldırısı Nedir? Fidye yazılımı saldırısı (ransomware) kötü niyetli kişilerin, belirli bir sistemin, dosyalarını…

2 ay ago

Plesk Üzerinde Domain/ Mail Engelleme Nasıl Yapılır?

Plesk, dünya genelinde en yaygın kullanılan web hosting kontrol panellerinden biridir. Gerek Linux gerekse Windows…

3 ay ago

IPMI Şifresi Nasıl Sıfırlanır?

Bilgi teknolojilerinde, sunucular ve network cihazları her zaman en önemli araçlar arasındadır. Özellikle veri merkezleri…

3 ay ago

Plesk Panelde Ücretsiz SSL Sertifikası Kurulumu

SSL NEDİR? SSL sertifikasının ne olduğu hakkında fikriniz olmayabilir ya da birileri web sayfanızın SSL sertifikasına…

3 ay ago

Plesk Panel E-Posta Adresi Oluşturma

Dünya genelinde en çok kullanılan hosting kontrol paneli Plesk Panel’de e-posta oluşturmak için gerekli adımları…

3 ay ago

Outlook’a E-Posta Hesabı Eklemek

Outlook iş dünyası ve bireysel hayatımız dahil olmak üzere çok yaygın bir kullanıma sahip olan,…

3 ay ago