GNU/Linux >> Belajar Linux >  >> Ubuntu

Konfigurasi dan host aplikasi di server web Apache di Linux

Dalam artikel kami sebelumnya, “Cara menginstal server web Apache di Linux”, kami menjelaskan cara menginstal Apache di mesin Linux. Sekarang di artikel ini, kita akan menindaklanjuti dengan konfigurasi dasar Apache yang akan menyertakan

  • Izinkan Lalu Lintas Apache melalui Firewall
  • Mengelola Layanan Apache
  • Menyiapkan Host Virtual di Apache
  • Konfigurasikan Apache untuk mendengarkan di port lain
  • Izinkan/Tolak akses dari alamat IP tertentu

Prasyarat

  • Sistem Ubuntu 20.04
  • Pengguna dengan hak istimewa sudo
  • Server web Apache terpasang

Catatan: Perintah yang dibahas dalam artikel ini telah diuji di Ubuntu 20.04 LTS (Fossa Fokus). Perintah yang sama juga berlaku untuk distribusi Debian.

Mengizinkan Lalu Lintas Apache melalui Firewall

Jika firewall diaktifkan di OS Anda, Anda harus mengizinkan lalu lintas Apache melewatinya. Server Apache secara default mendengarkan pada port 80 untuk HTTP dan 443 untuk https. Untuk mengizinkan lalu lintas HTTP (port 80) melalui firewall, jalankan perintah berikut di Terminal:

$ sudo ufw izinkan 'Apache'

Untuk mengizinkan lalu lintas HTTPS (port 443) melalui firewall, jalankan perintah berikut di Terminal:

$ sudo ufw izinkan 'Apache Secure'

Untuk mengizinkan lalu lintas HTTP (port 80) dan HTTPS (port 443) melalui firewall, jalankan perintah berikut di Terminal:

$ sudo ufw allow 'Apache Full'

Mengelola Layanan Apache

Setelah instalasi, layanan Apache secara otomatis mulai berjalan di latar belakang. Untuk melihat status layanan Apache, jalankan perintah di bawah ini di Terminal:

$ systemctl status apache2

Pada output berikut, aktif (berjalan) status menunjukkan bahwa layanan Apache aktif dan berjalan tanpa masalah.

Untuk memulai layanan Apache secara manual, gunakan perintah di bawah ini:

$ sudo systemctl start Apache2

Untuk mengaktifkan layanan Apache untuk memulai secara otomatis saat startup/boot, gunakan perintah di bawah ini:

$ sudo systemctl aktifkan apache2

Untuk me-restart layanan Apache, gunakan perintah di bawah ini:

$ sudo systemctl restart Apache2

Untuk menghentikan layanan Apache, gunakan perintah di bawah ini:

$ sudo systemctl stop Apache2

Menyiapkan Host Virtual di Apache

Host virtual di Apache memungkinkan Anda menjalankan sejumlah situs web dari satu Server Web Apache. Di bagian berikut, kami akan mengonfigurasi satu host virtual untuk domain kami "test.org". Untuk beberapa domain, ikuti langkah yang sama untuk setiap domain.

Langkah 1:Buat direktori untuk domain Anda

Langkah pertama adalah membuat direktori untuk domain Anda. Jika Anda perlu menghosting beberapa domain, buat direktori terpisah untuk setiap domain. Untuk domain kami test.org , kita akan membuat direktori dengan perintah berikut:

$ sudo mkdir /var/www/test.org

Pastikan untuk mengganti test.org dengan nama domain Anda.

Langkah 2:Tetapkan kepemilikan dan izin

Direktori untuk domain kami saat ini dimiliki oleh pengguna root. Untuk mengizinkan pengguna lain memodifikasi file, kita perlu mengubah kepemilikan direktori. Gunakan perintah berikut di Terminal melakukannya:

$ sudo chown -R $USER:$USER /var/www/ test.org

Juga, atur izin yang diperlukan pada direktori domain. 755 pada perintah di bawah ini memberikan izin baca dan eksekusi kepada semua orang sementara izin baca, tulis, dan eksekusi kepada pemilik file.

$ sudo chmod -R 755 /var/www/ test.org

Langkah 3:Buat contoh halaman index.html untuk domain Anda

Sekarang buat contoh index.html halaman untuk domain Anda untuk menyajikan beberapa konten. Buat file index.html di /var/www/test.org direktori.

Kami menggunakan editor Nano untuk tujuan ini:

$ sudo nano /var/www/test.org/index.html

Tambahkan konten berikut ke dalam file.

