Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress
Code

Menginstal WordPress di Amazon Cloud

by
Difficulty:IntermediateLength:LongLanguages:

Indonesian (Bahasa Indonesia) translation by Yudha Zubair (you can also view the original English article)

Meskipun hosting WordPress yang dikelola cocok untuk kebanyakan orang, saya lebih suka fleksibilitas menjalankan server saya sendiri. Salah satu solusi yang lebih terjangkau adalah layanan web berbasis cloud (AWS) Amazon.

Tetapi jika Anda tidak memiliki latar belakang teknis yang mendalam, memulai dengan AWS bisa sangat melelahkan.

Ketika saya pertama kali menginstal WordPress pada instance mikro AWS, itu terus kehabisan memori dan crash. Kemudian, ketika saya menginstal tema custom, responsif pada contoh yang lebih besar, itu masih cukup lambat.

Panduan ini akan memberi Anda pendekatan langkah demi langkah yang terperinci untuk mengatur blog WordPress Anda di AWS dengan kinerja tinggi, ekonomis menggunakan AWS micro (atau kecil) yang dijalankan pada Apache. Tutorial tindak lanjut mencakup cara mengoptimalkan kinerjanya dengan Varnish Cache dan plugin W3 Total Cache. Dengan menggunakan pendekatan ini, saya telah berhasil menjalankan situs saya sendiri di cloud Amazon selama dua tahun terakhir dan selamat dari banyak penyebutan di Slashdot, BoingBoing dan situs high traffic lainnya.

Memperkirakan biaya

AWS bisa mahal untuk digunakan per jam. Untuk blog WordPress yang beroperasi tanpa batas 7 hari seminggu, 24 jam sehari, yang terbaik adalah membeli apa yang disebut "heavy reserved instance". Ada biaya di muka, tetapi penghematan besar seiring waktu. Ini pada dasarnya diskon volume untuk membeli waktu di jaringan mereka.

Dengan mikro instance berat tiga tahun, Anda dapat menjalankan blog dengan lalu lintas rendah untuk $6,44 per bulan (dengan tahun pertama gratis untuk pengguna AWS baru). Jika Anda ingin sedikit lebih banyak ruang untuk tumbuh, beli instance kecil yang dipesan selama tiga tahun dengan total nilai bulanan $11,81 (yang saat ini saya gunakan).

Saya cukup yakin bahwa pengaturan yang sebanding di WordPress.com akan menelan biaya sekitar $99 per tahun ($ 8,25 per bulan) per blog, $ 24 per bulan di host seperti Page.ly dan $29 per bulan di WPEngine. Namun, menjalankan instance Anda sendiri memungkinkan Anda untuk menjalankan beberapa blog tanpa biaya tambahan. Semakin banyak blog yang Anda rencanakan untuk dijalankan, AWS menjadi lebih efektif dibandingkan WordPress.com. Anda juga dapat menggunakan instance server Anda untuk tugas-tugas lain - Saya meng-host situs web lain dan menjalankan beberapa aplikasi web saya yang lain.

Anda dapat mempelajari lebih lanjut tentang harga AWS, penetapan harga contoh yang dipesan, dan memperkirakan biaya Anda dengan kalkulator mereka.

Catatan: Perkiraan di atas tidak termasuk biaya tambahan untuk S3 Storage dan bandwidth yang digunakan oleh W3 Total Cache - tetapi biaya ini biasanya relatif lebih kecil. Dan, kami tidak menyertakan Remote Database Service (RDS) yang dapat diskalakan dalam tutorial ini secara khusus untuk meminimalkan biaya.

Saya sarankan menunggu sampai situs WordPress dasar Anda sudah berjalan dan berjalan sebelum Anda membuat keputusan untuk membeli instance yang sudah dipesan.

Jika Anda membeli instance yang dipesan dan kemudian menyesal melakukannya, Amazon menawarkan pasar untuk menjual instance pesanan yang tidak terpakai (untuk komisi kecil). Saya menemukan ini berfungsi dengan baik dan telah menjual dua instance dalam beberapa minggu.

Namun, memindahkan situs Anda dari instance mikro ke instance kecil adalah non-sepele dan tidak didokumentasikan di sini. Jika Anda pikir Anda akan memiliki blog yang sukses, mulailah dengan contoh kecil atau menengah.

