Cara Menghosting Situs Web (Panduan untuk Mengatur Server Anda Sendiri)

Cara membuat server


Untuk meng-host situs web di server, Anda harus membuat tangan Anda kotor dan mengatur seluruh lingkungan sendirian. Di bawah, Anda akan menemukan contoh umum tentang cara menyelesaikan sesuatu menggunakan server pribadi virtual yang sedang berjalan Ubuntu 18.04

Singkatnya, Anda harus:

    • Lakukan pengaturan server awal
    • Siapkan zona DNS dan arahkan domain Anda
    • Instal tumpukan perangkat lunak
    • Buat host virtual
    • Bangun situs web Anda dan jalankan

P.S. Jika Anda tidak ingin melalui langkah-langkah rumit ini, pertimbangkan untuk mendapatkan hosting web.

1. Langkah-Langkah Pengaturan Server Pertama

Jika Anda memutuskan untuk menyewa server khusus atau VPS, Anda harus meletakkan dasar yang kuat terlebih dahulu. Ini melibatkan mengakses server Anda melalui terminal atau klien SSH dan membuat tweak keamanan dan pembaruan.

Hubungkan ke Server Anda

Mulailah dengan menghubungkan ke server Anda. Perintah berikut akan melakukan trik:

ssh [email protected] _server_IP -port

Saat menghubungkan untuk pertama kalinya, Anda mungkin diminta untuk menambahkan IP server Anda ke daftar host yang dikenal. Ketikkan Iya untuk melanjutkan dan Anda akan diminta untuk memasukkan kata sandi root.

menambahkan IP server ke host yang dikenal

Ini adalah contoh dari apa yang harus Anda lihat di layar Anda jika semuanya berjalan dengan baik.

layar login SSH Ubuntu awal

Dapatkan Pembaruan Terbaru

Jalankan perintah berikut untuk mendapatkan pembaruan terbaru untuk server Ubuntu 18.04 Anda:

sudo apt pembaruan
sudo apt upgrade

Saat menjalankan perintah kedua, Anda akan melihat layar konfirmasi. Ketikkan Y untuk melanjutkan.

mengonfirmasi pembaruan server Ubuntu

Buat Pengguna Baru

Selanjutnya, Anda perlu menambahkan pengguna baru, karena tidak disarankan menggunakan root untuk tugas sehari-hari. Sebut saja webmaster. Untuk memulai pembuatan pengguna, jalankan:

adduser webmaster

membuat pengguna baru Ubuntu

Setelah membuat kata sandi, Anda akan diminta untuk memasukkan detail umum (yang dapat Anda biarkan kosong). Kemudian, ketikkan Y untuk mengonfirmasi pembuatan pengguna baru.

Secara default, pengguna baru tidak akan memiliki cukup hak untuk melakukan semua yang Anda butuhkan, maka Anda harus menambahkannya secara manual. Inilah cara Anda melakukannya:

usermod -aG sudo webmaster

Itu dia! Pengguna administratif baru Anda siap. Untuk mulai menggunakannya alih-alih root, jalankan:

su – webmaster

mengubah pengguna sistem

Mengatur Otentikasi Kunci Publik (Opsional)

Menggunakan kata sandi untuk mengautentikasi membuat Anda rentan terhadap upaya kekerasan dan menempatkan server Anda dalam risiko sedang (terutama jika Anda malas membuat kata sandi yang unik dan kuat).

Cara terbaik untuk meningkatkan integritas server adalah dengan menggunakan kunci SSH alih-alih kata sandi biasa. Langkah-langkahnya harus sama terlepas dari distribusi Linux mana yang Anda jalankan. Memulai keluar dari server Anda dan jalankan perintah berikut di komputer Anda komputer lokal untuk membuat kunci publik baru:

ssh-keygen

Anda akan diminta memasukkan frasa sandi tambahan dan lokasi tempat menyimpan kunci publik. Secara default, ini menyimpan segalanya untuk / Pengguna / Pengguna_User/.ssh direktori (yang dapat Anda simpan kecuali Anda memiliki rencana lain dalam pikiran).

menjalankan SSH keygen

Segera setelah selesai, salin kunci SSH ke server Anda dengan menggunakan:

ssh-copy-id [email protected] _server_IP

Anda juga dapat melakukan hal yang sama untuk pengguna root jika-kalau:

ssh-copy-id [email protected] _server_IP

memindahkan kunci SSH ke server jauh

