Topik ini menjelaskan cara memindahkan aplikasi web dari instans ECS ke Simple Application Server.
Prasyarat
-
Buat Simple Application Server yang menggunakan sistem operasi yang sama dengan instans ECS Anda. Untuk informasi selengkapnya, lihat Buat Simple Application Server.
Catatan-
Jika Simple Application Server Anda memiliki sistem operasi yang berbeda dari instans ECS, Anda dapat mereset sistem tersebut. Untuk informasi selengkapnya, lihat Reset sistem.
-
Simple Application Server menawarkan pilihan gambar sistem yang lebih terbatas dibandingkan gambar publik yang tersedia untuk ECS. Selama migrasi, Anda dapat memilih versi sistem operasi yang serupa. Misalnya, jika instans ECS Anda menggunakan gambar publik CentOS 7.X, Anda dapat menggunakan gambar sistem CentOS 7.3 atau CentOS 7.6 untuk Simple Application Server.
-
-
Tetapkan kata sandi untuk Simple Application Server. Untuk informasi selengkapnya, lihat Tetapkan atau reset kata sandi server.
-
Aktifkan port yang diperlukan di firewall. Untuk informasi selengkapnya, lihat Pengaturan firewall.
Pada contoh ini, Anda harus mengaktifkan port 3306 (port default untuk MySQL), port 8888 (port default untuk aaPanel), dan port 888 (port default untuk tool manajemen database phpMyAdmin).
PeringatanMenggunakan port default dapat membuat server Anda rentan terhadap serangan. Kami menyarankan untuk menonaktifkan port-port tersebut setelah digunakan atau menggantinya dengan nomor port kustom.
Latar Belakang
Pada skenario ini, Anda memindahkan situs WordPress dari instans ECS dengan lingkungan LNMP ke Simple Application Server. Tujuannya adalah memastikan situs tetap beroperasi dengan integritas data yang lengkap setelah migrasi. Tabel berikut mencantumkan server dan tool yang digunakan untuk migrasi ini.
-
Detail server
Instans ECS
Simple Application Server
-
Gambar: Gambar publik CentOS 7.8.
-
Lingkungan runtime dan aplikasi: Situs WordPress dideploy dalam lingkungan LNMP.
Versi aplikasi sebagai berikut:
-
Nginx: 1.16.1
-
MySQL: 5.7.28
-
PHP: 7.0.33
-
WordPress: 5.1.10
CatatanTopik ini tidak menjelaskan cara membangun lingkungan LNMP atau deploy situs WordPress pada instans ECS. Untuk informasi selengkapnya, lihat Bangun situs WordPress secara manual (CentOS 7).
-
Gambar: CentOS 7.6.
-
-
Tool migrasi
Tool
Deskripsi
aaPanel Free Edition
Anda akan menggunakan aaPanel, panel manajemen server, untuk menyiapkan lingkungan LNMP pada Simple Application Server yang sesuai dengan lingkungan pada instans ECS sumber.
Perintah scp
Perintah ini digunakan untuk menyalin file secara remote berdasarkan protokol SSH. Aplikasi web (tidak termasuk data database) pada instans ECS akan disalin ke simple application server menggunakan perintah scp.
Alibaba Cloud Data Transmission Service (DTS)
Anda akan menggunakan Alibaba Cloud Data Transmission Service (DTS) untuk memindahkan database situs WordPress dari instans ECS ke database pada Simple Application Server. Untuk informasi selengkapnya, lihat Apa itu Data Transmission Service (DTS)?.
Catatan
-
Buat snapshot untuk backup data.
Untuk informasi selengkapnya, lihat topik berikut:
-
Instans ECS: Buat snapshot tunggal secara manual.
-
Simple Application Server: Buat snapshot.
PeringatanBuat snapshot untuk instans ECS dan Simple Application Server. Jika kegagalan migrasi menyebabkan masalah data, Anda dapat menggunakan snapshot tersebut untuk memulihkan disk cloud.
-
-
Pastikan versi lingkungan runtime pada kedua server identik.
Beberapa situs web memiliki persyaratan ketat terhadap versi lingkungan runtime-nya. Jika versi pada server sumber dan target tidak cocok, situs mungkin tidak berfungsi dengan benar setelah migrasi. Oleh karena itu, Anda harus mengidentifikasi versi pasti dari lingkungan runtime pada instans ECS Anda. Misalnya, jika Anda memiliki lingkungan LNMP, identifikasi versi Nginx, MySQL, dan PHP, lalu deploy versi yang sama pada Simple Application Server.
-
Periksa konektivitas jaringan Anda.
Anda harus memastikan bahwa instans ECS dan Simple Application Server memiliki akses jaringan publik. Jika Anda memindahkan data lintas wilayah internasional, perhatikan bahwa jaringan yang tidak stabil dapat memperlambat proses migrasi.
Dampak pasca-migrasi
|
Item |
Deskripsi |
|
Aplikasi berlisensi pada server |
Instans ECS dan Simple Application Server berada di virtual private cloud (VPC) yang berbeda. Oleh karena itu, perangkat keras dasar berubah selama migrasi, yang dapat membatalkan lisensi aplikasi yang terikat pada perangkat keras tersebut. Anda bertanggung jawab untuk memeriksa lisensi Anda setelah migrasi. |
|
Alamat IP publik |
Simple Application Server memiliki alamat IP publik yang berbeda dari instans ECS sumber. Jika Anda memiliki nama domain yang terkait dengan instans ECS, Anda harus memperbarui rekaman DNS agar mengarahkan nama domain ke alamat IP publik baru tersebut. |
Langkah 1: Instal dan konfigurasi aaPanel
Tutorial ini menunjukkan cara menggunakan aaPanel untuk mengonfigurasi lingkungan runtime server pada Simple Application Server yang sesuai dengan lingkungan pada instans ECS.
Untuk migrasi dunia nyata, Anda harus mengonfigurasi lingkungan runtime pada Simple Application Server secara manual agar sesuai dengan lingkungan pada instans ECS.
-
Hubungkan ke Simple Application Server Anda di konsol.
Untuk informasi selengkapnya, lihat Hubungkan ke server Linux.
- Jalankan perintah berikut untuk beralih ke pengguna
root:sudo su root -
Instal aaPanel.
Kunjungi situs web aaPanel untuk mendapatkan paket instalasi yang sesuai dengan sistem operasi Anda. Pada contoh ini, Simple Application Server menjalankan CentOS 7.6. Jalankan perintah berikut untuk menginstal edisi gratis aaPanel.
yum install -y wget && wget -O install.sh http://www.aapanel.com/script/install_6.0_en.sh && bash install.sh aapanelOutput berikut menunjukkan instalasi berhasil. Simpan aaPanel Internet Address, aaPanel Internal Address, username, dan password.
================================================================== Congratulations! Installed successfully! ================================================================== aaPanel Internet Address: https://8.218.XX.XX:7800/d55e4627 aaPanel Internal Address: https://172.19.XX.XX:7800/d55e4627 username: k6tzrhwj password: d2ae**** Warning: If you cannot access the panel, release the following port (7800|888|80|443|20|21) in the security group ================================================================== Time consumed: 1 Minute! -
Di komputer lokal Anda, akses aaPanel Internet Address melalui browser, lalu login ke aaPanel dengan username dan password.
Setelah login ke aaPanel, Anda juga perlu login ke akun aaPanel Anda. Jika Anda belum memiliki akun aaPanel, Anda harus mendaftar terlebih dahulu. Ikuti petunjuk di layar untuk menyelesaikan proses tersebut.
-
Di aaPanel, siapkan lingkungan runtime yang sesuai dengan yang ada di instans ECS.
-
Di panel navigasi sebelah kiri, klik App Store.
-
Di bagian App Sort, klik Deployment.
-
Di daftar software, temukan aplikasi berikut dan klik Install di kolom Operation untuk masing-masing.
-
Nginx
Klik Install, pilih versi
nginx 1.16, lalu klik Submit. -
MySQL
Klik Install, pilih versi
mysql 5.7, lalu klik Submit. -
PHP-7.0
Klik Install, pertahankan pengaturan default, lalu klik Submit.
-
phpMyAdmin
Klik Install, pilih versi
phpmyadmin 4.9, lalu klik Submit.
Proses instalasi mungkin memerlukan waktu.
-
-
-
Di aaPanel, tambahkan informasi situs web.
-
Di panel navigasi sebelah kiri, klik Website.
-
Di tab PHP Project, klik Add Site.
-
Di kotak dialog Add Site, pada tab Create Site, konfigurasi parameter, lalu klik Submit.
Tabel berikut menjelaskan parameter utama. Untuk parameter yang tidak tercantum, gunakan nilai default.
Parameter
Deskripsi
Contoh
Domain name
-
Jika Anda telah mengikat nama domain ke Simple Application Server dan menyelesaikan resolusi DNS, masukkan nama domain tersebut.
-
Jika Anda belum mengikat nama domain, Anda dapat memasukkan alamat IP publik server untuk pengujian. Setelah migrasi selesai, ikat dan selesaikan resolusi nama domain ke server, lalu perbarui pengaturan ini.
Contoh ini menggunakan alamat IP publik server untuk pengujian.
Description
Deskripsi situs web. Parameter ini opsional.
Pada contoh ini, atur menjadi
server-B.Website Path
Direktori root situs web. Direktori root default di aaPanel adalah /www/wwwroot.
Pada contoh ini, atur menjadi /www/wwwroot/wordpress.
Setelah situs ditambahkan, hasilnya ditunjukkan pada gambar berikut.

