Cara Menginstal dan Mengamankan Apache di Ubuntu 20.04

Cara Menginstal dan Mengamankan Apache di Ubuntu 20.04

Tutorial ini akan membantu Anda menginstal Apache Web Server di Ubuntu 20.Sistem Operasi 04 LTS (FOSSA FOSSA). Anda juga akan belajar cara mengamankan domain Anda menggunakan Let's Encrypt SSL Certificate. Tutorial ini juga akan bekerja di Ubuntu 18.04, Ubuntu 16.04 dan ubuntu 19.10 Sistem Linux.

Sebelum kita mulai

Sebelum memulai pekerjaan Anda:

  • Menjalankan Ubuntu 20.04 Sistem dengan Sudo Privileges Access Shell.
  • Lengkapi Instruksi Pengaturan Server Awal
  • Nama domain terdaftar dan menunjuk ke alamat IP publik server Anda. Untuk tutorial ini, kami menggunakan webhost.tecadmin.net, yang diarahkan ke server kami.

Langkah 1 - Menginstal Apache

Paket Apache tersedia di bawah repositori perangkat lunak default di ubunts. Anda dapat dengan mudah menginstalnya menggunakan alat manajemen paket konvensional.

Pertama -tama, perbarui indeks paket lokal untuk mencerminkan perubahan hulu terbaru. Kemudian instal Apache2 Web Server.

sudo apt update sudo apt install apache2 

Setelah konfirmasi, APT akan menginstal Apache dan dependensi lain yang diperlukan pada sistem Anda.

Langkah 2 - Uji server web Anda

Setelah instalasi selesai, layanan Apache akan secara otomatis dimulai pada sistem Ubuntu Anda. Anda dapat menemukan status layanan Apache dengan menjalankan perintah berikut:

Sudo Systemctl Status Apache2 

Output sampel:

● Apache2.Layanan - Server HTTP Apache dimuat: dimuat (/lib/systemd/system/apache2.melayani; diaktifkan; Preset Vendor: Diaktifkan) Aktif: Aktif (Berlari) Sejak Sun 2020-04-26 05:28:08 UTC; 10 menit lalu dokumen: https: // httpd.Apache.org/docs/2.4/ PID Utama: 15464 (Apache2) Tugas: 55 (Batas: 2283) Memori: 6.9m cgroup: /sistem.Slice/Apache2.Layanan ├─15464/usr/sbin/apache2 -k mulai ├─18646/usr/sbin/apache2 -k mulai └─18647/usr/sbin/apache2 -k mulai Apr 26 05:28:08 tecadmin systemd [1]: Memulai Server Apache HTTP… 26 Apr 05:28:08 Tecadmin Systemd [1]: Memulai server Apache HTTP. 

Status hasil seperti “Aktif: Aktif (Berjalan)” berarti layanan Apache telah dimulai dengan sukses. Namun, cara terbaik untuk menguji server web, meminta halaman dari Apache di browser web.

Anda akan melihat halaman pendaratan Apache default. Itu berarti server web apache berjalan dengan benar di sistem Anda.

Langkah 3 - Buat host virtual

Dengan bantuan host virtual, Anda dapat meng -host lebih dari satu domain dari satu server. Host virtual merangkum konfigurasi domain ke sana. Kami akan mengatur host virtual dengan sub-domain yang disebut webhost.tecamin.net, tetapi Anda harus menggantinya dengan nama domain Anda sendiri.

Mari kita mulai dengan direktori untuk domain kita sebagai berikut:

sudo mkdir/var/www/webhost sudo chmod -r 755/var/www/webhost sudo chown -r www -data: www -data/var/www/webhost 

Selanjutnya, buat indeks sampel.Halaman html untuk di -host di subdomain ini. Edit file ini di editor teks favorit Anda seperti Vim atau Nano:

nano/var/www/webroot/index.html 

Tambahkan sampel konten HTML berikut:

Selamat datang di Tecadmin.bersih!

Kesuksesan!!!

12345678 Selamat datang di Tecadmin.bersih!

Kesuksesan!!!

Simpan file dan tutup.

Dengan server Apache yang baru diinstal, Anda akan melihat file konfigurasi host virtual default yang terletak di etc/apache2/situs-tersedia/000-default.conf. Tapi ini adalah habbit yang baik untuk membuat file konfigurasi terpisah untuk setiap host virtual. Jadi buat file host virtual baru sebagai/etc/apache2/situs-tersedia/webhost.tecadmin.bersih.conf:

sudo nano/etc/apache2/situs-tersedia/webhost.tecadmin.bersih.conf 