Terakhir, Anda harus masuk lagi ke server. Hanya kali ini, Anda akan menggunakan kunci SSH dan frasa sandi untuk mengautentikasi. Jika kata sandi Anda ditebak oleh seseorang, mereka tidak akan bisa masuk, karena kunci publik diperlukan untuk membuat koneksi yang berhasil.

masuk ke server dengan kunci SSH

Nonaktifkan Otentikasi Kata Sandi (Opsional)

Karena Anda sekarang dapat mengakses server Anda dengan kunci SSH yang baru dibuat, disarankan untuk menonaktifkan otentikasi kata sandi biasa. Untuk melakukannya, kita dapat menggunakan nano editor teks:

sudo nano / etc / ssh / sshd_config

Cari baris yang mengatakan #PasswordAuthentication ya, hapus # dan ubah Iya ke a tidak. Hasil akhir akan terlihat seperti:

menonaktifkan otentikasi kata sandi di sshd config

Untuk menyimpan perubahan ini dan keluar dari editor nano, tekan CTRL + X, ketik Y dan tekan Memasukkan. Dan akhirnya, terapkan semuanya dengan memuat ulang layanan sshd:

sudo systemctl memuat ulang sshd

Dan itu dia! Sekarang Anda akan menggunakan kunci publik untuk mengotentikasi alih-alih kata sandi, yang dianggap sebagai cara yang lebih aman untuk mengakses dan mengelola server.

Mengatur Firewall

Terakhir, namun tidak kalah pentingnya, disarankan untuk menggunakan firewall untuk melindungi diri Anda dari bahaya yang bersembunyi di web. Uncomplicated Firewall adalah salah satu alat terbaik untuk pekerjaan itu. Untuk mengaturnya, jalankan:

sudo apt-get install ufw

Saat diinstal, firewall tidak akan berfungsi kecuali dinyalakan secara manual. Anda dapat mengaktifkannya dengan menggunakan:

sudo ufw aktifkan

mengaktifkan ufw Ubuntu

Untuk memeriksa apakah sudah aktif dan berjalan, jalankan:

sudo ufw status verbose

2. Mengatur Zona DNS

Tantangan berikutnya adalah membuat zona DNS, yang bertindak sebagai bahan pengikat antara nama domain dan server. Kita dapat memecahnya menjadi dua langkah kecil:

  1. Menyiapkan zona DNS dalam server Anda
  2. Membuat server nama khusus di pendaftar domain Anda

Buat Zona DNS Baru

Untuk membuat zona DNS baru, kami akan menggunakan alat yang disebut bind9. Pada akhirnya, ini adalah layanan yang memungkinkan kami memuat situs web melalui nama domain, bukan alamat IP.

Untuk menginstal Bind9 di server Ubuntu 18.04 Anda, jalankan:

sudo apt-get install bind9

Setelah diinstal, semua file akan tersedia di / etc / bind direktori. Mari kita navigasi dulu:

cd / etc / bind

Agar semuanya rapi dan terorganisir, kami akan membuat direktori terpisah untuk zona DNS kami:

sudo mkdir -p zona

Mari kita buat file zona DNS baru untuk domain kami. Kami akan menggunakan domain-example.com untuk tujuan demonstrasi (Anda harus menggantinya dengan nama domain Anda yang sebenarnya).

zona nano sudo / domain-example.com

Contoh cuplikan zona DNS:

;
; BIND file data untuk domain-example.com
;
$ TTL 3j
@ DALAM SOA ns1.domain-example.com. admin.domain-example.com. (
1; Serial
3 jam; Segarkan kembali setelah 3 jam
1 jam; Coba lagi setelah 1 jam
1w; Berakhir setelah 1 minggu
1 jam); TTL caching negatif 1 hari
;
@ IN NS ns1.domain-example.com.
@ IN NS ns2.domain-example.com.

domain-example.com. DALAM YOUR_SERVER_IP
ns1 DALAM A YOUR_SERVER_IP
ns2 DALAM A YOUR_SERVER_IP
www DALAM CNAME domain-example.com.
kirim IN A YOUR_SERVER_IP
ftp DALAM domain CNAME-example.com.
domain-example.com. DALAM MX 10 domain-example.com.

Pastikan untuk mengganti semua instance dari Anda Your_Server_IP dan domain-example.com dengan nilai aktual. Simpan file zona dengan menekan CTRL + X lalu mengetik Y untuk mengkonfirmasi perubahan.

