Apache HTTP Server (Apache), adalah salah satu perangkat lunak server web lintas platform gratis dan sumber terbuka yang paling populer, dirilis di bawah persyaratan Lisensi Apache 2.0. Apache populer sebagai bagian dari pengaturan LAMP, menjadi A dalam Akronim. Fungsionalitas server apache dapat diperluas dengan banyak modul yang tersedia.
PHP adalah bahasa scripting tujuan umum diarahkan pengembangan web. Ini adalah salah satu bahasa pemrograman populer untuk web. Alat populer seperti WordPress dikodekan menggunakan php. Perusahaan besar seperti Facebook juga banyak menggunakan php.
Konten Terkait
- Cara menginstal dan menyiapkan PHP dan Apache (LAMP stack) di OpenSUSE Leap 15.3
- Cara Menginstal dan menyiapkan PHP dan Nginx (LEMP) di OpenSUSE Leap 15.3
- Cara menginstal dan menyiapkan PHP dan Apache (LAMP stack) di Ubuntu 20.04
- Cara Menginstal dan menyiapkan PHP dan Nginx (LEMP) di Ubuntu 20.04
- Cara menginstal dan menyiapkan PHP dan Apache (LAMP stack) di Debian 11
- Cara Menginstal dan menyiapkan PHP dan Nginx (LEMP) di Debian 11
- Cara Menginstal dan mengatur PHP dan Nginx (LEMP) di Rocky Linux/Alma Linux 8
Prasyarat
Untuk mengikuti panduan ini, pastikan Anda memiliki yang berikut:
- Server Rocky Linux 8 yang Diperbarui
- Akses root atau Pengguna dengan akses sudo yang dapat menginstal paket dan mengedit konfigurasi
- Akses internet
Daftar Isi
- Memastikan bahwa server selalu mutakhir
- Menginstal PHP di Rocky Linux 8
- Menginstal Apache di Rocky Linux 8
- Mengonfigurasi host virtual
1. Memastikan bahwa server sudah diperbarui
Sebelum melanjutkan, pastikan bahwa kami memiliki paket terbaru di sistem kami. Jalankan perintah berikut untuk memperbarui sistem:
$ sudo dnf -y update
Last metadata expiration check: 1:45:37 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
Dependencies resolved.
Nothing to do.
Complete!
2. Menginstal PHP di Rocky Linux 8
Sekarang Apache sudah diatur, kita perlu menginstal PHP. Untuk file php yang akan disajikan, php perlu diatur dalam sistem. Dalam panduan ini kita akan menginstal php 7.4.
PHP 7.4 belum tersedia di repositori default. Remi Repository adalah repo yang sempurna untuk menginstal php7.4. Remi repo adalah repositori YUM gratis dan stabil terutama untuk tumpukan PHP. Ini berisi paket-paket untuk PHP versi terbaru.
Untuk mengaktifkan Remi Repository di Server Centos kami:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Konfirmasikan bahwa repositori remi telah diinstal dan diaktifkan dengan perintah ini:
$ sudo dnf repolist
repo id repo name
appstream CentOS Linux 8 - AppStream
baseos CentOS Linux 8 - BaseOS
epel Extra Packages for Enterprise Linux 8 - x86_64
epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
extras CentOS Linux 8 - Extras
remi-modular Remi's Modular repository for Enterprise Linux 8 - x86_64
remi-safe Safe Remi's RPM repository for Enterprise Linux 8 - x86_64
Anda akan melihat repo remi sebagai bagian dari daftar.
Sekarang repositori telah diinstal, mari kita cari php. Gunakan perintah ini:
$ sudo dnf module list php
Last metadata expiration check: 2:14:53 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
CentOS Linux 8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name Stream Profiles Summary
php remi-7.2 common [d], devel, minimal PHP scripting language
php remi-7.3 common [d], devel, minimal PHP scripting language
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Dari daftar. kita dapat melihat bahwa yang default adalah 7.2. Melakukan dnf install php
akan menginstal 7.2
yang tidak kita inginkan. Mari aktifkan 7.4 menggunakan perintah ini:
sudo dnf module enable php:remi-7.4
Jika karena alasan tertentu gagal, Anda dapat mengatur ulang modul yang ada dengan perintah ini:
sudo dnf module reset php
Sekarang repo telah diaktifkan, mari instal php dengan perintah ini:
sudo dnf install -y php php-common php-cli
Setelah berhasil. konfirmasi versi yang diinstal dengan perintah ini:
$ php -v
PHP 7.4.23 (cli) (built: Aug 24 2021 16:33:30) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.23, Copyright (c), by Zend Technologies
Sekarang Apache dan php telah berhasil diinstal, mari kita atur untuk melayani beberapa lalu lintas
3. Menginstal Apache di Rocky Linux 8
Sekarang kami telah memperbarui paket kami, Mari instal Apache. Apache tersedia di repositori default sebagai paket httpd
. Anda dapat memeriksa info tentangnya menggunakan perintah berikut:
$ sudo dnf info httpd
Last metadata expiration check: 1:48:56 ago on Sun 29 Aug 2021 08:52:16 AM UTC.
Installed Packages
Name : httpd
Version : 2.4.37
Release : 39.module_el8.4.0+778+c970deab
Architecture : x86_64
Size : 4.3 M
Source : httpd-2.4.37-39.module_el8.4.0+778+c970deab.src.rpm
Repository : @System
From repo : appstream
Summary : Apache HTTP Server
URL : https://httpd.apache.org/
License : ASL 2.0
Description : The Apache HTTP Server is a powerful, efficient, and extensible
: web server.
Mari kita instal menggunakan dnf:
sudo dnf install -y httpd
Memulai dan mengaktifkan layanan
Secara default, layanan tidak dimulai. Mari kita mulai dengan perintah ini:
sudo systemctl start httpd
Untuk mengonfirmasi bahwa itu berfungsi seperti yang diharapkan, gunakan perintah status dan pastikan bahwa itu menunjukkan sebagai active
seperti gambar di bawah ini:
$ sudo systemctl start httpd
$ sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since Sun 2021-08-29 10:43:52 UTC; 17s ago
Docs: man:httpd.service(8)
Main PID: 84446 (httpd)
Status: "Running, listening on: port 80"
Tasks: 213 (limit: 23800)
Memory: 31.0M
CGroup: /system.slice/httpd.service
├─84446 /usr/sbin/httpd -DFOREGROUND
├─84447 /usr/sbin/httpd -DFOREGROUND
├─84448 /usr/sbin/httpd -DFOREGROUND
├─84449 /usr/sbin/httpd -DFOREGROUND
└─84450 /usr/sbin/httpd -DFOREGROUND
Aug 29 10:43:52 test-app-server systemd[1]: Starting The Apache HTTP Server...
Aug 29 10:43:52 test-app-server httpd[84446]: AH00558: httpd: Could not reliably determine the server's fully qualified doma>
Aug 29 10:43:52 test-app-server systemd[1]: Started The Apache HTTP Server.
Aug 29 10:43:52 test-app-server httpd[84446]: Server configured, listening on: port 80
Jika Anda mengaktifkan firewall, pastikan Anda mengaktifkan http
dan https
lalu lintas untuk mengizinkan akses ke apache.
Untuk mengonfirmasi bahwa php telah diinstal dan berfungsi dengan baik, silakan kunjungi alamat IP server di browser (http://server_ip). Jika Anda tidak mengetahui IP server, dapatkan dengan menggunakan perintah ini di terminal Anda:
curl -4 icanhazip.com
Jika semuanya baik-baik saja, Anda akan melihat halaman Apache seperti yang ditunjukkan di bawah ini:
4. Mengonfigurasi host virtual
Dengan Apache, dimungkinkan untuk meng-host beberapa situs di server yang sama tempat Apache dijalankan. Ini selalu dapat dicapai dengan menggunakan beberapa domain yang masing-masing mewakili situs yang dihosting oleh server.
Host virtual Apache mirip dengan blok server Nginx. Setiap virtual host akan memiliki detail konfigurasi untuk satu host. Anda dapat memiliki host virtual sebanyak yang Anda inginkan.
Dalam contoh ini, kami akan menggunakan domain site1.citizix.com untuk virtual host tetapi bebas menggunakan domain pilihan Anda. Harap perhatikan bahwa DNS untuk domain yang akan digunakan harus sudah dikonfigurasi untuk menunjuk ke alamat IP server.
Konfirmasikan dengan:
dig -t A site1.citizix.com
Membuat direktori dan konten sampel
Halaman default Apache dikonfigurasi sebagai host virtual default yang menyajikan konten dari /var/www/html
. Ini adalah praktik terbaik untuk membuat direktori situs Anda di /var/www
direktori karena ini adalah praktik terbaik untuk melayani dari sana.
Mari buat direktori untuk situs kita dengan perintah berikut:
sudo mkdir /var/www/site1.citizix.com
Mari kita buat index.php
sederhana halaman untuk melayani dari situs kami. Anda perlu menginstal vim agar ini berfungsi, jika tidak gunakan perintah ini:
sudo dnf install -y vim
Edit filenya:
sudo vim /var/www/site1.citizix.com/index.php
Tambahkan konten ke file:
<?php phpinfo(); ?>
Terakhir, pastikan bahwa apache
pengguna memiliki direktori situs:
sudo chown -R apache.apache /var/www/site1.citizix.com
Membuat host virtual
File Apache Virtual host menentukan konfigurasi setiap situs dan memberi tahu server web Apache cara merespons berbagai permintaan domain.
Konfigurasi Apache akan disimpan di direktori /etc/httpd/conf.d/
. Mari buat konfigurasi untuk situs kita:
sudo vim /etc/httpd/conf.d/site1.citizix.com.conf
Tambahkan konten berikut:
<VirtualHost *:80>
ServerName site1.citizix.com
ServerAlias site1.citizix.com
DocumentRoot /var/www/site1.citizix.com
DirectoryIndex index.php
ErrorLog /var/log/httpd/site1.citizix.com.error.log
CustomLog /var/log/httpd/site1.citizix.com.requests.log combined
</VirtualHost>
Ini akan memberi tahu Apache hal berikut:
ServerName
danServerAlias
– nama host yang akan dilayaniDocumentRoot
– di mana menemukan root secara langsung yang menyimpan dokumen web yang dapat diakses publikDirectoryIndex
– File yang akan dilayani apache saat situs diaksesErrorLog
– tempat menyimpan log kesalahan untuk situs iniCustomLog
– tempat menyimpan log permintaan untuk situs tertentu ini
Simpan dan tutup file setelah Anda selesai
Menguji Host Virtual
Sekarang konfigurasi sudah siap, kita perlu menguji apakah semuanya berfungsi seperti yang diharapkan. Karena kita membuat index.php
file di atas, mari kita akses dengan masuk ke http://server_url/
. Dalam kasus saya ini adalah http://site1.citizix.com/
. Anda akan melihat halaman seperti yang ditunjukkan di bawah ini:
Kesimpulan
Dalam panduan ini, kami berhasil mengatur Apache untuk melayani lalu lintas di server Rocky Linux 8.