Tambahkan konfigurasi berikut ke file host virtual. Pastikan untuk mengubah alamat email serveradmin yang tepat, servername ke nama domain Anda. Anda juga dapat menyertakan serveralias untuk menambahkan lebih banyak domain atau subdomain. Kemudian atur rroom dokumen yang benar seperti yang dibuat di atas.

Serveradmin [email protected] Servername Webhost.tecadmin.NET #SERVERALIAS www.webhost.tecadmin.net ## uncomment untuk menggunakan DocumentRoot/var/www/webhost AllowOverride All errorLog $ APACHE_LOG_DIR/error.Log CustomLog $ APACHE_LOG_DIR/Access.log digabungkan
1234567891011 Serveradmin [email protected] Servername Webhost.tecadmin.NET #SERVERALIAS www.webhost.tecadmin.net ## uncomment untuk menggunakan DocumentRoot/var/www/webhost Alloverride semua ErrorLog $ apache_log_dir/error.Log CustomLog $ APACHE_LOG_DIR/Access.log digabungkan

Simpan file dan tutup.

Secara default Apache membaca file konfigurasi host virtual di bawah/etc/apache2/direktori yang tersedia situs. Gunakan alat A2ensite untuk mengaktifkan host virtual ini:

Sudo A2ensite Webhost.tecadmin.bersih.conf 

Perintah di atas akan membuat tautan simbolik webhost.tecadmin.bersih.File conf ke direktori yang tersedia situs.

Setelah selesai, jalankan perintah di bawah ini untuk memverifikasi file konfigurasi:

sudo apache2ctl configTest 

Anda akan melihat output berikut:

Sintaks OK 

Selanjutnya, restart layanan Apache untuk menerapkan perubahan Anda:

Sudo Systemctl Restart Apache2 

Apache siap melayani konten Anda di nama domain yang Anda konfigurasi. Anda dapat menguji ini dengan menavigasi ke http: // webhost.tecadmin.bersih,

Langkah 4 - Konfigurasikan Let's Encrypt SSL

Kami menggunakan Let's Encrypt SSL Certificate untuk Mengamankan Situs Web Di Server Web Apache. Certbot adalah utilitas baris perintah untuk bekerja dengan Sertifikat Enkripsi Let's. Jalankan perintah berikut untuk menginstal Biner Certbot:

sudo apt instal python3-certbot-apache 

Ini akan menginstal semua paket yang diperlukan untuk certbot.

Setelah proses instalasi selesai. Jalankan perintah di bawah ini untuk meminta Otoritas Sertifikat Let's Encrypt untuk mengeluarkan sertifikat untuk domain webhost kami.tecadmin.bersih. Anda dapat menambahkan beberapa domain atau subdomain menggunakan parameter “-d” terpisah.

Certbot -D Webhost.tecadmin.bersih 

Wizard akan meminta alamat email Anda untuk mengirim pembaruan Anda. Kemudian terima ketentuan layanan untuk melanjutkan. Di bawah ini adalah log lengkap perintah:

Menyimpan log debug ke/var/log/letsencrypt/letsencrypt.Plugin Log yang Dipilih: Authenticator Apache, Installer Apache Masukkan Alamat Email (Digunakan Untuk Pembaruan dan Pemberitahuan Keamanan yang Mendesak) (Masukkan 'C' untuk membatalkan): [Email dilindungi] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Harap baca Ketentuan Layanan di https: // letsencrypt.org/dokumen/le-sa-v1.2-November-15-2017.pdf. Anda harus setuju untuk mendaftar dengan server ACME di https: // acme-v02.API.Letsencrypt.org/direktori - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A) GREE/(C ) ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Apakah Anda bersedia membagikan alamat email Anda dengan Electronic Frontier Foundation, mitra pendiri Proyek Let's Encrypt dan organisasi nirlaba yang mengembangkan Certbot? Kami ingin mengirimi Anda email tentang pekerjaan kami yang mengenkripsi web, berita EFF, kampanye, dan cara untuk mendukung kebebasan digital. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Ya Tidak: Y Mendapatkan Sertifikat Baru Melakukan Tantangan berikut: HTTP-01 Challenge untuk WebHost.tecadmin.Modul Penulisan Ulang Apache yang Diaktifkan Net Menunggu Verifikasi… Membersihkan Tantangan Membuat SSL Vhost at/etc/apache2/situs-tersedia/webhost.tecadmin.net-le-ssl.Conf diaktifkan Apache Socache_shmcb Modul yang Diaktifkan Modul SSL Apache Menerus sertifikat ke virtualhost/etc/apache2/situs-tersedia/webhost.tecadmin.net-le-ssl.Conf memungkinkan situs yang tersedia:/etc/apache2/situs-tersedia/webhost.tecadmin.net-le-ssl.conf. Pilih apakah akan mengarahkan kembali lalu lintas http ke https, menghapus akses http. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No Redirect - tidak membuat perubahan lebih lanjut pada konfigurasi server web. 2: Redirect - buat semua permintaan mengalihkan untuk mengamankan akses https. Pilih ini untuk situs baru, atau jika Anda yakin situs Anda berfungsi di https. Anda dapat membatalkan perubahan ini dengan mengedit konfigurasi server web Anda. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pilih nomor yang sesuai [1-2] lalu [enter] (tekan 'C' untuk membatalkan): 2 Modul Penulisan Ulang Apache yang Diaktifkan Mengarahkan Vhost di/etc/apache2/Situs-Enabled/Webhost.tecadmin.bersih.conf ke ssl vhost in/etc/ap ache2/situs-tersedia/webhost.tecadmin.net-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ucapan selamat! Anda telah berhasil mengaktifkan https: // webhost.tecadmin.Net Anda harus menguji konfigurasi Anda di: https: // www.ssllabs.com/ssltest/analisis.html?d = webhost.tecadmin.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Catatan Penting: - Selamat! Sertifikat dan rantai Anda telah disimpan di:/etc/letsencrypt/live/webhost.tecadmin.net/fullchain.PEM File kunci Anda telah disimpan di:/etc/letsencrypt/live/webhost.tecadmin.net/privkey.PEM Sertifikat Anda akan kedaluwarsa pada 2020-07-25. Untuk mendapatkan versi baru atau tweak dari sertifikat ini di masa mendatang, cukup jalankan Certbot lagi dengan opsi "cermat". Untuk memperbarui secara non -interaktif * semua * sertifikat Anda, jalankan "Certbot Renew" - kredensial akun Anda telah disimpan di direktori konfigurasi Certbot Anda di /etc /letsencrypt. Anda harus membuat cadangan yang aman dari folder ini sekarang. Direktori konfigurasi ini juga akan berisi sertifikat dan kunci pribadi yang diperoleh oleh certbot sehingga membuat cadangan reguler dari folder ini sangat ideal. - Jika Anda menyukai Certbot, harap pertimbangkan untuk mendukung pekerjaan kami dengan: menyumbang ke ISRG/Let's Encrypt: https: // letsencrypt.org/donasi menyumbang ke eff: https: // eff.org/donasi-le 

Anda telah berhasil mengonfigurasi domain Anda dengan sertifikat SSL. Sekarang, Anda dapat mengakses domain Anda melalui protokol HTTPS seperti yang ditunjukkan pada tangkapan layar di bawah ini:

Langkah 5 - Sesuaikan aturan firewall

Anda dapat menggunakan nama layanan seperti "http" atau "https" untuk mengizinkan di firewalld. Untuk membuka port http dan https di firewalld jalankan perintah di bawah ini:

sudo firewall-cmd --permanent --add-service = http sudo firewall-cmd --permanent --add-service = https 

Setelah Anda menambahkan aturan, muat ulang perubahan menggunakan perintah berikut.

sudo firewall-cmd --eload 

Langkah 6 - Kelola Layanan Apache

Sekarang, Anda memiliki server web apache dan berjalan, mari kita pergi dengan perintah manajemen layanan apache.

Untuk menghentikan server web Apache, ketik:

Sudo Systemctl Stop Apache2 

Untuk memulai Apache Web Server (jika dihentikan), ketik:

Sudo Systemctl Mulai Apache2 

Untuk memulai kembali (berhenti dan mulai) Layanan Apache, ketik:

Sudo Systemctl Restart Apache2 

Alih -alih berhenti lalu mulai server yang sedang berjalan, gunakan opsi Reload untuk menerapkan perubahan file konfigurasi tanpa menjatuhkan koneksi saat ini. Tapi ini tidak akan membaca file konfigurasi baru:

Sudo Systemctl Reload Apache2 

Untuk menonaktifkan Layanan Apache ke Otomatis Mulai pada Boot Sistem, ketik:

Sudo Systemctl Nonaktifkan Apache2 

Untuk mengaktifkan Layanan Apache ke Auto Start on System Boot, ketik:

Sudo Systemctl Aktifkan Apache2 

Kesimpulan

Server Web Apache sedang berjalan di Ubuntu 20 Anda.04 Sistem Operasi LTS.