Selanjutnya, kita perlu mengedit konfigurasi lokal dan menentukan lokasi zona DNS kami yang baru dibuat. Ini memastikan bahwa server tahu file zona mana milik nama domain mana.

sudo nano named.conf.local

Tempelkan baris berikut di bagian bawah file saat mengganti domain-example.com dengan alamat situs web Anda yang sebenarnya.

daerah "domain-example.com" {
tipe master;
mengajukan "/etc/bind/zones/domain-example.com";
};

tekan CTRL + X dan input Y untuk menyimpan perubahan Anda dan keluar dari editor nano.

Anda juga dapat menguji apakah semuanya ditambahkan dan dikonfigurasi dengan benar dengan menjalankan perintah berikut:

sudo bernama-checkzone domain-example.com /etc/bind/zones/domain-example.com

memverifikasi zona dns

Terakhir, jalankan dua perintah ini untuk memulai kembali layanan DNS server Anda dan memastikannya berjalan:

sudo /etc/init.d/bind9 restart
sudo /etc/init.d/bind9 mulai

Pada titik ini, zona DNS siap dari sisi server Anda. Untuk menyelesaikannya, Anda harus membuat entri server nama khusus dalam pendaftar domain Anda.

Buat Server Nama Kustom untuk Domain Anda

Karena kami menetapkan dua server nama (ns1.domain-example.com dan ns2.domain-example.com) dalam contoh zona DNS kami, kami harus membuat entri ini di pendaftar domain dan menggunakannya.

Begini tampilannya seperti:

Server Nama Kustom Poin ke
ns1.domain-example.com Your_Server_IP
ns2.domain-example.com Your_Server_IP

pembuatan server nama anak

Setelah dibuat, Anda harus mengarahkan domain Anda ke server nama baru ini.

perbarui nameserver

3. Pasang LAMP Stack

LAMP adalah salah satu tumpukan perangkat lunak web yang paling banyak digunakan. Singkatan dari Linux, Apache HTTP Server, MySQL / MariaDB, dan PHP. Sebelum meng-hosting situs, Anda harus memastikan semua bahan ini tersedia di server Anda. Begini cara proses pengaturannya terlihat menggunakan Ubuntu 18.04:

Apache

Apache HTTP Server mungkin sudah termasuk dalam paket default yang datang dengan server Anda. Jika tidak, jalankan:

sudo apt-get install apache2

instal Apache

Karena ada firewall, kami perlu memastikan port ini terbuka karena Apache tidak akan berfungsi sebagaimana mestinya. Inilah yang harus Anda izinkan melalui firewall:

sudo ufw memungkinkan 80 / tcp
sudo ufw izinkan 443 / tcp

Kemudian, restart untuk memastikan perubahan diterapkan:

sudo ufw memuat ulang

Pada titik ini, inilah yang harus Anda lihat dengan mengunjungi Alamat IP server Anda melalui browser:

halaman Apache2 default

PHP

Untuk mendapatkan versi PHP terbaru dengan beberapa modul tambahan yang dibutuhkan WordPress, jalankan:

sudo apt-get install php-php umum-mysql php-gd php-cli

konfirmasi pemasangan PHP

Anda dapat memeriksa versi PHP mana yang diinstal pada server Anda dengan mengetik:

php -v

periksa versi PHP

MySQL / MariaDB

MariaDB dan MySQL adalah dua pilihan teratas untuk server basis data Anda di Linux. Untuk contoh ini, kami akan menggunakan MariaDB. Untuk menginstalnya di server Anda, jalankan:

sudo apt-get install mariadb-server mariadb-client

instal Mariadb

Setelah selesai, Anda harus menggunakan skrip tambahan yang disertakan dengan paket. Ini akan menetapkan langkah-langkah keamanan dasar untuk server database Anda. Mulai dengan mengetik:

sudo mysql_secure_installation

Pada langkah pertama, Anda akan diminta untuk memberikan kata sandi root MySQL. tekan Memasukkan untuk melanjutkan karena belum dibuat. Kemudian ikuti petunjuk lainnya yang muncul di antarmuka baris perintah.

Instalasi aman Mariadb

Akhirnya, Anda dapat memeriksa apakah server database saya operasional dengan menjalankan:

sudo systemctl status mysql

4 Buat Tuan Rumah Virtual

Tugas selanjutnya adalah membuat direktori khusus untuk file situs web Anda. Mulailah dengan mengubah direktori kerja Anda:

cd / var / www / HTML

Gunakan perintah ini untuk membuat folder untuk domain Anda dan yang lainnya di dalam:

sudo mkdir -p domain-example.com/public_html

Lalu, buatlah webmaster pengguna yang kami buat sebelumnya pemilik dengan menggunakan:

sudo chown -R webmaster: domain webmaster-example.com/public_html

Anda juga harus memastikan bahwa izin baca diterapkan ke direktori root Apache. Pada kasus ini:

sudo chmod -R 755 / var / www / html /

Pada titik ini, Apache mendapatkan semua pengaturan dari 000-default.conf mengajukan. Kami perlu menyalin konten file ini dan membuat yang terpisah untuk nama domain kami. Cara termudah untuk menyalin template dari konfigurasi virtual host adalah dengan menggunakan perintah berikut:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain-example.com.conf

Pada dasarnya, ini membuat salinan file dengan nama yang berbeda di direktori yang sama. Ini adalah file yang memberi tahu server web Apache Anda lokasi direktori root domain, log kesalahan, dan jalur penting lainnya. Untuk mengubah kontennya, kami akan menggunakan nano:

sudo nano /etc/apache2/sites-available/domain-example.com.conf

Contoh konfigurasi Apache:

# Direktif ServerName mengatur skema permintaan, nama host, dan port itu
# digunakan server untuk mengidentifikasi dirinya sendiri. Ini digunakan saat membuat
# URL pengalihan. Dalam konteks host virtual, ServerName
# menentukan nama host yang harus muncul di header Host: request to
# cocok dengan tuan rumah virtual ini. Untuk virtual host default (file ini) ini
# nilai tidak menentukan karena digunakan sebagai host pilihan terakhir.
# Namun, Anda harus mengaturnya untuk host virtual lebih lanjut secara eksplisit.

ServerAdmin [dilindungi email]
DocumentRoot /var/www/html/domain-example.com/public_html
ServerName domain-example.com
ServerAlias ​​www.domain-example.com

# Loglevel yang tersedia: trace8, …, trace1, debug, info, pemberitahuan, beri peringatan,
# kesalahan, krit, peringatan, muncul.
# Mungkin juga untuk mengkonfigurasi loglevel secara khusus
# modul, mis.
#LogLevel info ssl: warn

ErrorLog $ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.log digabungkan

# Untuk sebagian besar file konfigurasi dari conf-available /, yang
# diaktifkan atau dinonaktifkan di tingkat global, dimungkinkan untuk
# sertakan baris untuk hanya satu host virtual tertentu. Misalnya
# Baris berikut memungkinkan konfigurasi CGI untuk host ini saja
# setelah dinonaktifkan secara global dengan "a2disconf".
#Masukkan conf-available / serve-cgi-bin.conf

Pastikan untuk mengganti semua instance domain-example.com dengan nama domain Anda yang sebenarnya. Untuk menyimpan file, tekan CTRL + X dan konfirmasi dengan mengetik Y. Hasil akhir akan terlihat seperti:

menambahkan konfigurasi domain ke Apache

Pada titik ini, Anda harus mematikan file konfigurasi host virtual default dan menggunakan yang baru dibuat. Perintah ini akan menonaktifkannya:

sudo a2dissite 000-default.conf

Kemudian, tambahkan file konfigurasi yang baru dibuat seperti yang ditunjukkan di bawah ini:

sudo a2ensite domain-example.com.conf

Terakhir, Anda harus memulai ulang Apache untuk menerapkan perubahan. Anda dapat melakukannya dengan menjalankan:

sudo systemctl memuat ulang apache2

Anda berhasil menginstal LAMP di server Anda. Karena domain Anda sudah diarahkan ke server, Anda mungkin perlu menunggu beberapa jam agar DNS menyebar sepenuhnya. Maka Anda akan melihat layar yang sama saat mengunjungi domain Anda melalui browser.

konten direktori root domain

5. Mengatur WordPress (atau Unggah Situs Web)

Karena pengaturan server awal akhirnya selesai, sekarang saatnya untuk meng-host situs web di atasnya. Di bagian ini, kami akan menunjukkan kepada Anda contoh umum tentang cara membuat dan menjalankan situs WordPress.

Buat Database dan Pengguna MySQL Baru

Mulailah dengan mengakses antarmuka MySQL melalui terminal:

sudo mysql

>Gunakan sintaks berikut untuk membuat database baru:

BUAT DATABASE wpdatabase;

Kemudian, buat pengguna baru dan tentukan kata sandi:

CREATE USER ‘wpuser’ @ ‘localhost’ DIIDENTIFIKASI OLEH ‘SuperSecurePassword123’;

Selanjutnya, tetapkan hak administratif untuk pengguna Anda yang baru dibuat dengan:

GRANT ALL PRIVILEGES ON wpdatabase. * UNTUK ‘wpuser’ @ ‘localhost’;

Itu dia! Pengguna dan basis data MySQL Anda siap beraksi. Untuk mematikan antarmuka, ketik:

keluar

Pindahkan File WordPress ke Server Anda

Terakhir, namun tidak kalah pentingnya, kami harus mendapatkan file situs web yang sebenarnya diunggah ke direktori root domain Anda. Ada dua pendekatan yang akan kami uraikan langkah demi langkah:

  • Menggunakan perintah wget untuk mendapatkan versi WordPress terbaru
  • Mengkonfigurasi klien FTP (seperti FileZilla)

Metode 1: Menggunakan Alat Baris Perintah

Cara pertama adalah menggunakan perintah yang disebut wget. Untuk menggunakannya di server Anda, Anda harus menginstalnya:

sudo apt-get install wget

Lalu, ubah direktori kerja Anda ke folder root dari nama domain Anda:

cd /var/www/html/domain-example.com/public_html

Gunakan perintah wget untuk mengunduh versi terbaru WordPress dari web:

wget https://www.wordpress.org/latest.zip

Kemudian, ekstrak semua isi arsip dengan menggunakan:

unzip latest.zip

Secara default, semua file akan muncul di direktori baru bernama WordPress (yang dapat mengakibatkan situs web Anda berfungsi melalui domain-example.com/wordpress). Agar semuanya berfungsi dengan benar, kita harus memindahkan semua file dari direktori itu ke yang di atas. Inilah cara melakukannya:

cd wordpress

Perintah berikut akan memindahkan semua file dari direktori saat ini ke lokasi yang Anda tentukan:

sudo mv * /var/www/html/domain-example.com/public_html/

Sebelum memulai instalasi, Anda harus menyiapkan file wp-config.php Anda. Karena hanya sampel yang disediakan. Mulailah dengan mengganti nama:

sudo mv wp-config-sample.php wp-config.php

Kemudian, edit file menggunakan nano dan tambahkan detail konfigurasi database MySQL.

sudo nano wp-config.php

Pastikan untuk memperbarui MySQL Pengguna, Basis data, dan Tuan rumah bagian dengan nilai yang Anda buat sebelumnya.

mengedit konfigurasi WP

Terakhir, kunjungi nama domain Anda di browser dan Anda akan melihat layar pengaturan WordPress awal.

pengaturan awal WordPress

Setelah selesai, Anda dapat menginstal plugin migrasi seperti All-in-One WP Migration untuk mengimpor situs web WordPress yang ada.

Metode 2: Menggunakan Klien FTP

Atau, Anda dapat menggunakan klien FTP seperti FileZilla. Jika Anda mengonfigurasi kunci SSH dan otentikasi kata sandi yang dinonaktifkan, Anda harus menggunakannya untuk masuk daripada kombinasi nama pengguna dan kata sandi biasa. Untuk mengkonfigurasi koneksi SFTP:

  1. Pergi ke Manajer Situs FileZilla dan tambahkan Situs Baru.
  2. Setel protokol ke SFTP – SSH File Transfer Protocol.
  3. Masukkan IP server Anda di Tuan rumah bidang dan atur port ke 22.
  4. Setel jenis login ke File kunci.
  5. Tentukan jalur ke kunci SSH Anda (mis. / Pengguna / Nama / .sh / id_rsa).
  6. FileZilla akan mengubahnya menjadi .ppk file, yang kemudian dapat Anda gunakan untuk membuat koneksi.

mengonversi kunci SSH

Konfigurasi akhir akan terlihat seperti ini:

Konfigurasi sftp FileZilla

Sekarang, Anda akan dapat mengakses server Anda melalui FTP dan mengunggah file apa pun langsung dari komputer Anda.

Koneksi sftp FileZilla

Selamat! Anda telah belajar cara meng-host situs web di server pribadi virtual yang menjalankan Ubuntu 18.04. Semuanya, mulai dari pengaturan server awal hingga menyiapkan tumpukan perangkat lunak telah dibahas. Yang tersisa adalah mengambil server dan membuat tangan Anda kotor!

Artikel ini diterbitkan dengan bantuan Hostinger.com.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me

About the author

Adblock
detector