Selain apa yang dijelaskan dalam tutorial optimasi kinerja, Amazon menawarkan sejumlah layanan dan teknik untuk tingkat fleksibilitas dan skalabilitas yang lebih tinggi. Jadi, meskipun tidak dijelaskan di sini, ada banyak cara di AWS untuk membantu Anda mengembangkan situs Anda.

Jika Anda belum memiliki akun Amazon Web Services (AWS), daftar untuk itu. Jika Anda sudah memiliki akun, masuk dan mari mulai.

Membuat Instance EC2 Anda

Sekarang setelah Anda memiliki akun, Anda dapat masuk ke Konsol AWS untuk membuat server virtual baru Anda. Klik tautan EC2 yang ditunjukkan di dasbor di bawah ini:

Jika Anda ingin menjalankan situs WordPress yang trafik ringan, sebuah instance mikro kemungkinan akan bekerja dengan baik untuk Anda. Jika Anda baru mengenal AWS, Anda harus dapat menjalankan blog Anda di tingkat penggunaan gratis selama satu tahun. Jika Anda membeli mesin instance yang dipesan selama tiga tahun seharga $100, Anda dapat mengurangi total biaya bulanan menjadi $6,44. Dengan mikro instance, Anda harus menyiapkan file swap (dijelaskan di bawah) yang dapat menghasilkan beberapa biaya tambahan kecil dan terkadang harus dipantau.

Jika menurut Anda popularitas dan kompleksitas blog Anda akan meningkat dengan cepat, Anda mungkin ingin memulai dengan contoh kecil. Dengan membeli instance kecil yang dipesan selama tiga tahun seharga $188, tarif bulanan efektif adalah $11,82.

Klik tombol Launch Instance untuk memulai panduan buat instance. Jika Anda tidak mengharapkan lalu lintas yang signifikan di blog Anda, pilih Ubuntu 14.xx (64 bit) Micro instance.

Anda umumnya dapat memilih default untuk setiap langkah saat Anda bergerak melalui wizard.

Saat Anda mencapai halaman untuk Mengkonfigurasi Firewall, tambahkan aturan keamanan untuk mengizinkan lalu lintas HTTP pada port 80:

Selama proses, wizard akan mengunduh kunci pribadi ke direktori Unduhan komputer Anda. Simpan salinan file ini di lokasi yang aman. Jika Anda kehilangan itu, Anda akan kehilangan akses ke seluruh instance Anda.

Sekarang, instance Anda siap bagi Anda untuk login remote melalui SSH. Buka Terminal di komputer Anda. Pindahkan kunci yang diunduh ke direktori kunci SSH Anda dan atur izin:

Salin URL untuk instance dari konsol, mis. ec2-75-101-173-192.compute-1.amazonaws.com (lihat di bawah):

Dari Terminal, cobalah untuk terhubung melalui SSH:

Jika Anda menggunakan Windows, Anda harus menggunakan PUTTY untuk terhubung.

Jika Anda masih mengalami masalah, Anda dapat menggunakan tombol Connect di Konsol Amazon di atas daftar EC2 Instance.

Sekarang, saatnya mengaitkan alamat IP publik dengan instance Anda sehingga Anda dapat memetakan nama domain Anda mis. yourbrand.com ke situs WordPress Anda. Saat ini, AWS mengalokasikan alamat IP publik baru untuk setiap instance tetapi jika tidak melakukannya untuk Anda secara otomatis, Anda harus mengalokasikan alamat IP elastis baru.

Dari bilah sisi kiri Dasbor EC2, klik pada IP elastis. Kemudian, klik Alokasikan Alamat Baru. Amazon menyediakan satu IP elastis gratis per instance yang berjalan.

Anda kemudian harus mengaitkan alamat elastis baru dengan instance yang Anda buat. Ini memungkinkan Amazon untuk mengirimkan lalu lintas yang masuk ke alamat IP elastis ke instance Anda yang menjalankan WordPress.

Alamat yang Anda gunakan untuk login remote melalui SSH sekarang akan berubah untuk mencerminkan alamat IP elastis Anda (ganti x dengan IP elastis baru Anda):

Ini mungkin juga bekerja sekarang:

Sekarang, Anda dapat memulai proses pemetaan nama domain Anda mis. yourdomain.com ke situs WordPress masa depan Anda. Kunjungi pengaturan DNS registrar domain Anda dan ubah A record untuk domain yourdomain.com ke alamat IP baru mis. 59.234.124.118.

