Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Web Design
  2. Apache
Webdesign

Cara Menginstal, Mengkonfigurasi dan Mengamankan Server Situs Web Anda Sendiri Dari Awal

by
Difficulty:IntermediateLength:LongLanguages:
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.

Untuk siapa ini?

Jika Anda bukan developer, penulis Thefeforest, atau memiliki pemahaman dasar tentang mengelola server, postingan ini bukan untuk Anda. Saya sangat menyarankan Anda untuk membeli solusi profesional yang memadai, siap pakai, dan profesional dengan alat-alat yang sudah jadi.

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.

Kapan Sebaiknya Anda Pertimbangkan untuk Memutakhirkan Hosting Anda?

Pada titik yang mana yang menjadikan jelas bahwa hosting Anda menjadi sempit? Tidak ada batasan absolut atau jawaban yang benar-benar benar untuk ini. Tetapi Anda dapat membuat keputusan yang tepat jika Anda menjawab pertanyaan-pertanyaan ini:

  • Apakah situs web Anda memiliki lalu lintas yang padat?
  • Apakah Anda menginginkan lebih banyak keandalan dan keamanan?
  • Apakah Anda ingin kontrol dan akses root server yang lebih baik?
  • Apakah Anda siap untuk menyelesaikan masalah server Anda tanpa bantuan atau dukungan? Kelemahan yang signifikan adalah bahwa Anda mungkin tidak akan memiliki dukungan apa pun, dan Anda harus melakukan beberapa hal sendiri: menginstal perangkat lunak server web dan database, memperbarui semuanya, dan tentu saja, mengkonfigurasi semua aplikasi dalam (kebanyakan) Linux berbasis lingkungan,melalui command line interface. 

Apa yang harus dipilih?

Pada titik ini mari kita asumsikan Anda menginginkan sesuatu yang lebih dari solusi Shared Hosting - tetapi apa yang harus dipilih? VPS atau server khusus?

  • A VPS (Virtual Private Server) adalah cara yang terjangkau untuk mendapatkan fleksibilitas sebanyak yang Anda butuhkan, meskipun Anda masih akan berbagi server dengan orang lain melalui "virtualisasi". Ini lebih baik daripada shared hosting, tetapi bukan pilihan terbaik yang tersedia.
  • A Dedicated server hampir sama dengan VPS, tetapi alih-alih berbagi sumber daya perangkat keras dengan orang lain melalui virtualisasi, Anda bisa menggunakan semua komputer untuk situs web Anda, secara eksklusif.

Proses instalasi dan konfigurasi hampir sama untuk VPS dan dedicated server.

Apa Yang Akan Kita Cakup dalam Artikel Ini

Mari kita lompat ke inti artikel ini. Kita akan membahas sedikit:

  • 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:

  • Alamat IPv4 VPS
  • Alamat IPv6 VPS
  • Nama VPS
  • Username / Password

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:

  • Arch Linux (64 bits)
  • Centos 6 (64 bits)
  • Centos 7 (64 bits)
  • Cpanel on CentOS 6 (64 bits)
  • Debian 7 (Wheezy) (64 bits)
  • Debian 8 (Jessie) (64 bit)
    Debian 9 (Stretch) (64 bits)
  • Docker on Ubuntu 14.04 Server
  • Docker on Ubuntu 16.04 Server
  • Drupal (64 bits)
  • Fedora 26 (64 bits)
  • Joomla! (64 bits)
  • Kubuntu 14,04 Desktop
  • LAMPU 1.0 (64 bit)
  • OpenVPN Debian 8
  • Paralel Plesk 12 pada Centos 6
    Paralel Plesk 12 di Ubuntu 14,04
  • Plesk pada Debian 8 (64 bit)
  • Prestashop (64 bits)
  • Ubuntu 14,04 Server
  • Ubuntu 16.04 Server
    Ubuntu 18.04 Server
  • VestaCP pada Debian 8
  • Virtualmin pada Debian 8
  • Wordpress (64 bit)

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.

Anda mungkin bertanya mengapa saya merekomendasikan menginstal Ubuntu 16.04 jika versi 18.04 sudah tersedia. Ada dua alasan utama untuk ini:

  • Pada titik tertentu Anda perlu memperbarui OS Anda ke versi yang lebih baru, dan di sini saya ingin menunjukkan kepada Anda bagaimana Anda dapat melakukannya, bahkan dengan situs web yang ada.
  • Jika karena alasan tertentu Anda tidak dapat memperbarui OS, saya ingin menunjukkan kepada Anda bagaimana Anda dapat memperbarui PHP ke versi terbaru yang tersedia di Ubuntu 16.04.

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.

Jika Anda menggunakan Mac OS, Anda memiliki beberapa opsi:

  • Menggunakan built-in SSH client di Mac OS.
  • Menjalankan SSH dari baris perintah terminal.
  • Cyberduck di Mac adalah klien SSH yang solid dan terkenal, yang cukup populer.

