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:
mv ~/Downloads/wordpress.pem ~/.ssh chmod 400 ~/.ssh/wordpress.pem
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:
ssh -i ~/.ssh/wordpress.pem ubuntu@ec2-75-101-173-192.compute-1.amazonaws.com
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):
ssh -i ./wordpress.pem ubuntu@ec2-xx-xx-xx-xx.compute-1.amazonaws.com
Ini mungkin juga bekerja sekarang:
ssh -i ./wordpress.pem ubuntu@xx.xx.xx.xx
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:
ssh -i ./wordpress.pem ubuntu@yourdomain.com
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:
- Buat Akun Pengguna Alternatif ke Login Root default (ubuntu)
- Matikan SSH Access untuk Default root (ubuntu) Account
- 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:
sudo adduser hal
Tambahkan pengguna baru Anda ke grup admin:
sudo adduser hal admin
Tambahkan pengguna baru Anda ke grup sudoers. Edit file sudoers:
sudo nano /etc/sudoers
Tambahkan, baris ini ke file sudoers, di bagian user privileges:
hal ALL=(ALL) NOPASSWD:ALL
Sekarang, kami akan membuat kunci untuk pengguna ini sehingga mereka dapat masuk ke AWS. Beralih ke pengguna baru:
su hal
Ubah ke direktori home untuk pengguna ini:
cd /home/hal
Buat direktori SSH dan tetapkan izin:
mkdir .ssh chmod 700 .ssh
Buat key pair baru:
cd .ssh ssh-keygen -b 1024 -f id_hal -t dsa
Tambahkan kunci publik ke file authorized_keys:
cat ~/.ssh/id_hal*.pub > ~/.ssh/authorized_keys
Mengatur hak akses:
chmod 600 ~/.ssh/*
Pindahkan kunci pribadi ke folder temp untuk diunduh ke komputer Anda:
cp ~/.ssh/* /tmp chmod 644 /tmp/*
Edit file konfigurasi SSH untuk menambahkan pengguna baru:
sudo nano /etc/ssh/sshd_config
Tambahkan akun hal baru ke bidang AllowUsers (atau buat baris jika tidak ada di sana):
AllowUsers ubuntu hal
Mulai ulang layanan
sudo service ssh restart
Sekarang, kembali ke komputer lokal Anda menggunakan Terminal. Unduh kunci baru dari komputer Anda menggunakan akun ubuntu Anda:
scp -i ~/.ssh/wordpress.pem ubuntu@ec2-xx-xx-xx-xx.compute-1.amazonaws.com:/tmp/* ~/.ssh
Lanjutkan langkah-langkah ini di komputer lokal Anda. Tetapkan izin dan uji:
cd ~/.ssh chmod 400 id_hal ssh -i .ssh/id_hal hal@ec2-xx-xx-xx-xx.compute-1.amazonaws.com
Jika Anda mengalami kesalahan, Anda dapat mencoba kembali ke instance server Anda dan melihat logon saat Anda mencoba login:
tail -f /var/log/auth.log
Pada instance server remote, hapus file-file kunci dari direktori tmp:
rm -rf /tmp/*
2. Matikan Akses SSH untuk Akun Root Default
Edit file konfigurasi SSH lagi:
sudo nano /etc/ssh/sshd_config
Hapus akun ubuntu dari bidang AllowUsers:
AllowUsers hal
Pastikan PermitRootLogin diatur ke no atau without-password, yang terakhir mengharuskan masuk dengan kunci:
PermitRootLogin without-password
Mulai ulang layanan ssh
sudo service ssh restart
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:
sudo nano /etc/ssh/sshd_config
Ubah jalur Port ke nomor port yang berbeda, mis. 33322:
# What ports, IPs and protocols we listen for Port 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:
sudo service ssh restart
Ke depan, Anda harus menggunakan -p 33322 (atau port yang Anda pilih) saat terhubung melalui SSH:
ssh -p 33322 -i .ssh/id_hal hal@ec2-xx-xx-xx-xx.compute-1.amazonaws.com
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:
sudo apt-get dist-upgrade
Buat direktori www dengan izin untuk server web Apache:
sudo mkdir /var/www sudo chown www-data:www-data /var/www cd /var/www
Unduh WordPress versi terbaru, perluas arsip dan atur izin:
sudo wget http://wordpress.org/latest.tar.gz sudo tar -xzvf latest.tar.gz sudo chown -R www-data:www-data wordpress
MengInstal Server MySQL
Menginstal paket MySQL Server:
sudo apt-get install 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:
mysql -u root -p create database wordpress; grant all privileges on wordpress.* TO "your-mysql-username"@"localhost" identified by "your-mysql-password"; flush privileges; exit;
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:
sudo apt-get install php5 libapache2-mod-php5 libapache2-mod-auth-mysql php5-mysql
Sekarang, saatnya membuat file konfigurasi situs untuk server Apache Anda untuk meng-host WordPress:
cd /etc/apache2/sites-available
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.
sudo nano wordpress.conf
Page di file situs sampel di bawah ini dan pastikan untuk mengganti konvensi penamaan untuk nama domain Anda:
<VirtualHost *:80> ServerName YOURDOMAIN.COM DocumentRoot /var/www/wordpress DirectoryIndex index.php <Directory /var/www/wordpress/> AllowOverride All Order Deny,Allow Allow from all </Directory> </VirtualHost>
Beri tahu Apache untuk mengaktifkan situs dan memuat ulang:
sudo a2ensite wordpress sudo service apache2 restart
Mengkonfigurasi WordPress
Sekarang, kami siap memberi tahu WordPress tentang database dan blog Anda. Pertama, kami akan sementara mengubah izin pada direktori wordpress Anda:
cd /var/www sudo chmod -R 777 wordpress
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:
sudo find /var/www/wordpress/ -type d -exec chmod 755 {} \; sudo find /var/www/wordpress/ -type f -exec chmod 644 {} \;
Mari kita juga membuat pembaruan manual ke file wp-config.php:
sudo nano /var/www/wordpress/wp-config.php
Tambahkan baris konfigurasi berikut di atas baris berhenti mengedit:
define('FS_METHOD', 'direct'); // for automatic plugin installation /* That's all, stop editing! Happy blogging. */
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:
sudo reboot
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:
free

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

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.
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 sudo mkswap /swapfile sudo swapon /swapfile
Sekarang, untuk membuat swapfile tetap di seluruh reboot, edit file fstab:
sudo nano /etc/fstab
Tambahkan baris ini:
/swapfile swap swap defaults 0 0
Verifikasi file swap aktif dengan mengetik:
free
Itu harus menunjukkan sesuatu seperti:
Swap: 1048572 0 1048572
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:
sudo apt-get upgrade
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.
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Update me weeklyEnvato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!
Translate this post