Berikut adalah satu tutorial untuk mengonfigurasi DNS A Record tetapi registrar domain Anda kemungkinan juga memiliki panduan.

Tunggu sampai perubahan DNS Anda menyebar (kadang-kadang hingga 24 jam atau lebih - periksa di sini), cobalah untuk terhubung melalui SSH menggunakan domain Anda:

Sementara itu, Anda harus dapat terus mengatur bagian lain dari situs Anda.

Amankan Instance anda

Sementara AWS menyediakan firewallnya sendiri, masih ada hal-hal yang dapat Anda lakukan untuk meminimalkan risiko keamanan. Inilah tiga hal yang saya rekomendasikan:

  1. Buat Akun Pengguna Alternatif ke Login Root default (ubuntu)
  2. Matikan SSH Access untuk Default root (ubuntu) Account
  3. Ubah Port Default yang Digunakan untuk SSH Dari 22

Peringatan: Harap ikuti petunjuk ini dengan sangat hati-hati. Menyimpang sedikit dari langkah-langkah ini dapat menimbulkan masalah - termasuk membuat instance Anda tidak dapat diakses.

1. Buat Akun Pengguna Alternatif

Kami akan menambahkan pengguna bernama "hal". Ganti "hal" dengan nama pengguna pilihan Anda dalam contoh di bawah ini:

Tambahkan pengguna baru Anda ke grup admin:

Tambahkan pengguna baru Anda ke grup sudoers. Edit file sudoers:

Tambahkan, baris ini ke file sudoers, di bagian user privileges:

Sekarang, kami akan membuat kunci untuk pengguna ini sehingga mereka dapat masuk ke AWS. Beralih ke pengguna baru:

Ubah ke direktori home untuk pengguna ini:

Buat direktori SSH dan tetapkan izin:

Buat key pair baru:

Tambahkan kunci publik ke file authorized_keys:

Mengatur hak akses:

Pindahkan kunci pribadi ke folder temp untuk diunduh ke komputer Anda:

Edit file konfigurasi SSH untuk menambahkan pengguna baru:

Tambahkan akun hal baru ke bidang AllowUsers (atau buat baris jika tidak ada di sana):

Mulai ulang layanan

Sekarang, kembali ke komputer lokal Anda menggunakan Terminal. Unduh kunci baru dari komputer Anda menggunakan akun ubuntu Anda:

Lanjutkan langkah-langkah ini di komputer lokal Anda. Tetapkan izin dan uji:

Jika Anda mengalami kesalahan, Anda dapat mencoba kembali ke instance server Anda dan melihat logon saat Anda mencoba login:

Pada instance server remote, hapus file-file kunci dari direktori tmp:

2. Matikan Akses SSH untuk Akun Root Default

Edit file konfigurasi SSH lagi:

Hapus akun ubuntu dari bidang AllowUsers:

Pastikan PermitRootLogin diatur ke no atau without-password, yang terakhir mengharuskan masuk dengan kunci:

Mulai ulang layanan ssh

Jika Anda mengalami kesulitan, Anda juga dapat kembali masuk melalui daftar instance konsol AWS.

3. Ubah Port Default yang Digunakan Untuk SSH Dari 22

Karena peretas secara teratur mencari akses SSH pada port 22, yang terbaik adalah menggunakan nomor port yang sama sekali berbeda untuk mengkonfigurasi dan memelihara server Anda.

Edit file konfigurasi SSH lagi:

Ubah jalur Port ke nomor port yang berbeda, mis. 33322:

Kembali ke konsol AWS dan edit grup security. Tambahkan port # yang Anda pilih mis. 33322. Hapus port 22. Pastikan untuk mengklik tombol Apply Rules (tidak digambarkan); itu di bawah kotak Add Rule.

Mulai ulang layanan:

Ke depan, Anda harus menggunakan -p 33322 (atau port yang Anda pilih) saat terhubung melalui SSH:

Bahkan ada teknik yang lebih canggih untuk menyembunyikan login SSH Anda. misalnya Port knocking. Namun, pastikan Anda tahu apa yang Anda lakukan, saya memiliki pengguna yang sedih mengirim email kepada saya setelah mereka mengunci diri dari server mereka sendiri.