Blok server test.org Anda sudah habis!

Ini adalah halaman pengujian untuk situs web test.org!

Setelah Anda selesai mengedit, simpan dan tutup index.html berkas.

Sekarang contoh index.html halaman telah dibuat untuk situs kami.

Langkah 4:Buat file host virtual baru

Di Apache, ada file host virtual default yang berisi konfigurasi untuk server web default. Untuk domain kami test.org , kami akan membuat file host virtual terpisah.

Keluarkan perintah berikut di Terminal untuk membuat file host virtual untuk domain Anda:

$ sudo nano /etc/apache2/sites-available/test.org.conf

Tambahkan konten di bawah ini ke dalam file.

ServerAdmin [email protected]ServerName test.orgServerAlias ​​www.test.orgDocumentRoot /var/www/test.org/htmlErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log digabungkan 

Pastikan untuk mengganti test.org dengan nama domain Anda sendiri.

Setelah selesai mengedit, simpan dan tutup file.

Langkah 5:Aktifkan file host virtual

Sekarang kita akan mengaktifkan file virtual host yang telah kita buat pada langkah sebelumnya. Keluarkan perintah di bawah ini di Terminal untuk melakukannya:

$ sudo a2ensite test.org.conf

Kami tidak menggunakan file host virtual default, jadi kami dapat menonaktifkannya. Gunakan perintah berikut untuk menonaktifkannya:

$ sudo a2dissite 000-default.conf

Sekarang muat ulang konfigurasi Apache menggunakan perintah berikut:

$ systemctl reload Apache2

Langkah 6:Konfigurasikan file host (Opsional)

Jika Anda tidak memiliki nama domain yang sebenarnya dan hanya ingin menguji prosedur menggunakan domain uji apa pun, Anda perlu menambahkan entri untuk domain Anda di /etc/hosts berkas.

Edit /etc/hosts file menggunakan perintah berikut di Terminal:

$ sudo nano /etc/hosts

Tambahkan entri berikut dalam file ini menggantikan server_IP dan nama_domain dengan alamat IP dan nama domain lingkungan Anda.

server_IP domain_name

Dalam contoh kita, entrinya adalah:

192.168.72.157 test.org

Sekarang simpan dan tutup file /etc/hosts.

Langkah 6:Uji kesalahan

Sekarang uji konfigurasi Apache untuk menemukan kesalahan. Gunakan perintah berikut untuk melakukannya:

$ sudo apache2ctl configtest

Jika semuanya baik-baik saja, Anda akan Sintaks OK pesan di keluaran. Anda juga dapat melihat pesan peringatan berikut pada hasil pengujian.

Untuk menyembunyikan pesan ini, tambahkan ServerName direktif di /etc/apache2/apache2.conf berkas.

Edit /etc/apache2/apache2.conf file menggunakan perintah berikut di Terminal:

$ sudo nano /etc/apache2/apache2.conf

Tambahkan entri berikut dalam file menggantikan test.org dengan nama domain Anda:

ServerName test.org

Simpan dan tutup file.

Sekali lagi, uji Apache untuk kesalahan konfigurasi. Sekarang Anda akan melihat peringatan telah dihapus.

Langkah 7:Uji apakah Apache melayani nama domain Anda

Sekarang, uji penyiapan dengan menavigasi ke alamat berikut di bilah alamat browser web Anda.

http://domain_name

Dalam contoh kita, itu akan menjadi:

http://test.org

Halaman berikut menunjukkan host virtual telah berhasil dikonfigurasi dan Apache melayani nama domain kami.

Konfigurasikan Apache untuk mendengarkan pada port yang berbeda

Secara default, Apache mendengarkan lalu lintas web pada port 80. Ada beberapa kasus ketika Anda mungkin perlu mengubah port Apache seperti ketika beberapa layanan lain sudah mendengarkan pada port 80, ISP telah memblokir port 80, atau Anda ingin mencegah port 80 serangan. Namun, ingat bahwa setelah mengubah port default, Anda harus mengarahkan browser ke port baru seperti http://domain_name:port_nmuber.

1. Edit /etc/apache2/ports.conf file menggunakan perintah di bawah ini:

$ sudo nano /etc/apache2/ports.conf

Ini adalah tampilan default ports.conf file di mana Anda dapat melihat port 80 dikonfigurasi sebagai port default.

Ubah nomor port ini ke nilai lain yang Anda inginkan agar didengarkan oleh server Apache.

Simpan dan tutup file ports.conf setelah Anda selesai mengedit.

