cPanel adalah panel kontrol Linux paling populer dan opsi default untuk sebagian besar penyedia hosting bersama. Namun, untuk beralih dari lingkungan shared hosting ke cloud hosting dengan Virtual Private Server (VPS), Anda harus memiliki sedikit pengetahuan tentang cara bekerja dengan konsol Linux.
Dalam panduan ini, Anda akan bermigrasi dari lingkungan shared hosting menggunakan cPanel ke lingkungan cloud hosting baru yang menjalankan server Ubuntu 20.04. Anda dapat memilih keluarga OS yang berbeda dari portal pelanggan Vultr tergantung pada preferensi Anda.
Selanjutnya, artikel ini dibagi menjadi tiga bagian opsional berdasarkan pengalaman Linux Anda.
Prasyarat
- Buat akun Pelanggan Vultr gratis.
- Terapkan Server Pribadi Virtual (VPS) baru.
- SSH dan Login ke Server.
- Buat pengguna standar baru dengan hak sudo.
1. Buat Akun FTP Server
Untuk mentransfer file langsung dari cPanel ke server VPS, Anda harus mengaktifkan FTP di server dan membuat akun pengguna baru untuk mentransfer file. Anda dapat menemukan panduan instalasi vsFTPd terperinci di sini.
Nah, instal vstpd
di server.
$ sudo apt-get vsftpd
Sekarang, edit file konfigurasi, dan izinkan pengguna lokal untuk masuk ke server.
Menggunakan editor favorit Anda, edit file /etc/vstpd.conf
.
$ sudo nano /etc/vsftpd.conf
Temukan baris di bawah ini:
local_enable=YES
write_enable=YES
anonymous_enable=NO
Batalkan komentar mereka dengan menghapus #
, lalu simpan dan tutup file.
Jika Anda belum memiliki akun pengguna lokal di server, buat akun dan berikan hak sudo kepada pengguna.
# adduser example sudo
Masukkan Nama Depan, Nama Belakang, dan konfirmasi dengan Y
untuk membuat akun pengguna.
Sekarang, mulai server FTP.
$ sudo service vsftpd start
Kemudian, buka port 22
di firewall.
$ sudo ufw allow 22/tcp
Mulai ulang firewall
$ sudo firewall reload
2. Masuk ke cPanel
Tergantung pada penyedia hosting bersama Anda, masuk ke cPanel Anda melalui port 2083
atau tambahkan /cpanel
di akhir URL domain Anda.
https://example.com/cpanel
3. Cadangkan cPanel
Sangat penting untuk mencadangkan konfigurasi cPanel Anda sebagai cara untuk menyimpan salinan file situs web, email, catatan DNS, dan database sebelum bermigrasi ke server baru.
Menggunakan dasbor cPanel, buat full backup dengan memilih backup
di bawah Files
bagian.
Di bawah Tujuan Cadangan, pilih SCP
dari daftar opsi. Masukkan IP Server Vultr Anda di Remote Server
bidang, pengguna FTP, kata sandi, dan port yang dibuat pada langkah 1, masing-masing, untuk menghasilkan file cadangan.
Sambungan dibuat ke server Anda, dan setelah pencadangan selesai, masuk ke server VPS Anda untuk menemukan backup-***_***.tar.gz
yang baru ditambahkan mengajukan. Secara default, file diunggah ke direktori root akun Anda ~
, atau direktori yang ditentukan dalam Remote Dir:
lapangan.
Sekarang, ekstrak file dari arsip cadangan.
$ tar -xvf backup-***_***_example.tar.gz
Ganti nama direktori yang diekstrak untuk memudahkan identifikasi.
$ mv backup-**_**_example/ cpanelfiles
Sekarang, ubah ke direktori, dan daftar semua file.
$ cd cpanelfiles/
$ ls
Keluaran
drwx--x--x 16 4096 Dec 26 23:07 homedir/ **– contains all necessary webfiles**
-rw------- 1 14 Dec 26 23:07 homedir_paths
drwx------ 2 4096 Dec 26 23:07 httpfiles/
drwx------ 2 4096 Dec 26 23:07 ips/
drwx------ 2 4096 Dec 26 23:07 locale/
drwx------ 2 4096 Dec 26 23:07 logs/
drwx------ 2 4096 Dec 26 23:07 meta/
drwx------ 2 4096 Dec 26 23:07 mm/
drwx------ 4 4096 Dec 26 23:07 mma/
drwx------ 2 4096 Dec 26 23:07 mms/
drwx------ 2 4096 Dec 26 23:07 mysql/ **-- contains all mysql database backup files**
drwx------ 2 4096 Dec 26 23:07 mysql-timestamps/
Opsi 1:Instal Web Stack untuk Meng-host Situs Web Anda
Dengan semua file cPanel ditransfer ke server, Anda dapat dengan aman memigrasikan nama domain Anda dengan mengubah server nama ke Vultr dan mengatur lingkungan hosting Anda. Apache, MySQL, PHP (LAMP) Stack direkomendasikan untuk menampung file yang dimigrasikan karena beberapa file tersembunyi seperti .htaccess
akan tetap tidak berubah.
Jika Anda memigrasikan file situs web WordPress, Anda dapat memilih untuk menginstal (E)Nginx, MySQL, PHP (LEMP). Tetapi untuk tujuan artikel ini, instal LAMP di server.
Pertama, atur nama domain server yang sepenuhnya memenuhi syarat. Misalnya, ganti example.com
dengan domain Anda yang sebenarnya.
$ sudo hostnamectl set-hostname example.com
Instal Apache
Ubuntu
$ sudo apt install apache2
CentOS
$ sudo dnf install apache2
Izinkan Apache untuk memulai saat boot
$ sudo systemctl enable apache2
Mulai server web Apache
$ sudo systemctl start apache2
Instal MySQL
$ sudo apt install mysql-server
Amankan server database dengan kata sandi root dan hapus default yang tidak aman.
$ myql_secure_installation
Aktifkan MySQL untuk memulai saat boot.
$ sudo systemctl enable mysql
Mulai MySQL.
$ sudo systemctl start mysql
Sekarang, masuk ke MySQL.
$ mysql -u root -p
Buat database baru untuk situs web Anda.
mysql> CREATE DATABASE exampledb;
Buat pengguna baru dengan kata sandi yang aman.
mysql> CREATE NEW USER exampleuser IDENTIFIED BY 'STRONG-PASSWORD';
Berikan izin penuh kepada pengguna ke database.
mysql> GRANT FULL PRIVILEGES ON exampledb.* TO 'exampleuser'@'localhost';
Segarkan hak MySQL.
mysql> FLUSH PRIVILEGES;
Keluar dari konsol.
mysql> EXIT
Instal PHP.
$ sudo apt install php
Juga, instal modul PHP yang diperlukan.
$ sudo apt install php-xml php-gd php-mysql php-curl php-zip php-mbstring
Konfigurasi Apache
Buat file konfigurasi host virtual Apache baru.
$ sudo touch /etc/apache2/sites-available/example.com.conf
Sekarang, dengan menggunakan editor teks favorit Anda, edit file tersebut.
$ sudo nano /etc/apache2/sites-available/example.com.conf
Rekatkan baris kode berikut:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
# Index files and web root directory
DirectoryIndex index.php index.html
DocumentRoot /var/www/example.com/
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond $1 ^(index\.php)?$ [OR]
RewriteCond $1 \.(gif|jpg|png|ico|css|js)$ [NC,OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ - [S=1]
RewriteRule . /index.php [L]
</IfModule>
# END wordpress
Options FollowSymLinks
Order allow,deny
Allow from all
</VirtualHost>
Simpan dan tutup file
Uji konfigurasi
$ sudo apachectl configtest
Aktifkan file konfigurasi
$ sudo a2ensite example.com.conf
Mulai ulang Apache
$ sudo systemctl restart apache2
Sekarang, salin file situs web cPanel yang Anda ekstrak ke direktori webroot host virtual baru. homedir/
direktori berisi semua file yang diperlukan, salin dari root domain Anda atau public_html/
mana saja yang berfungsi sebagai direktori file web cPanel Anda.
$ sudo cp cpanelfiles/homedir/public_html/* /var/www/example.com
Berikan hak kepemilikan Apache ke direktori webroot
$ sudo chown -R www-data:www-data /var/www/example.com
Selanjutnya, edit file konfigurasi situs web Anda untuk memasukkan nama database, nama pengguna, dan kata sandi baru.
$ sudo nano /var/www/example.com/wp-config.php
Temukan baris di bawah ini:
/** The name of the database for WordPress */
define( 'DB_NAME', 'exampledb’);
/** MySQL database username */
define( 'DB_USER', 'exampleuser' );
/** MySQL database password */
define( 'DB_PASSWORD', 'strong-password' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
Ubah untuk mencerminkan nama database, nama pengguna, dan kata sandi Anda.
Pulihkan Basis Data
Untuk memulihkan database cPanel Anda, alihkan ke mysql/
dalam direktori file yang diekstrak, dan cari target .sql
file basis data.
Ubah ke mysql
direktori.
$ cd /cpanelfiles/mysql
Pulihkan basis data Anda.
$ mysql -u root exampledb < file.sql
Setelah selesai, masuk ke shell MySQL dan periksa tabel baru di database.
$ mysql -u exampleuser
Konfirmasi tabel database baru.
mysql> use exampledb;
mysql> select * from exampledb;
Keluar dari konsol.
mysql> EXIT
Konfigurasi Firewall
Buka Port 80 untuk mengizinkan lalu lintas HTTP.
$ sudo ufw allow 80/tcp
Buka Port 443 untuk mengizinkan lalu lintas HTTPS.
$ sudo ufw allow 443/tcp
Periksa tabel Firewall saat ini.
$ sudo ufw status
Mulai ulang firewall.
$ sudo ufw reload
Arahkan Nama Domain Anda ke Server Cloud Vultr Baru
Pertama, masuk ke Portal pelanggan Vultr, tambahkan domain baru, dan masukkan IP Server Anda di Default IP Address
lapangan.
Kemudian, masuk ke sisi pendaftar domain Anda, edit domain Anda, dan arahkan server nama Anda ke Vultr.
Simpan perubahan dan uji server cloud baru Anda.
Uji Server Cloud Baru Anda
Situs web Anda siap digunakan, domain diarahkan ke server VPS Anda, dan semua file yang diperlukan telah diinstal di direktori webroot. Uji server Anda dengan mengunjungi nama domain Anda.
http://example.com
Bergantung pada periode propagasi DNS, yang seringkali membutuhkan waktu antara 3-12 jam untuk diselesaikan, situs web Anda seharusnya dapat dimuat dari server VPS baru. Namun, Anda dapat meminta sertifikat SSL baru karena semua permintaan domain mengarah ke server baru.
Aktifkan HTTPS
Instal Certbot.
$ sudo apt install python3-certbot-apache certbot
Minta sertifikat SSL Let's Encrypt Gratis. Ganti example.com
dengan nama domain Anda dan [email protected]
dengan alamat email Anda yang sebenarnya.
$ sudo certbot -d example.com -m [email protected]
Uji perpanjangan otomatis.
$ sudo certbot renew –dry-run
Situs web Anda sekarang siap untuk melayani lalu lintas HTTPS. Uji server Anda dengan mengunjungi https://example.com
untuk mengonfirmasi perubahan baru.
Opsi 2:Bermigrasi ke Panel Kontrol gratis
cPanel adalah panel kontrol Linux berbayar. Jika Anda ingin bermigrasi ke panel kontrol gratis, ada banyak varian sumber terbuka untuk dipilih. Namun, hanya sedikit yang menerima pencadangan cPanel. Untuk panduan mendetail tentang cara memasang beberapa panel kontrol gratis, Anda dapat merujuk ke yang berikut:
- Instal Virtualmin di Ubuntu 20.04.
- Instal CyberPanel.
- Instal HestiaCP.
- Instal Plesk Sekali Klik (Gratis) di Vultr.
Untuk tujuan artikel ini, kami menggunakan Virtualmin karena mendukung pemulihan langsung dari cadangan cPanel.
Masuk ke Dasbor Virtualmin Anda
Luaskan Add Servers
dan pilih Migrate virtual server
dari daftar tarik-turun opsi di bilah navigasi kiri.
Sekarang, pilih local file
dari source backup file
kolom, lalu masuk ke direktori file cadangan.
/home/example/backup***_***.tar.gz
Selanjutnya, di bawah Backup file type
, pilih cPanel backup
, lalu pilih work out from backup, if possible
untuk masing-masing bidang nama domain, nama pengguna, dan kata sandi administrator.
Klik Migrate Now
untuk mengimpor data cPanel Anda ke Virtualmin. Setelah selesai, server Anda harus siap digunakan. Entri nama domain lama akan diganti dengan opsi server Anda saat ini, jadi pastikan untuk mengarahkan domain Anda ke server nama Vultr baru.
Opsi 3:Bermigrasi ke cPanel yang dihosting sendiri
- Terapkan cPanel Sekali Klik dari Aplikasi Vultr Marketplace
Secara default, cPanel secara otomatis dilisensikan per bulan di Vultr, dan Anda tidak memerlukan lisensi sebelumnya untuk menjalankannya. Setelah Anda memutar server sekali klik, masuk ke WHM untuk memulai proses pemulihan.
http://server-ip:2087
Menggunakan Antarmuka WHM, navigasikan ke Transfers
, dan temukan Transfer and Restore a cPanel account
pilihan. Kemudian, pilih file dari server, atau unggah file cadangan cPanel langsung dari komputer Anda.
Selanjutnya, pilih Replace All Matching A Records
untuk menghapus dan mengganti catatan cPanel lama dengan catatan server baru.
Klik Restore
untuk membuat akun cPanel baru dari file, lalu pulihkan semua domain, file web, dan akun email ke server.
Pemecahan Masalah
Jika akun cPanel Anda terbatas hanya pada beberapa fitur dengan Backup
dan Backup Wizard
opsi hilang, Anda masih dapat memigrasikan file Anda dari server. Untuk melakukannya, buat akun FTP baru.
Menggunakan dasbor cPanel Anda, navigasikan ke Files
bagian dan klik FTP Accounts
. Kemudian, buat akun FTP baru dengan kata sandi yang kuat dan buat file cadangan Anda.
Cadangan Sebagian (Hanya File Situs Web, Tanpa Akun Email)
Pilih 'Pengelola File' dari bagian file jika Anda hanya berencana untuk memigrasikan file situs web dan database terkait.
Kemudian, di jendela pengelola file, cari file root Situs Web Anda, lalu kompres direktori menjadi .zip
atau tar.gz
.
File terkompresi baru akan ditambahkan ke direktori. Sekarang, identifikasi nama database Anda dari file situs web. Jika Anda menghosting situs WordPress, wp-config.php
berisi informasi database yang Anda butuhkan. Catat nama database dan awalan tabel.
Cadangan Basis Data
Menggunakan dasbor cPanel utama, navigasikan ke Databases
bagian dan klik phpMyAdmin
.
Setelah diarahkan ke phpMyAdmin, pilih database target Anda, dan ekspor ke komputer Anda. .sql
baru file akan diunduh ke komputer Anda. Ganti nama file untuk memudahkan identifikasi.
Bergantung pada ukuran file situs web Anda, sebaiknya unggah file SQL ke direktori yang sama dengan file terkompresi untuk memudahkan migrasi ke server baru.
Bermigrasi ke Server Baru
Setelah file situs web dikompres ke format yang dapat dibaca, SSH dan masuk ke server baru, lalu gunakan curl untuk mengambil file dari server cPanel.
Instal Curl
, jika belum terpasang.
$ sudo apt install curl
Kemudian, edit skrip berikut dengan nama domain, akun FTP cPanel, dan kata sandi Anda.
Ambil file web:
$ curl -u USERNAME:PASSWORD ftp://localhost/test_curl/filename.tar.gz
Ambil file database SQL:
$ curl -u USERNAME:PASSWORD ftp://localhost/test_curl/exampledb.sql
Ganti filename.tar.gz
dengan file terkompresi Anda yang sebenarnya dan .sql
dengan file database Anda yang telah diganti namanya.
Setelah koneksi dibuat, file Anda akan ditambahkan ke server baru. Ekstrak file, dan ikuti langkah-langkah dari Opsi 1 artikel ini untuk menyiapkan server Anda.
Kesimpulan
Selamat, Anda telah berhasil bermigrasi dari lingkungan bersama menggunakan cPanel ke lingkungan hosting awan menggunakan Vultr. Setelah domain Anda sepenuhnya menyebar di server, Anda dapat menghapus akun hosting bersama dengan aman tanpa waktu henti atau gangguan aktivitas pengguna di situs web Anda.