Menginstal WordPress

Saatnya untuk bersenang-senang menginstal versi open source WordPress. Instruksi lengkap disediakan lebih detail di Codex WordPress.

Tingkatkan ke distribusi Ubuntu terbaru dan paket-paketnya:

Buat direktori www dengan izin untuk server web Apache:

Unduh WordPress versi terbaru, perluas arsip dan atur izin:

MengInstal Server MySQL

Menginstal paket MySQL Server:

Anda akan diminta untuk memberikan nama pengguna dan kata sandi. Catat pilihan Anda untuk digunakan selama proses pengaturan.

Konfigurasikan Database MySQL. Ubah nama pengguna dan kata sandi di bawah ini menjadi apa pun yang Anda pilih selama instalasi:

Nantinya, Anda akan ingin meninjau pengamanan server MySQL Anda. Saya memiliki sinopsis singkat di situs saya di sini.

Mengatur Situs Apache WordPress Anda

Jika Anda tidak memilih Amazon AWS AMI yang pra-instal Apache, Anda mungkin perlu menginstalnya sekarang:

Sekarang, saatnya membuat file konfigurasi situs untuk server Apache Anda untuk meng-host WordPress:

Mari kita buat file baru untuk diedit. Catatan: di versi baru Ubuntu 14.04, file konfigurasi situs harus diakhiri dengan .conf. Jika file tersebut bernama wordpress seperti pada versi tutorial sebelumnya, a2ensite di bawah ini tidak akan berfungsi.

Page di file situs sampel di bawah ini dan pastikan untuk mengganti konvensi penamaan untuk nama domain Anda:

Beri tahu Apache untuk mengaktifkan situs dan memuat ulang:

Mengkonfigurasi WordPress

Sekarang, kami siap memberi tahu WordPress tentang database dan blog Anda. Pertama, kami akan sementara mengubah izin pada direktori wordpress Anda:

Buka browser web dan navigasikan ke nama domain Anda mis. http://yourdomain.com.

Isi informasi basis data yang diminta WordPress menggunakan pilihan Anda di atas. Prosesnya akan terlihat seperti ini:

Sekarang, mari kita kunci izin untuk instalasi WordPress untuk keamanan:

Mari kita juga membuat pembaruan manual ke file wp-config.php:

Tambahkan baris konfigurasi berikut di atas baris berhenti mengedit:

Coba masuk ke sistem Administrasi WordPress. Kunjungi http://yourdomain.com/wp-admin dan masukkan nama pengguna dan kata sandi yang Anda pilih selama proses instalasi.

Anda harus melihat Dashboard WordPress, seperti di bawah ini:

Kerja bagus dan selamat atas pemasangan WordPress baru Anda!

Menjaga WordPress Berjalan dalam Mikro Instance

WordPress, plugin-nya, dan Apache bersama-sama dapat bertemu dekat dengan batas memori instance AWS Micro. Nyalakan ulang instans Anda satu kali setelah tutorial ini dan pantau berapa banyak memori yang Anda gunakan. Dari Terminal, SSH masuk dan lakukan:

Atau, Anda dapat reboot dari EC2 Dashboard seperti yang ditunjukkan pada gambar di bawah ini. Lihat menu Action. Pantau aktivitas Anda secara gratis atau teratas:

Atau, gunakan top. Mengetik ‘q’ akan keluar dari atas.

Coba kunjungi berbagai halaman situs WordPress Anda dan lihat bagaimana pengaruhnya terhadap penggunaan memori. Coba akses halaman dari perangkat seluler dan tablet Anda juga. Jika Anda menggunakan Amazon Micro instance, kemungkinan Anda harus mengonfigurasi file swap di EBS untuk mencegah instance anda hancur.

Mengkonfigurasi File SWAP

Meskipun mudah diatur, ada beberapa risiko kecil yang menimbulkan biaya bandwidth internetwork tidak terbatas - jadi pastikan untuk memantau situs Anda dan mengatur alarm penagihan seperti yang dijelaskan di situs saya di sini. Saya tidak pernah punya masalah dengan ini - tetapi orang-orang memperingatkan tentang hal itu.

Setelah Anda mengatur file swap, micri instance Anda harusnya stabil.

Sekarang, untuk membuat swapfile tetap di seluruh reboot, edit file fstab:

Tambahkan baris ini:

