Cara Install Nginx 1.15, MariaDB 10 dan PHP 7 di CentOS 7
Pada artikel ini kami akan menjelaskan cara memasang tumpukan LEMP (Linux, Nginx, MariaDB, PHP) bersama dengan PHP-FPM di server RHEL/CentOS 7/6 dan Fedora 26-29 menggunakan paket yum dan dnf Pengelola.
Selama proses tersebut kami akan menginstal dan mengaktifkan repositori Epel, Remi, Nginx dan MariaDB agar dapat instal versi terbaru dari paket-paket ini.
Baca Juga: Instal Apache, MySQL 8 atau MariaDB 10 dan PHP 7 di CentOS 7
Langkah 1: Menginstal Repositori EPEL dan Remi
EPEL (Paket Ekstra untuk Linux Perusahaan) adalah repositori berbasis komunitas yang menawarkan paket perangkat lunak tambahan untuk distribusi Linux berbasis RHEL.
Remi adalah repositori tempat Anda dapat menemukan versi terbaru tumpukan PHP (fitur lengkap) untuk instalasi di distribusi Fedora dan Enterprise Linux.
Di RHEL/CentOS 7
yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
------ For RHEL 7 Only ------
subscription-manager repos --enable=rhel-7-server-optional-rpms
Di RHEL/CentOS 6
yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
------ For RHEL 6 Only ------
subscription-manager repos --enable=rhel-6-server-optional-rpms
Di Fedora 24-29
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm [On Fedora 29]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm [On Fedora 28]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm [On Fedora 27]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm [On Fedora 26]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm [On Fedora 25]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm [On Fedora 24]
Langkah 2: Menginstal Repositori Nginx dan MariaDB
Repositori Nginx hanya diperlukan di distribusi RHEL dan CentOS. Buat file bernama /etc/yum.repos.d/nginx.repo dan tambahkan baris berikut ke dalamnya.
Untuk RHEL 7/6:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/
gpgcheck=0
enabled=1
Untuk CentOS 7/6:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
Untuk mengaktifkan repositori MariaDB, buat file bernama /etc/yum.repos.d/mariadb.repo dengan konten berikut:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Langkah 4: Menginstal Ngnix dan MariaDB
Nginx (Engine X) adalah server Web sumber terbuka, kuat, ringan, dan berkinerja tinggi, server proksi terbalik, dan juga server proksi email untuk protokol HTTP, SMTP, POP3, dan IMAP. Untuk rincian lebih lanjut, kunjungi http://wiki.nginx.org/Overview.
MariaDB adalah cabang dari MySQL yang terkenal, salah satu Sistem Manajemen Basis Data Relasional (RDBMS) terpopuler di dunia. Ini sepenuhnya dikembangkan oleh komunitas dan oleh karena itu dimaksudkan untuk tetap FOSS dan kompatibel dengan GPL.
Untuk menginstal Ngnix dan MariaDB, jalankan perintah berikut.
----------- Installing on RHEL/CentOS 7/6 -----------
yum --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm
----------- Installing on Fedora -----------
dnf --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm
Langkah 3: Menginstal PHP Menggunakan Remi Repository
PHP (Hypertext Preprocessor) adalah bahasa skrip sisi server Sumber Terbuka dan Gratis yang paling cocok untuk pengembangan web. Ini dapat digunakan untuk menghasilkan halaman web dinamis untuk situs web dan paling sering ditemukan di server *nix. Salah satu kelebihan PHP adalah mudah dikembangkan melalui penggunaan berbagai macam modul.
Untuk menginstal PHP, pertama-tama Anda perlu mengaktifkan repositori Remi dengan menginstal yum-utils
, kumpulan program berguna untuk mengelola repositori dan paket yum.
yum install yum-utils
Setelah terinstal, Anda dapat menggunakan yum-config-manager yang disediakan oleh yum-utils
untuk mengaktifkan repositori Remi sebagai repositori default untuk menginstal versi PHP yang berbeda seperti yang ditunjukkan.
Misalnya, untuk menginstal versi PHP 7.x, gunakan perintah berikut.
------------- On CentOS & RHEL -------------
yum-config-manager --enable remi-php70 && yum install php [Install PHP 7.0]
yum-config-manager --enable remi-php71 && yum install php [Install PHP 7.1]
yum-config-manager --enable remi-php72 && yum install php [Install PHP 7.2]
yum-config-manager --enable remi-php73 && yum install php [Install PHP 7.3]
------------- On Fedora -------------
dnf --enablerepo=remi install php70 [Install PHP 7.0]
dnf --enablerepo=remi install php71 [Install PHP 7.1]
dnf --enablerepo=remi install php72 [Install PHP 7.2]
dnf --enablerepo=remi install php73 [Install PHP 7.3]
Selanjutnya, kita akan menginstal semua modul PHP berikut ini.
------ On RHEL/CentOS 7/6 ------
yum --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
------ On Fedora ------
dnf --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
Langkah 6: Menghentikan dan Menonaktifkan Layanan Apache
Secara default, Apache dan Nginx mendengarkan di port yang sama (TCP 80). Oleh karena itu, jika Apache terinstal di server Anda, Anda harus menghentikannya dan menonaktifkan/menyamarkannya (versi penonaktifan yang lebih kuat yang menghubungkan layanan ke /dev/null) untuk menggunakan Nginx , atau Anda dapat menghapusnya jika Anda tidak berencana menggunakannya lagi.
systemctl stop httpd
systemctl disable httpd
or
systemctl mask httpd
Langkah 7: Memulai/Menghentikan Nginx, MariaDB dan PHP-FPM
----------- Enable Nginx, MariaDB and PHP-FPM on Boot -----------
systemctl enable nginx
systemctl enable mariadb
systemctl enable php-fpm
----------- Start Nginx, MariaDB and PHP-FPM -----------
systemctl start nginx
systemctl start mariadb
systemctl start php-fpm
Langkah 8: Mengonfigurasi Nginx dan PHP-FPM
Sekarang mari kita buat struktur direktori untuk situs web Anda (host virtual, atau blok server seperti yang disebut di Nginx) di bawah /srv/www/. Dalam contoh ini kita akan menggunakan linux-console.net
, namun silakan memilih domain dan direktori utama lain jika Anda mau.
mkdir -p /srv/www/tecmint/public_html
mkdir /srv/www/tecmint/logs
chown -R nginx:nginx /srv/www/tecmint
Langkah 9: Mengonfigurasi Direktori Virtual Host Nginx
Seperti yang Anda ketahui, kemampuan menjalankan beberapa situs dari mesin yang sama merupakan salah satu fitur yang membedakan server web utama. Sekarang mari kita lanjutkan membuat direktori untuk menyimpan blok server kita (dikenal sebagai host virtual di Apache) di bawah /etc/nginx.
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
Baris kode berikut, yang harus dimasukkan sebelum menutup blok http di /etc/nginx/nginx.conf, akan memastikan bahwa file konfigurasi di dalam /etc/nginx/sites-enabled Direktori akan diperhitungkan saat Nginx berjalan:
## Load virtual host conf files. ##
include /etc/nginx/sites-enabled/*;
Untuk membuat blok server untuk linux-console.net
, tambahkan baris kode berikut ke /etc/nginx/sites-available/tecmint (file ini akan dibuat saat Anda masuk jalur lengkap untuk memulai editor teks pilihan Anda). Ini adalah file konfigurasi host virtual dasar.
server {
listen 80 default;
server_name tecmint;
access_log /srv/www/tecmint/logs/access.log;
error_log /srv/www/tecmint/logs/error.log;
root /srv/www/tecmint/public_html;
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
Proses “mengaktifkan” host virtual terdiri dari pembuatan tautan simbolik dari definisi host virtual tecmint
ke /etc/nginx/sites-enabled.
ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
Untuk benar-benar menerapkan perubahan yang telah kita lakukan, sekarang kita perlu me-restart Nginx. Terkadang berguna untuk memeriksa kesalahan sintaksis pada file konfigurasi sebelum melakukannya:
nginx -t
systemctl restart nginx
systemctl status nginx
Untuk mengakses host virtual yang baru Anda buat, Anda perlu menambahkan baris berikut ke /etc/hosts sebagai metode dasar resolusi nama domain.
192.168.0.18 linux-console.net linux-console.net
Langkah 10: Menguji Nginx, MySQL, PHP dan PHP-FPM
Mari kita tetap menggunakan cara klasik dalam menguji PHP. Buat file bernama test.php
di bawah /srv/www/tecmint/public_html/ dan tambahkan baris kode berikut ke dalamnya.
Fungsi phpinfo()
menampilkan banyak informasi tentang instalasi PHP saat ini:
<?php
phpinfo();
?>
Sekarang arahkan browser web Anda ke http://tecmint/test.php
dan periksa keberadaan modul yang diinstal dan perangkat lunak tambahan:
Selamat! Anda sekarang memiliki instalasi tumpukan LEMP yang berfungsi. Jika ada sesuatu yang tidak berjalan sesuai harapan, jangan ragu untuk menghubungi kami menggunakan formulir di bawah ini. Pertanyaan dan saran juga diterima.