Melakukan Instalasi Web Server Nginx, MySQL, PHP (LEMP) Di Centos
Pada Sistem Operasi Linux sering kali menggunakan aplikasi berikut seperti Nginx, MariaDB, PHP atau LEMP yang merupakan sekumpulan perangakat lunak (Software) open source yang biasa dipasang secara bersamaan untuk membangun sebuah Web Server pada sistem operasi linux. Istilah ini sebenarnya adalah akronim yang mewakili sistem operasi Linux, Dengan web server Nginx (Dibaca Engine X), database MySQL (menggunakan MariaDB), dan konten dinamis yang diproses dengan menggunakan PHP.
Maka bagaimana cara untuk menginstal Nginx, MySQL, PHP (LEMP) Di Centos.
Note Selinux: Jika mengalami masalah dan Nginx tidak berjalan semestinya, pastikan untuk mengkonfigurasi Selinux menjadi mode Disable atau permissive.
Melakukan Instalasi Nginx
Karena Anda akan menggunakan web server Nginx, karena web server ini terkesan modern bahkan di klaim lebih efisien memory, berikut langkah - langkah untuk melakukan instalasi pada centos.
# Aktifkan EPEL repository yum -y install epel-release # Instalasi Nginx yum -y install nginx
Setelah instalasi selesai, Atur Nginx untuk melakukan auto start pada saat booting serta mengaktifkan nya:
systemctl start nginx systemctl enable nginx
Jika service Firewalld berjalan, silahkan allow Protocol HTTP (80/tcp) dan HTTPS (443/tcp)
firewall-cmd --add-service=http --permanent firewall-cmd --add-service=https --permanent firewall-cmd --reload
Instalasi MySQL (MariaDB)
Setelah Web server Nginx sudah aktif dan berjalan, sekarang saatnya menginstall MariaDB, pengganti MySQL. MariaDB adalah sebuah database manajemen sistem yang di kembangkan oleh pengembang MYSQL. Mengapa di kembangkan oleh pengembang MYSQL adalah karena MYSQL sendiri telah di ambil alih atau telah di akuisisi oleh perusahaan ORACLE yang juga merupakan perusahaan yang bergerak dalam database sehingga menyebabkan MySQL menjadi produk yang berlisensi dan akan menjadi product yang komersil.
yum -y install mariadb-server mariadb
Setelah instalasi selesai, aktifkan Mariadbd saat boot dan jalankan:
systemctl start mariadb systemctl enable mariadb
Jika service Firewalld berjalan, dan database digunakan oleh server jauh makan silahkan allow 3306/TCP
firewall-cmd --add-service=mysql --permanent firewall-cmd --reload
Instalasi PHP-FPM
Pada tutorial ini Anda akan menginstall PHP Versi 7.x dan hal pertama yang akan Anda lakukan adalah memasang repository CentOS tambahan yaitu repository REMI yang berisi paket yang dibutuhkan untuk PHP v7
cd /tmp yum -y install wget wget -q http://rpms.remirepo.net/enterprise/remi-release-7.rpm rpm -Uvh remi-release-7.rpm
Aktifkan repository REMI menggunakan perkakas yum-utils
yum -y install yum-utils ## php70 yum-config-manager --enable remi-php70 ## php71 yum-config-manager --enable remi-php71 ## php72 yum-config-manager --enable remi-php72
Kemudian Install paket PHP-FPM dengan menggunakan perintah berikut:
yum -y install php-fpm php-common
Berikut beberapa modul php yang sering digunakan
yum -y install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
Konfigurasi PHP-FPM
Sekarang Anda telah selesai menginstall paket php dan beberapa modul tambahan, namun Anda perlu melakukan sedikit perubahan konfigurasi demi alasan keamanan.
vim /etc/php.ini ## Uncomment cgi.fix_pathinfo cgi.fix_pathinfo=0 ## Set time/zone date.timezone = Asia/Jakarta
Selanjutnya Anda akan melakukan konfigurasi pada berkas php-fpm
vim /etc/php-fpm.d/www.conf
Kemudian ubah konfigurasi sehingga menjadi seperti berikut ini.
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. ; RPM: apache Choosed to be able to access some dir as httpd ; user = apache user = nginx ; RPM: Keep a group allowed to write in log dir. ; group = apache group = nginx ; The address on which to accept FastCGI requests. ; Valid syntaxes are: ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on ; a specific port; ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on ; a specific port; ; 'port' - to listen on a TCP socket to all addresses ; (IPv6 and IPv4-mapped) on a specific port; ; '/path/to/unix/socket' - to listen on a unix socket. ; Note: This value is mandatory. ; listen = 127.0.0.1:9000 listen = /var/run/php-fpm/php-fpm.sock ; Set permissions for unix socket, if one is used. In Linux, read/write ; permissions must be set in order to allow connections from a web server. ; Default Values: user and group are set as the running user ; mode is set to 0660 listen.owner = nginx listen.group = nginx listen.mode = 0660
Kemudian jalankan php-fpm dan pastikan juga berjalan saat boot
systemctl start php-fpm systemctl enable php-fpm
Konfigurasi Nginx
Sekarang telah selesai menginstall semua komponen LEMP. Satu-satunya perubahan konfigurasi yang masih perlu Anda lakukan adalah memberitahu Nginx untuk menggunakan PHP sebagai pemeroses konten. Web server nginx memiliki berkas konfigurasi utama nginx.conf yang tersimpan didalam directori /etc/nginx.
Namun pada tutorial ini Anda akan melakukan konfigurasi pada level Server Blocks(Server Blocks adalah istilah dalam nginx, seperti “Virtualhost” pada Apache).
vim /etc/nginx/conf.d/example.conf
Berikut adalah konfigurasi Server Blocks yang umum.
server { listen 80; server_name localhost; root /var/www/example; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
jangan lupa untuk merestart service Nginx setelah mengubah konfigurasi.
systemctl restart nginx
Posting Komentar