Verifikasi file swap aktif dengan mengetik:

Itu harus menunjukkan sesuatu seperti:

Hal-hal lain yang perlu diingat

Anda sekarang adalah administrator sistem yang menjalankan situs WordPress Anda sendiri. Luar biasa. Tapi, Anda sekarang bertanggung jawab untuk banyak hal yang biasanya dikelola oleh perusahaan hosting.

Tidak ada rasa malu untuk kembali ke hosting yang dikelola. Jika Anda merasa sudah berada di luar kepala, jangan ragu untuk mundur ke WordPress.com atau host lain. Kita semua membuat keputusan di mana kita menghabiskan waktu - dan hosting yang dikelola adalah keputusan yang masuk akal. Setelah Anda berkomitmen untuk menjalankan situs Anda sendiri - menjaganya agar tetap berjalan akan membutuhkan lebih banyak waktu Anda karena akan bermigrasi ke hosting yang dikelola nanti. Jadi, pertimbangkan hal ini.

Keamanan

Sangat penting untuk secara teratur masuk ke instance Anda dan memperbarui paket keamanan. Saat Anda masuk, Ubuntu akan melaporkan sesuatu seperti: "35 packages can be updated. 22 updates are security updates." Gunakan perintah berikut untuk memperbarui sistem:

Bug heartbleed baru-baru ini adalah contoh peringatan dari jenis kerentanan yang perlu ditambal dari waktu ke waktu. Jika Anda tidak memperbarui sistem Linux Anda, orang mungkin dapat meretas situs Anda.

Menjaga pembaruan WordPress sama pentingnya. Versi WordPress terbaru dikonfigurasikan untuk memberi tahu Anda tentang peningkatan baru.

Backup

Tidak ada yang membuat cadangan situs WordPress Anda. Anda harus memilih cara melakukan ini. Anda dapat mengingat secara manual untuk membuat snapshot AWS instance Anda melalui antarmuka AWS. Jika Anda mencari secara online, Anda dapat menemukan skrip untuk kustomisasi yang melakukan ini dari instance Linux Anda. Pada dasarnya, Anda perlu membuat cadangan struktur direktori WordPress (dengan tema, plugin, dan gambar), basis data MySQL yang disimpan dalam sistem file Linux dan juga file konfigurasi situs Apache Anda.

Pendekatan lain yang berfungsi dengan baik adalah layanan seperti VaultPress, yang dimiliki oleh perusahaan induk WordPress, Automattic. Ada juga plugin WordPress yang dapat Anda beli untuk menjalankan backup ke layanan penyimpanan lain, termasuk amain S3 Storage System.

Formulir Kontak

Formulir kontak WordPress mengharuskan Anda menjalankan server email Anda sendiri untuk mengirim email pesan yang dikirimkan kepada Anda. Menjalankan server surat Postfix cukup rumit dan memiliki risiko penskalaan dan keamanan sendiri. Sebagai gantinya, saya suka menggabungkan sesuatu seperti Plugin Contact Form 7 dengan plugin Mailgun WordPress. Ada sedikit pengaturan tetapi gratis untuk sebagian besar kegunaan dan bekerja dengan sempurna.

Solusi Pemantauan

Anda juga bertanggung jawab untuk mengelola waktu aktif server Anda. Jadi, Anda memerlukan layanan pemantauan untuk memberi tahu Anda saat amazon instance turun. Dan, mereka memang - jarang, tetapi itu terjadi. Layanan berbayar seperti ScoutApp.com atau Simple Monitor saya yang di-host sendiri adalah solusi yang baik. Jika Anda mengatur sendiri pemantauan Anda, penting untuk menjalankannya pada instnace yang berbeda atau setidaknya nyalakan detak jantung pada interval yang sering, mis. 2 jam. Jika instance pemantauan Anda gagal, Anda tidak akan tahu sampai Anda melihat bahwa Anda tidak menerima detak jantung terakhir.

Optimisasi Mesin Pencari

Ini adalah topik panjang yang tidak akan kami bahas sepenuhnya di sini. Saya telah menulis lebih banyak tentang topik ini di situs saya sendiri. Kinerja situs Anda juga memengaruhi peringkat mesin pencari Anda.

Jadi, inilah saatnya untuk membangun fondasi untuk kinerja super cepat dengan Varnish Cache dan W3 Total Cache.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.