-
-
-
Di aaPanel, konfigurasikan database MySQL.
-
Di panel navigasi sebelah kiri, klik Databases.
-
Di halaman Database Manager, ubah kata sandi root.
-
Klik Root password.
-
Masukkan kata sandi kustom di bidang Root password, lalu klik Submit.
Pada contoh ini, kata sandi diatur menjadi
Test@123.PentingSimpan kata sandi Anda dengan aman. Kebocoran kata sandi dapat membuat server Anda rentan terhadap risiko keamanan.
-
-
Di halaman Database Manager, klik phpMyAdmin.
-
Di halaman phpMyAdmin, masukkan nama pengguna dan kata sandi untuk pengguna MySQL
root, lalu klik Run. -
Di bilah menu atas, klik SQL. Masukkan perintah berikut dan klik Run.
Untuk memindahkan data database, Anda memerlukan pengguna MySQL dengan izin koneksi remote. Buat pengguna tersebut pada database MySQL di Simple Application Server.
-- Switch to the mysql database. use mysql; -- In this example, the username for remote connections is testUser and the password is Test@123. create user 'testUser'@'%' IDENTIFIED BY 'Test@123'; -- Grant remote connection privileges to testUser. grant all privileges on *.* to 'testUser'@'%' with grant option; -- Apply the privilege changes. flush privileges; -
Di bilah menu atas, klik SQL. Masukkan perintah berikut dan klik Run.
Untuk memungkinkan situs WordPress terhubung ke database setelah migrasi, buat database dan pengguna di Simple Application Server dengan kredensial yang identik dengan yang ada di instans ECS.
Pada contoh ini, database MySQL untuk situs WordPress di instans ECS bernama
wordpress, nama penggunanya adalahuser, dan kata sandinya adalahPASSword123..-- Create the wordpress database. create database wordpress; -- Create a new user named user with the password PASSword123. create user 'user'@'localhost' identified by 'PASSword123.'; -- Grant all privileges on the wordpress database to the user. grant all privileges on wordpress.* to 'user'@'localhost' identified by 'PASSword123.'; -- Apply the privilege changes. flush privileges;
-
-
Di aaPanel, konfigurasikan firewall.
-
Di panel navigasi kiri, klik Security.
-
Pada bagian Firewall, tambahkan aturan untuk mengizinkan lalu lintas pada port default MySQL, yaitu 3306.
Gambar berikut menunjukkan konfigurasi yang diperlukan.

