Mengkonfigurasi dan
Mengamankan Server Situs
Web Anda Sendiri Dari Awal
by Karen Pogosyan2 Jan 2019
Bahasa Indonesia
Difficulty:IntermediateLength:LongLanguages:
Apache PHP7SSHHTTPS
Sponsored Content
This sponsored post features a product relevant to our readers while meeting our editorial guidelines for being
objective and educational.
Indonesian (Bahasa Indonesia) translation by AaliyaA (you can also view the original English article)
Jika Anda pernah memiliki atau menjalankan situs web, Anda akan terbiasa dengan
satu bagian penting darinya: hosting yang berkualitas, server yang bagus. Dan
sementara ada sejumlah besar perusahaan hosting yang tersedia, menemukan opsi
terbaik terkadang bisa rumit. Tutorial tingkat menengah ini akan membantu Anda
memahami hosting dengan VPS atau server khusus.
Namun, jika tugas Anda membutuhkan lebih banyak sumber daya daripada situs web
WordPress rata-rata, Anda sebaiknya mempertimbangkan beralih dari hosting ke VPS
atau server khusus. Dan jangan berpikir Anda harus membayar $ 5.000 per bulan
untuk mendapatkan salah satu dari opsi ini - harga jauh lebih rendah daripada yang
Anda pikirkan, dan dampak positifnya jauh lebih tinggi.
Advertisement
Persiapan
Instalasi
Akses server
Menginstal Apache dengan Let's Encrypt (SSL HTTPS), PHP7, dan server
MySQL
Memperbarui PHP
Menginstal phpMyadmin dan securing it
Menghidupkan kembali situs
Memperbarui OS
SSL pembaruan
Pemecahan masalah
Kesimpulan
Persiapan
Karena artikel ini membahas tentang pemasangan dan konfigurasi server VPS /
Dedicated yang sudah ada, pada titik ini Anda seharusnya sudah memiliki server
(dalam keadaan standarnya). Saya tidak akan menunjuk ke penyedia server tertentu,
pilihan pribadi saya adalah ovh.ie, tetapi Anda bebas memilih penyedia server mana
pun yang Anda inginkan. Satu-satunya hal yang saya rekomendasikan sebelum
membuat keputusan Anda adalah: memastikan penyedia server Anda memiliki
Infrastruktur global yang kuat, yaitu kehadiran di setidaknya lima benua (maaf
Antartika). Semakin banyak kehadirannya, semakin banyak nilai yang akan Anda
dapatkan dari sumber daya dan kisaran harganya.
Sebagian besar penyedia server akan membiarkan Anda memilih di mana Anda
membutuhkan keberadaan fisik server Anda. Ini penting, karena semakin dekat server
Anda dengan negara atau wilayah yang ditargetkan, semakin cepat memuat dan
kinerja situs Anda.
Sebelum membeli server, Anda juga harus memikirkan ketersediaan CDN (content
delivery network). Jika situs web Anda memiliki banyak file yang akan Anda layani
untuk audiens global yang luas, CDN diperlukan untuk meningkatkan kinerja situs
web Anda. Anda selalu bisa mendapatkan solusi CDN terpisah, jadi ini tidak serta
merta mempengaruhi pilihan server Anda.
Instalasi
Setelah Anda membeli server, Anda akan menerimanya sebagai server kosong dengan
sistem operasi standar. Tidak akan ada cPanel, tidak ada panel Plesk, satu-satunya
informasi yang akan Anda dapatkan adalah:
Tidak ada tautan, tidak ada panel admin: tidak ada! Pertama-tama mari kita periksa
sistem operasi apa yang diinstal secara default, Anda dapat melihatnya di panel
kontrol pengguna penyedia server Anda (bukan panel kontrol server Anda).
Kemungkinan akan menjadi salah satu dari yang berikut:
Wow! Ini adalah daftar besar sistem operasi. Saya pribadi sudah mencoba yang
tercantum dalam huruf tebal. Secara umum, proses konfigurasi dan instruksi adalah
sama untuk semua, meskipun mungkin ada beberapa perbedaan sintaks untuk perintah
OS. Pilihan pribadi saya adalah Ubuntu 16.04 atau Ubuntu 18.04, jadi saya akan
menunjukkan proses lengkap untuk keduanya.
Jika OS default Anda berbeda, saya sarankan menginstal Ubuntu 16.04. Anda dapat
melakukan ini dari panel admin penyedia VPS / Server Anda dengan memilih OS
yang Anda butuhkan dari daftar. Prosesnya seharusnya tidak lebih dari sepuluh menit
dan, setelah selesai, Anda akan diberi informasi akses server baru.
Akses server
Jadi bagaimana Anda dapat mengakses server Anda? Ini tergantung pada OS
komputer Anda, dan versi.
Untuk Windows 10, sejak 2015, Anda dapat connect to a Secure Shell server (SSH)
tanpa menginstal perangkat lunak pihak ketiga.
Untuk Windows semua versi ada alat yang sangat sederhana untuk itu: PuTTY. Putty
adalah klien SSH dan telnet. Putty adalah perangkat lunak sumber terbuka yang
dikembangkan dan didukung oleh sekelompok relawan.
Saya menjalankan Windows 10, dan pilihan pribadi saya adalah Putty. Jadi, mulailah
dengan membuka klien SSH Anda.
Seperti yang Anda lihat, kita perlu memasukkan nama host atau alamat IP kita
(pastikan jenis koneksi SSH). Setelah instalasi OS, Anda akan menerima, melalui
email, informasi yang diperlukan untuk mengakses server Anda:
Copy nama VPS yang Anda terima, tempel di Host name field, lalu tekan Open.
Window modal hitam akan terbuka dengan prompt "Login as:". Ketik username Anda
dan tekan Enter.
Anda akan diminta untuk mengetik kata sandi Anda (saat mengetik kata sandi Anda
tidak akan melihat proses pengetikan itu sendiri, karena alasan keamanan) kemudian
tekan Enter.
Jika Anda telah melakukan semuanya dengan benar, Anda harus masuk dan melihat
layar yang mirip dengan ini:
Artikel ini bukan tentang cara menggunakan Linux dengan semua perintahnya yang
beragam, jadi saya tidak akan menjelaskan masing-masing yang kita gunakan di sini.
Berikut adalah list of common Linux commands yang dapat Anda jelajahi lebih lanjut.
Tetapi dengan mengikuti instruksi yang saya uraikan di sini Anda akan menyelesaikan
tugas-tugas berikut: instalasi, konfigurasi, mengamankan dan memperbarui server
khusus.
Instal Apache dengan Let's Encrypt (
HTTPS), PHP7, dan server MySQL
Ketik clear dan tekan Enter. Ini akan menghapus layar. Untuk memeriksa versi OS
yang kita miliki sekarang ketik lsb_release –a dan tekan Enter. Jika Anda
mengikuti semua langkah di bagian instalasi artikel ini, Anda akan melihat bahwa
Anda telah menginstal versi Ubuntu 16.04
1 Distributor ID: Ubuntu
2 Description: Ubuntu 16.04.1 LTS
3 Release: 16.04
Codename: bionic
4
Pada titik ini kita memiliki dua opsi: lanjutkan dengan versi OS yang ada atau
perbarui ke versi terbaru. Sekarang mari kita lanjutkan dengan versi yang ada.
Sekarang kita akan menginstal server Apache dengan PHP7 dan server MySQL, tetapi
pertama-tama mari kita perbarui sistem saat ini (bukan versi OS).
Selanjutnya Anda mungkin diminta untuk mengambil tindakan pada file konfigurasi –
pilih tindakan default dan lanjutkan. Setelah itu, ketik sudo apt-get install
apache2 mysql-server php dan tekan Enter. Terakhir, konfirmasi lagi penggunaan
Masukkan kata sandi untuk pengguna MySQL Anda (pastikan itu cukup kuat), dan
ulangi pada langkah berikutnya. Ketika proses selesai, Anda akan menjadi pemilik
bangga dari server Apache baru + server Mysql dan PHP versi 7.
Jika Anda sudah memiliki domain yang ditautkan dengan server Anda saat ini, buka
domain Anda. Jika tidak, masukkan di browser window alamat IPv4 VPS Anda dan
Anda akan melihat sesuatu yang mirip dengan ini:
SSL
Lihatlah bidang alamat browser window. Anda akan melihat situs Anda menggunakan
http protocol, bukan https. Kita perlu menginstal dan mengaktifkan sertifikat SSL, jadi
mari kita gunakan Let’s Encrypt free, otomatis, dan buka Certificate Authority. Kita
ambil dari repo di https://github.com/letsencrypt, tapi pertama-tama kita perlu
menginstal Git app.
Buka lagi klien baris perintah Anda dan ketik sudo apt-get install git dan
tekan Enter.
Di sini saya ingin membuat catatan: jika Anda menggunakan placeholder domain
VPS, mis. Nama host atau alamat IPv4 Anda, Anda mungkin memiliki masalah
dengan letsencrypt. Anda mungkin melihat:
An unexpected error occurred: There were too many requests of a given type :: Error finali
1https://letsencrypt.org/docs/rate-limits/
Untuk memecahkan masalah ini masukkan domain akhir.
Dengan asumsi tidak ada masalah lagi melanjutkan dengan memasukkan alamat email
Anda, maka setuju dengan istilah letsencrypt.
Kotak dialog baru akan terbuka meminta Anda untuk memilih apakah akses https
diperlukan atau opsional (mis. Apakah pengguna masih dapat mengakses tautan Anda
dengan http, atau jika semua tautan dialihkan ke https) Saya sangat
merekomendasikan memilih opsi kedua. Jika Anda telah melakukan semuanya dengan
benar, Anda akan melihat kotak dialog baru dengan pesan sukses. Tekan Enter dan
restart server Apache dengan mengetikkan sudo systemctl restart apache2 .
Sekarang jika Anda mengunjungi halaman Anda, Anda akan melihat bahwa https
aktif:
Kemudian saya akan menunjukkan kepada Anda bagaimana Anda dapat memperbarui
sertifikat Anda, karena sertifikat allowencrypt secara default hanya berlaku selama 90
hari.
Memperbarui PHP
Menurut WordPress requirements, versi PHP minimum yang kami butuhkan adalah
7.2 pada saat penulisan. Jika Anda memeriksa versi PHP di Ubuntu 16.04 Anda akan
melihat bahwa versi 7.0, 7.0.30 atau 7.1. Untuk menjalankan jenis centang itu di klien
SSH: php -v
Sebelum kita memperbarui PHP kita kita akan perlu memeriksa modul PHP diinstal.
Untuk melakukan tipe: sudo dpkg --get-selections | grep -v deinstall |
grep php
Buat screenshot atau simpan konten dalam file teks: Anda harus memasang modul ini
lagi setelah memutakhirkan ke PHP 7.2.
Selanjutnya, kita perlu memperbarui daftar paket. Jalankan perintah berikut untuk
memperbarui paket Anda dan menginstal PHP 7.2 di server Anda:
1 apt-get update
apt-get install python-software-properties
2
LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
3 apt-get update
4 apt-get install php7.2
5
Jalankan cek lagi, untuk melihat bahwa Anda telah menginstal PHP 7.2 dengan benar.
Setelah itu selesai, kita perlu menonaktifkan versi lama dan memberitahu Apache
untuk menggunakan PHP 7.2. Ketikkan yang berikut ini:
1 a2dismod php7.0
2 a2enmod php7.2
3 service apache2 restart
PHP 7.2 sekarang harus aktif di situs web Anda. Satu-satunya yang tersisa adalah
menginstal semua modul yang kami periksa sebelum pembaruan. Periksa daftar yang
Anda simpan sebelumnya dan dengan koreksi yang tepat ketik yang berikut ini:
apt-get install libapache2-mod-php7.2 php7.2-cgi php7.2-cli php7.2-common php7.2-curl php7
1php7.2-opcache php7.2-pspell php7.2-readline php7.2-soap php7.2-xml
Mulai ulang server apache dengan sudo systemctl restart apache2
Catatan: jika Anda melakukan ini secara terpisah, tanpa mengikuti semua langkah
sebelumnya, perbarui sistem terlebih dahulu: sudo apt-get update
Sekarang Anda dapat mengakses interface web dengan mengunjungi nama domain
server Anda atau alamat IP publik diikuti oleh /phpmyadmin.
Securing phpMyAdmin
Pada tahap ini semua orang bisa mengetik alamat phpmyadmin dan sampai di sini,
jadi kita perlu mengamankannya. Bagaimana? Dengan menambahkan gateway
tambahan di depan seluruh aplikasi. Kita akan melakukan ini dengan menggunakan
fungsionalitas .htaccess autentikasi dan fungsi otorisasi apache.
Pertama kita perlu mengaktifkan penggunaan override file .htaccess, jadi ketikkan
yang berikut ini: nano /etc/apache2/conf-available/phpmyadmin.conf
1 DirectoryIndex index.php
2 Allowoverride All
Mengatur sandi, dan restart apache server: sudo systemctl restart apache2
Sekarang jika Anda mencoba mengakses phpmyadmin, Anda akan melihat kotak
modal dengan login dan kata sandi yang diperlukan:
Setelah Anda memasukkan login dan kata sandi (ingat ini bukan pengguna dan kata
sandi MySQL), Anda akan diarahkan ke halaman login phpMyAdmin yang biasa.
Masukkan pengguna MySQL dan kata sandi Anda dan Anda memiliki akses ke semua
basis data Anda.
Setelah login Anda akan diarahkan ke folder root. Di sini Anda tidak memiliki batasan
area, sehingga Anda dapat meninggalkan folder root dan sampai ke root sistem file
server. Arahkan ke var / www / html; ini adalah folder publik untuk situs web Anda
dan tempat Anda harus mengunggah semua file situs web Anda. Untuk mempercepat,
Anda dapat mengunggah satu file zip dan mengompresnya menggunakan perintah
SSH. Untuk melakukannya, mari kita instal aplikasi unzip dengan mengetikkan klien
SSH kami: apt-get install unzip . Setelah itu ketik perintah unzip
archive.zip di mana "archive" adalah nama persis file Anda.
Update OS
Saya tidak secara khusus memperbarui OS sebelum kita menempatkan situs di server
untuk menunjukkan cara memperbarui OS tanpa kehilangan data. Tentu saja, ada
yang salah, jadi sebelum memperbarui OS kita perlu membuat cadangan situs web
kita. Untuk melakukan itu pertama-tama kita perlu membuat cadangan basis data
melalui phpMyadmin, dan mencadangkan semua file situs. Cara termudah adalah
dengan membuat arsip file situs web kita dan mengunduhnya menggunakan FTP.
Untuk mengarsipkan situs terlebih dahulu kita perlu menginstal aplikasi zip dengan
mengetik: apt-get install zip
Itu dia. Setelah pembaruan selesai, Anda dapat memeriksa versi OS Anda dengan
mengetik: lsb_release –a
SSL pembaruan
Seperti yang saya sebutkan letsencrypt menetapkan tanggal kedaluwarsa sertifikatnya
menjadi 90 hari, jadi setelah periode itu Anda perlu memperbarui sertifikat Anda.
Untuk melakukannya, buka klien SSH Anda, masuk dan navigasikan ke root: cd
root / letsencrypt
Pilih 2
Masukkan nama domain Anda
Dan restart apache server dengan: sudo systemctl restart apache2
Penyelesaian masalah
Instalasi dan konfigurasi server adalah tugas yang rumit - banyak hal bisa salah, dan
Anda perlu menginvestasikan waktu dan kesabaran untuk menyelesaikan masalah.
Selama pengalaman pribadi saya, saya telah mengalami beberapa masalah yang ingin
saya sorot untuk Anda:
Izin terbatas untuk pengguna root. Pertama kali saya memasang situs web di server
saya, saya diberi pesan bahwa WordPress tidak dapat membuat file wp-config.php
dan gambar tidak dapat ditampilkan. Pikiran pertama saya adalah mengubah izin
folder / file. Ini tidak benar, masalah sebenarnya berasal dari pengguna root. Anda
harus mengubah pemilik folder html (folder publik Anda). Untuk melakukannya buka
klien SSH Anda, login dan ketik: sudo chown -R www-data html
Masalah kedua yang saya miliki yang membutuhkan banyak waktu untuk diselesaikan
adalah bahwa PHP tidak mem-parsing situs web, itu hanya ditampilkan sebagai teks
biasa. Jika Anda mengalami jenis ini, berikut ini di klien SSH:
1 sudo a2enmod proxy_fcgi setenvif
2 sudo a2enconf php7.0-fpm
3 sudo service apache2 restart
Kesimpulan
Ketika saya pertama kali menemukan tugas konfigurasi server, saya benar-benar
ketinggalan tutorial seperti ini. Saya harus mengumpulkan informasi sedikit demi
sedikit, yang memakan waktu lama dan cukup sulit. Saya sangat berharap artikel ini
membantu Anda.
Cara mengatur privileges
flush privileges;