Saya menjalankan Windows 10, dan pilihan pribadi saya adalah Putty. Jadi, mulailah dengan membuka klien SSH Anda.

PuTTY

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:

  • Alamat IPv4 VPS
  • Alamat IPv6 VPS
  • Nama VPS
  • Username / Password

Copy nama VPS yang Anda terima, tempel di Host name field, lalu tekan Open.

puTTY login

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:

login screen

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 (SSL 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

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).

Ketik sudo apt-get update dan tekan Enter.

Kemudian sudo apt-get upgrade dan tekan Enter.

Anda mungkin diminta mengonfirmasi penggunaan ruang disk tambahan untuk pembaruan, jadi tekan Y dan Enter.

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 ruang disk dengan Y dan Enter.

MySQL Password

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:

New Apache server

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.

Sekarang ketik git clone https://github.com/letsencrypt/letsencrypt. Dengan Letsencrypt diinstal, sekarang mari kita menavigasi ke letsencrypt folder dengan mengetik cd letsencrypt / dan tekan Enter.

Kemudian ketik ./letsencrypt-auto Biarkan proses melakukan sisanya, bisa memakan waktu beberapa menit hingga kotak dialog muncul dengan teks:

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:

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:

we have https

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:

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:

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:

Mulai ulang server apache dengan sudo systemctl restart apache2

Instal phpMyAdmin dan Secure it

Kemajuan besar! Sekarang Anda mungkin bertanya: di mana Anda meletakkan situs Anda, dan bagaimana Anda membuat basis data? Mari kita mulai dengan menginstal dan mengamankan aplikasi phpMyadmin untuk manajemen basis data yang lebih baik.

Catatan: jika Anda melakukan ini secara terpisah, tanpa mengikuti semua langkah sebelumnya, perbarui sistem terlebih dahulu: sudo apt-get update

  • Untuk menginstal phpMyAdmin ketik berikut: apt-get install phpmyadmin php mbstring php-gettext.
  • Untuk server pilihan Pilih apache2.
  • Pilih yes ketika diminta untuk menggunakan dbconfig-common.
  • Tetapkan kata sandi aplikasi mysql untuk phpMyAdmin.

Dan sekarang, jika Anda menggunakan PHP 7.0, bukan 7.2, aktifkan ekstensi PHP mcrypt dan mbstring (jika PHP Anda adalah 7.2 mcrypt tidak lagi diperlukan).

sudo phpenmod mcrypt

sudo phpenmod mbstring

Restart apache server: sudo systemctl restart apache2

Sekarang Anda dapat mengakses interface web dengan mengunjungi nama domain server Anda atau alamat IP publik diikuti oleh /phpmyadmin.

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

Tempatkan kursor tepat setelah index.php DirectoryIndex seperti ini, tambahkan Allowoverride All:

Tekan CTRL + X, tekan Y, tekan Enter.

Restart apache server: sudo systemctl restart apache2

Sekarang membuat .htaccess file dengan mengetik: sudo nano /usr/share/phpmyadmin/.htaccess

Masukkan informasi berikut:

Tekan CTRL + X, tekan Y, kemudian tekan Enter.

Buat file .htpasswd untuk Authentication

sudo apt-get install apache2-utils

htpasswd - c /etc/phpmyadmin/.htpasswd root

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:

password for phpmyadmin

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.

Menghidupkan kembali situs

Sekarang saatnya menempatkan situs Anda ke server. Dengan aplikasi phpMyAdmin Anda dapat membuat atau mengimpor database Anda melalui browser biasa. Tetapi untuk meletakkan file situs Anda ke server, Anda akan memerlukan klien FTP, karena tidak ada pengelola file berbasis web yang tersedia untuk kita.

Pilih klien FTP mana saja yang Anda suka, saya lebih suka Filezilla. Menggunakan akses pengguna root server yang Anda berikan tepat di awal instalasi server, sambungkan ke server Anda melalui FTP menggunakan protokol SFTP.

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.

Sekarang file situs Anda akan di-unzip.

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

Setelah ini, kita dapat menjalankan perintah: zip - r myarchive.zip myfolder mana "myfolder" adalah nama yang tepat dari folder situs.

Unduh file zip Anda dan file database Anda – sekarang kita siap untuk memperbarui OS. Anda akan membutuhkan sekitar dua puluh menit. Jika situs Anda aktif dan ada pengunjung yang melakukan pembaruan OS dalam waktu lalu lintas rendah.

Untuk memperbarui OS ketik berikut:

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

  • Menghentikan server apache dengan: sudo systemctl stop apache2.service
  • Kemudian ketik./letsencrypt-auto certonly
  • 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:

Ubah php7.0-fpm versi Anda.

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.

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.