Apache HTTP Server (Apache), adalah salah satu perangkat lunak server web lintas platform sumber terbuka dan gratis 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 Nginx (LEMP) di OpenSUSE Leap 15.3
- Cara Menginstal tumpukan Apache PHP 7.4 (LAMP) di Rocky Linux/Centos 8
- 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 OpenSUSE lompatan 15.3 yang diperbarui
- Akses root ke server atau Pengguna dengan akses sudo
- Akses internet
Daftar Isi
- Memastikan bahwa server selalu mutakhir
- Menginstal PHP di OpenSUSE Leap 15.3
- Menginstal Apache di OpenSUSE Leap 15.3
- Mengonfigurasi host virtual
- Menguji konfigurasi host virtual
1. Memastikan bahwa server sudah diperbarui
Sebelum melanjutkan, itu selalu merupakan praktik yang baik untuk memastikan bahwa server up to date. Gunakan perintah ini untuk mencapainya
sudo zypper refresh
sudo zypper update -y
2. Menginstal PHP di OpenSUSE Leap 15.3
PHP tersedia di repo OpenSUSE default. Versi terbaru PHP pada saat blog ini ditulis adalah PHP 7.4.
Instal PHP dan beberapa paket umum menggunakan perintah ini:
sudo zypper install -y \
php \
php-cli \
php-gd \
php-mbstring
Periksa versi PHP yang diinstal
~> zypper info php7
Repository 'Update repository with updates from SUSE Linux Enterprise 15' is out-of-date. You can run 'zypper refresh' as root to update it.
Loading repository data...
Reading installed packages...
Information for package php7:
-----------------------------
Repository : Update repository with updates from SUSE Linux Enterprise 15
Name : php7
Version : 7.4.6-3.29.1
Arch : x86_64
Vendor : SUSE LLC <https://www.suse.com/>
Installed Size : 10.3 MiB
Installed : Yes
Status : up-to-date
Source package : php7-7.4.6-3.29.1.src
Summary : Interpreter for the PHP scripting language version 7
Description :
PHP is a server-side HTML embedded scripting language designed
primarily for web development but also used as a general-purpose
programming language.
This package contains the standard implementation of PHP, namely Zend
PHP. Included are the PHP command-line binary and the configuration
file (php.ini). This package must be installed in order to use PHP.
Additionally, extension modules and server modules (e.g. for Apache)
may be installed.
Additional documentation is available in package php-doc.
Periksa versi php yang diinstal menggunakan perintah ini:
~> php -v
PHP 7.4.6 (cli) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
3. Menginstal apache di OpenSUSE Leap 15.3
Paket Apache tersedia di repositori default OpenSUSE Leap 15.3 sebagai apache2
. Instal menggunakan perintah ini:
sudo zypper install -y apache2
Konfirmasikan paket yang diinstal menggunakan perintah ini:
~> zypper info apache2
Loading repository data...
Reading installed packages...
Information for package apache2:
--------------------------------
Repository : Update repository with updates from SUSE Linux Enterprise 15
Name : apache2
Version : 2.4.43-3.32.1
Arch : x86_64
Vendor : SUSE LLC <https://www.suse.com/>
Installed Size : 4.3 MiB
Installed : Yes
Status : up-to-date
Source package : apache2-2.4.43-3.32.1.src
Summary : The Apache Web Server
Description :
This version of httpd is a major release of the 2.4 stable branch,
and represents the best available version of Apache HTTP Server.
New features include Loadable MPMs, major improvements to OCSP support,
mod_lua, Dynamic Reverse Proxy configuration, Improved Authentication/
Authorization, FastCGI Proxy, New Expression Parser, and a Small Object
Caching API.
See /usr/share/doc/packages/apache2/, http://httpd.apache.org/, and
http://httpd.apache.org/docs-2.4/upgrading.html.
Layanan tidak akan dimulai secara default.
sudo systemctl start apache2
Periksa status menggunakan perintah ini:
~> sudo systemctl status apache2
● apache2.service - The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2021-12-22 06:58:45 UTC; 53s ago
Main PID: 27333 (httpd-prefork)
Status: "Processing requests..."
Tasks: 6
CGroup: /system.slice/apache2.service
├─27333 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
├─27340 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
├─27341 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
├─27342 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
├─27343 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
└─27344 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
Dec 22 06:58:45 ip-10-2-40-44 systemd[1]: Starting The Apache Webserver...
Dec 22 06:58:45 ip-10-2-40-44 systemd[1]: Started The Apache Webserver.
Untuk mengaktifkan layanan saat boot, gunakan perintah ini
sudo systemctl enable apache2
Jika Anda memiliki firewall yang diinstal dan diaktifkan di komputer Anda, ingatlah untuk mengizinkan lalu lintas ke Apache2 server web melalui firewall sebelum melanjutkan ke langkah berikutnya.
$ sudo firewall-cmd --permanent --add-port=80/tcp $ sudo firewall-cmd --permanent --add-port=443/tcp $ sudo firewall-cmd --reload
Agar Apache menyajikan file php
sudo zypper install -y apache2-mod_php7
Kemudian aktifkan modul php7
sudo a2enmod php7
Terakhir restart Apache2 untuk menerapkan penambahan modul
sudo systemctl restart apache2
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, kita 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.
Konfirmasi dengan:
dig -t A site1.citizix.com
Membuat direktori dan contoh konten
Halaman default Apache dikonfigurasi sebagai host virtual default yang menyajikan konten dari /srv/www/htdocs
. Ini adalah praktik terbaik untuk membuat direktori situs Anda di /srv/www
direktori karena ini adalah praktik terbaik untuk melayani dari sana.
Mari buat direktori untuk situs kita dengan perintah berikut:
sudo mkdir -p /srv/www/site1.citizix.com
Mari kita buat index.php
yang sederhana halaman untuk melayani dari situs kami. Anda perlu menginstal vim agar ini berfungsi, jika tidak gunakan perintah ini:
sudo zypper install -y vim
Edit filenya:
sudo vim /srv/www/site1.citizix.com/index.php
Tambahkan konten ke file:
<?php phpinfo(); ?>
Terakhir, pastikan bahwa$USER
pengguna memiliki direktori situs:
sudo chown -R wwwrun:wwwrun /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/apache2/conf.d/site1.citizix.com.conf
Tambahkan konten berikut:
<VirtualHost *:80>
ServerName site1.citizix.com
ServerAlias site1.citizix.com
ServerAdmin [email protected]
DocumentRoot /srv/www/site1.citizix.com
ErrorLog /var/log/apache2/site1.citizix.com.error.log
CustomLog /var/log/apache2/site1.citizix.com.requests.log combined
<Directory "/srv/www/site1.citizix.com">
Options Indexes
AllowOverride All
Require all granted
DirectoryIndex index.php
</Directory>
</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
Uji konfigurasi
~> sudo apachectl configtest
Syntax OK
Kemudian muat ulang konfigurasi Apache2
sudo systemctl reload apache2
5. Menguji konfigurasi Host Virtual
Untuk menguji konfigurasi, buka browser Anda dan muat domain yang Anda siapkan. Dalam kasus saya ini adalah http://site1.citizix.com
. Anda akan melihat halaman info php.
Jika Anda belum mengonfigurasi pengaturan DNS Anda atau hanya tidak ingin situs tersebut ditayangkan, Anda dapat memodifikasi file host komputer Anda. Untuk melakukannya, gunakan perintah berikut di CLI komputer lokal Anda
sudo vim /etc/hosts
Kemudian, tambahkan alamat IP server Anda yang sebenarnya diikuti dengan nama domain yang Anda konfigurasikan, misalnya:
# Virtual Hosts Local Test
10.2.11.11 site1.citizix.com
Sekarang Anda seharusnya dapat menyimpan file dan mengaksesnya dari dalam browser web.
Jika ada yang tidak berfungsi seperti yang diharapkan, Anda dapat memeriksa log server virtualhost menggunakan ini
tail -f /var/log/apache2/site1.citizix.com.*
Kesimpulan
Dalam panduan ini, kami berhasil mengatur Apache untuk melayani situs PHP di server Ubuntu 20.04.