close

Ticker

6/recent/ticker-posts

Tahapan Mengganti Ip Address Pada VestaCp

Ketidak tahuan saya dengan Web Server ini membuat saya cemas dan hampir melakukan remove all pada server saya.

Namun terdapat solusi yang sangat cepat dan tepat diberikan beberapa forum yang telah memudahkan saya untuk melakukan pergantian Ip pada server VestaCp

Tidak serta merta mengubah ip kemudian web server kalian dapat diakses begini tahapan nya :
1. Ganti parameter ip anda sesuai dengan os yang anda gunakan. Karena disini saya pakai virtual server proxmox saya dengan mudang mengganti ip dari panel gui berbasis web nya si proxmox

2. Tambah satu file dengan perintah berikut :
touch /usr/local/vesta/bin/v-change-server-ip

3. Temudian isi file tersebut dengan perintah :
nano /usr/local/vesta/bin/v-change-server-ip

#!/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 ***";

4. Beri permition pada file tersebut dengan perintah :
chmod 0755 /usr/local/vesta/bin/v-change-server-ip

5. Kemudian ketik perintah berikut untuk mengganti ip kalian :
v-change-server-ip IpLama IpBaru

6. Kemudian aktifkan perubahan pada setiap user yang ada :
v-rebuild-web-domains NamaUser

7. Ganti Ip Virtual Host pada setiap domain.
nano /home/user/conf/web/domainanda.com.httpd-le-ssl.conf 
nano /home/user/conf/web/domainanda.com.httpd.conf
contoh :
nano /home/nunung/conf/web/nunung.co.id.httpd-le-ssl.conf 
nano /home/nunung/conf/web/nunung.co.id.httpd.conf 

Ganti syntax :
isi file httpd.conf
<VirtualHost Ip Baru:80>
isi file ssl.conf
<VirtualHost Ip Baru:443>

Posting Komentar

0 Komentar