-
Klik Open.
-
Langkah 2: Konfigurasi instans ECS
Sebelum menggunakan DTS untuk memindahkan data database, lengkapi konfigurasi berikut pada instans ECS Anda.
-
Konfigurasi security group.
Untuk memindahkan data, Anda harus membuka port yang diperlukan di security group instans ECS Anda. Pada contoh ini, baik instans ECS maupun Simple Application Server memiliki database MySQL yang terinstal. Oleh karena itu, Anda harus membuka port 3306, port default untuk MySQL, di security group instans ECS. Untuk informasi selengkapnya, lihat Tambahkan aturan security group.
-
Konfigurasi MySQL.
Untuk migrasi data, Anda harus membuat pengguna MySQL dengan izin koneksi remote pada instans ECS.
-
Hubungkan ke instans ECS.
Untuk informasi selengkapnya, lihat Ikhtisar metode koneksi.
-
Jalankan perintah berikut untuk login ke database MySQL.
mysql -uroot -p -
Pada prompt Enter password:, masukkan kata sandi untuk pengguna MySQL
root.Masukkan kata sandi untuk database MySQL Anda.
CatatanUntuk keamanan data, tidak ada output yang ditampilkan saat Anda memasukkan kata sandi. Anda hanya perlu memasukkan kata sandi yang benar lalu menekan tombol Enter.
-
Jalankan perintah berikut untuk menggunakan database
wordpress.Database
wordpressadalah database untuk situs WordPress.use wordpress; -
Jalankan perintah berikut untuk membuat pengguna database untuk koneksi remote.
Pada contoh ini, username-nya adalah
testUserdan kata sandinya adalahTest@123.PentingKata sandi yang digunakan dalam contoh ini hanya untuk tujuan demonstrasi. Untuk mencegah risiko keamanan, tetapkan kata sandi yang kuat dan simpan kerahasiaannya.
create user 'testUser'@'%' IDENTIFIED BY 'Test@123'; - Jalankan perintah berikut secara berurutan untuk memberikan izin koneksi remote kepada pengguna
testUser.- Berikan izin koneksi remote.
grant all privileges on *.* to 'testUser'@'%' with grant option; - Buat konfigurasi langsung berlaku.
flush privileges;
- Berikan izin koneksi remote.
- Jalankan perintah berikut untuk keluar dari MySQL:
\q;
-
Langkah 3: Salin file situs web menggunakan scp
-
Konfirmasi informasi Simple Application Server.
Untuk menyalin file situs web secara remote menggunakan perintah scp, Anda memerlukan alamat IP publik server dan jalur tujuan. Pertama, konfirmasi informasi berikut untuk Simple Application Server:
-
Alamat IP publik.
Untuk menemukan alamat IP publik, lihat Lihat informasi server pada kartu server.
-
Direktori root situs web.
Pada contoh ini, direktori root situs web Simple Application Server adalah /www/wwwroot/wordpress.
-
-
Hubungkan ke instans ECS.
Untuk informasi selengkapnya, lihat Metode koneksi.
-
Jalankan perintah berikut untuk menggunakan scp guna memindahkan aplikasi web dari instans ECS ke Simple Application Server.
scp -r /usr/share/nginx/html/wordpress/* root@<alamat IP publik simple application server>:/www/wwwroot/wordpressParameter dalam perintah scp dijelaskan sebagai berikut:
-
-r: Menyalin seluruh direktori secara rekursif. Untuk menyalin file tunggal, hapus opsi-r. -
/usr/share/nginx/html/wordpress/*: Semua file (/*) dalam direktori sumber situs web pada instans ECS. -
root@<alamat IP publik Simple Application Server>: Username dan alamat IP publik server Simple Application Server tujuan. -
/www/wwwroot/wordpress: Jalur tujuan pada Simple Application Server.
-
-
Saat diminta dengan
root@<alamat IP publik Simple Application Server>'s password:, masukkan kata sandi untuk Simple Application Server.CatatanUntuk keamanan data, tidak ada output yang ditampilkan saat Anda memasukkan kata sandi. Anda hanya perlu memasukkan kata sandi yang benar lalu menekan tombol Enter.
Perintah scp mengenkripsi data selama transmisi, yang dapat memperlambat transfer. Tunggu hingga proses penyalinan selesai.
Langkah 4: Migrasi data database menggunakan DTS
- Login ke konsol DTS.
-
Di panel navigasi sebelah kiri, klik Data Migration, lalu klik Create Task di pojok kiri atas.
-
Konfigurasi tugas migrasi data.
Bagian berikut menjelaskan parameter utama. Gunakan pengaturan default untuk parameter lainnya.
-
Task Name: Masukkan nama untuk tugas tersebut. Misalnya,
test-swas-01. -
Source Database (informasi tentang instans ECS):
Parameter
Contoh konfigurasi
Database Type
Pilih MySQL.
Access Method
Pilih Self-managed Database on ECS.
Instance Region
Wilayah instans ECS. Misalnya, China (Hangzhou).
Replicate Data Across Alibaba Cloud Accounts
Pada contoh ini, pilih No.
ECS Instance ID
Pilih ID instans ECS Anda.
Port Number
Nilai default adalah
3306.Database Account
Masukkan akun database yang memiliki izin koneksi remote. Misalnya,
testUser.Database Password
Test@123
PentingKata sandi dalam contoh ini hanya untuk demonstrasi. Untuk mencegah risiko keamanan, gunakan kata sandi yang kuat dan simpan kerahasiaannya.
-
Destination Database (informasi tentang Simple Application Server):
Parameter
Contoh konfigurasi
Database Type
Pilih MySQL.
Access Method
Pilih Public IP Address.
Instance Region
Wilayah Simple Application Server. Misalnya, China (Hangzhou).
Domain Name or IP
Alamat IP publik Simple Application Server.
Port Number
Nilai default adalah
3306.Database Account
Masukkan akun database yang memiliki izin koneksi remote. Misalnya,
testUser.Database Password
Test@123
PentingKata sandi dalam contoh ini hanya untuk demonstrasi. Untuk mencegah risiko keamanan, gunakan kata sandi yang kuat dan simpan kerahasiaannya.
-
-
Setelah mengonfigurasi parameter, klik Test Connectivity and Proceed untuk memverifikasi bahwa DTS dapat terhubung ke database MySQL pada kedua server.
-
Di kotak dialog CIDR Blocks of DTS Servers, klik Test Connectivity and Proceed.
-
Di wizard Configure Objects and Advanced Settings, konfigurasi parameter yang diperlukan lalu klik Next: Advanced Settings.
Daftar berikut menjelaskan parameter utama. Untuk informasi selengkapnya, lihat Panduan Migrasi Data.
-
Task Stages: Pilih Schema Migration, Full Data Migration, atau Incremental Data Migration berdasarkan kebutuhan bisnis Anda.
-
Source Objects: Di bagian Source Objects, pilih Select All lalu klik ikon
.
Setelah menyelesaikan konfigurasi, atur Conflict resolution for existing tables menjadi Ignore and continue, dan atur Case sensitivity for target object names menjadi DTS default policy. Di bagian Selected objects, pastikan database sys dan wordpress dipilih.
-
-
Di wizard Advanced Configuration, pertahankan pengaturan default lalu klik Next: Save Task Settings and Precheck.
Tunggu hingga pemeriksaan awal selesai. Jika pemeriksaan awal gagal, klik View Details di samping Failed, selesaikan masalah berdasarkan pesan error, lalu jalankan ulang pemeriksaan awal.
-
Setelah pemeriksaan awal berhasil, klik Next: Purchase Instance. Pemeriksaan awal yang berhasil berarti keenam pemeriksaan telah lolos: konektivitas database sumber, konektivitas database tujuan, izin database sumber, izin database tujuan, pemeriksaan mesin penyimpanan, dan pemeriksaan versi database sumber.
-
Di halaman Purchase, pilih Data Transmission Service (Pay-as-you-go) Service Terms, lalu klik Buy and Start.
Migrasi data gratis untuk contoh ini. Namun dalam praktiknya, biaya didasarkan pada penggunaan Anda dan harga yang ditampilkan di halaman. Untuk informasi selengkapnya tentang penagihan DTS, lihat ikhtisar penagihan.
Setelah memulai tugas migrasi, tunggu hingga selesai. Anda dapat melihat status tugas di daftar tugas migrasi. Saat progres Schema Migration dan Full Data Migration mencapai 100% dan status tugas berubah menjadi Completed, migrasi data selesai.
Langkah 5: Verifikasi migrasi data
-
Dari komputer lokal Anda, gunakan browser untuk login ke aaPanel Simple Application Server.
-
Periksa file situs WordPress.
-
Di panel navigasi kiri aaPanel, klik Site.
-
Di halaman PHP Project, klik jalur situs di kolom Document Root.
Pada contoh ini, jalur document root adalah
/www/wwwroot/wordpress.
Verifikasi bahwa file inti WordPress, seperti
wp-config.php,wp-settings.php, danwp-login.php, ada di direktori /www/wwwroot/wordpress. Kehadiran file-file tersebut mengonfirmasi bahwa file situs berhasil dimigrasi.
-
Periksa masalah pada aplikasi situs.
Verifikasi bahwa aplikasi situs di Simple Application Server identik dengan yang ada di instans ECS, berdasarkan kebutuhan bisnis Anda. Misalnya, tautan simbolik ke file wp-config.php di instans ECS menjadi file biasa setelah migrasi, yang mungkin memiliki izin file yang salah. Anda harus menyesuaikan izin file untuk file wp-config.php di Simple Application Server.
Untuk mengelola file di aaPanel, lakukan langkah-langkah berikut:
-
Arahkan kursor ke file lalu klik Permission.

-
Di kotak dialog Set permission, konfigurasi izin file lalu klik OK.
Konfigurasi izin berdasarkan kebutuhan bisnis Anda. Contoh ini memberikan izin penuh ke file wp-config.php. Atur pemilik menjadi root, atur izin menjadi
777dengan memilih kotak centang read, write, dan execute untuk owner, group, dan public, lalu pilih Apply to subdirectory.
-
-
-
Periksa informasi database situs WordPress.
-
Di panel navigasi kiri aaPanel, klik Databases.
-
Klik Get DB from server.
Tindakan ini menampilkan informasi database WordPress dari Simple Application Server. Jika aaPanel gagal mengambil kata sandi database, klik reset untuk menetapkan kata sandi baru.

-
Di kolom Operation, klik Tools untuk melihat data tabel di database WordPress.
Verifikasi bahwa data tabel di Simple Application Server identik dengan data di instans ECS.

-
-
Dari komputer lokal Anda, akses
http://<alamat IP publik Simple Application Server>di browser untuk menguji situs WordPress.-
Jika situs WordPress dimuat dengan benar dan menampilkan data yang sama seperti sebelum migrasi, migrasi berhasil. Menampilkan posting Hello world! default mengonfirmasi migrasi data berhasil.
-
Jika situs WordPress gagal dimuat dan menampilkan error "Warning: require_once(/www/wwwroot/wordpress/wp-config.php): failed to open stream: Permission denied in /www/wwwroot/wordpress/wp-load.php on line 37", Anda harus mengatur izin yang sesuai untuk file tersebut. Untuk petunjuknya, lihat Periksa masalah pada aplikasi situs.
Warning: require_once(/www/wwwroot/wordpress/wp-config.php): failed to open stream: Permission denied in /www/wwwroot/wordpress/wp-load.php on line 37 Fatal error: require_once(): Failed opening required '/www/wwwroot/wordpress/wp-config.php' (include_path='.:/www/server/php/70/lib/php') in /www/wwwroot/wordpress/wp-load.php on line 37
-
Operasi terkait
Setelah migrasi, instans diganti dan alamat IP publiknya berubah. Jika sebelumnya Anda telah mengikat nama domain ke instans sumber, Anda harus mengikat ulang nama domain tersebut ke instans baru dan memperbarui rekaman DNS. Untuk informasi selengkapnya, lihat Daftarkan dan selesaikan nama domain.