2. Sekarang, Anda perlu mengkonfigurasi host virtual Anda untuk mendengarkan pada port baru. Untuk mengedit file host virtual, gunakan perintah berikut di Terminal:

$ file sudo nano /etc/apache2/sites-avaialble/test.org.conf

Pada perintah di atas, pastikan untuk mengganti test.org.conf dengan nama file host virtual Anda.

Temukan entri dan ubah nilainya dari 80 ke nomor mana pun yang Anda inginkan agar didengarkan oleh Apache. Misalnya, untuk mengubah nomor port menjadi 9090 , entri akan diubah menjadi .

Catatan :Untuk menyetel nomor port, pilih nilai dengan rentang 1024 hingga 65535.

Setelah selesai, simpan dan tutup file.

Apache juga dapat dikonfigurasi untuk mendengarkan di beberapa port. Misalnya, untuk menyetel port 80 dan 9090 sebagai port mendengarkan, tambahkan entri berikut di /etc/apache2/ports.conf berkas:

Dengarkan 80Dengarkan 9090 

Juga di /etc/Apache2/sites-avaialble/test.org.conf file, tambahkan entri dengan cara berikut:

Setelah selesai, restart layanan Apache menggunakan perintah berikut di Terminal:

$ sudo systemctl restart Apache2

Izinkan/Tolak akses dari alamat IP tertentu

Di bagian berikut, kita akan melihat cara mengizinkan/menolak alamat IP tertentu agar tidak mengakses situs kita. Kami akan menggunakan file .htaccess untuk tujuan ini.

Langkah 1:Aktifkan apache .htaccess

Pertama, kita perlu mengaktifkan file .htaccess. Untuk melakukannya, jalankan perintah berikut di Terminal:

$ sudo nano /etc/apache2/sites-available/test.org.conf

Setelah blok VirtualHost, tambahkan baris berikut dalam file:

Indeks Opsi FollowSymLinksAllowOverride AllPersyaratkan semua diberikan

Sekarang simpan file dan restart apache menggunakan perintah berikut:

$ sudo systemctl apache2 restart

Langkah 2:Buat file .htaccess

Sekarang kita perlu membuat file .htaccess. Navigasikan ke direktori root host virtual.

$ cd /var/www/test.org

Kemudian buat file .htaccess di sini menggunakan perintah berikut:

$ sudo nano .htaccess

Langkah 3:Izinkan/Tolak alamat IP

Untuk menolak alamat IP tertentu dari mengakses situs web Anda, Anda perlu menambahkan entri dalam file .htaccess dengan cara berikut:

order tolak, izinkan# Untuk menolak alamat IP 192.168.9.8izinkan dari 192.168.9.8# Untuk menolak semua alamat IP dari 192.168.9.0 hingga 192.168.9.255izinkan dari 192.168.9Untuk izinkan Untuk tujuan ini, alamat IP dari mengakses situs web Anda, Anda perlu menambahkan entri dalam file .htaccess dengan cara berikut:
order deny, allow# Untuk menolak semua alamat IPDeny from all# Ini akan mengizinkan alamat IP 192.168.9.30allow from 192.168.9.30# Ini akan mengizinkan semua alamat IP dari 192.168.9.0 hingga 192.168.9.255
izinkan dari 192.168.9

Itu saja! Pada artikel ini, Anda telah mempelajari dasar-dasar konfigurasi Apache di Linux. Ini termasuk konfigurasi firewall, mengelola layanan Apache, menyiapkan host virtual, mengubah port mendengarkan default, dan mengizinkan/menolak IP tertentu untuk mengakses situs. Untuk informasi lebih lanjut tentang konfigurasi Apache, kunjungi dokumentasi resmi server Apache di http://httpd.Apache.org/docs/.


Ubuntu
  1. Cara mengkonfigurasi server web Apache

  2. Instal server web Apache di Linux Mint 13 / Linux Mint 14

  3. Cara Menginstal dan mengkonfigurasi server web Apache di Ubuntu 13.10

  1. Cara Instal Apache Web Server di CentOS 7

  2. Cara Menginstal dan Mengonfigurasi Nextcloud dengan Apache di Ubuntu 18.04

  3. Instal Nginx dan konfigurasikan Virtual host di Ubuntu 20.04

  1. Cara Menginstal dan Mengonfigurasi Arch Linux sebagai Server

  2. Instal dan Konfigurasikan server VSFTPD di Ubuntu 18.04 LTS

  3. Cara menginstal dan mengkonfigurasi server DHCP di Linux