Panduan lengkap cara install LEMP stack Nginx, MariaDB 10 dan PHP 7.2 di Linux CentOS 7 dengan paket-paket software terbaru serta meningkatkan secara optimal Nginx web server. Pada tutorial ini aku sertakan bagaimana cara install Redis dan module PHP OPCache.
Diawali dengan menambahkan epel repo dan update system Linux
yum install epel-release
yum update -yCatatan : sebelum dipubliksikan, tutorial ini sudah dites di Linux CentOS 7.2 dan berjalan dengan sempurna, jadi dibutuhkan teman-teman tidak menjumpai hambatan mengikuti langkah-langkah berikut.
langkah 1 – Install MariaDB
MariaDB digadang-gadang performanya lebih anggun ketimbang MySQL, tapi sayangnya pada CentOS 7.2 versi MariaDB defaultnya masih 5.x, Kaprikornus kita perlu menambahkan repositori Mariadb versi 10.
Buat file repo untuk MariaDB 10, menggunakan nano
nano /etc/yum.repos.d/MariaDB.repocopy-paste teks berikut
[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.2/centos7-amd64/
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1Simpan, kemudian update
yum updateBaru jalankan perintah install mariadb
yum install mariadb-server -ySetelah berhasil start dan aktifkan service mariadb
systemctl start mariadb.service
systemctl enable mariadb.serviceKemudian untuk meningkatkan keamanan instalasi MariaDB, dilanjut dengan menjalankan perintah berikut.
mysql_secure_installationJawablah pertanyaan-pertanyaan yang ada, berikut ini aku tandai dengan warna merah
Enter current password for root (enter for none): Tekan Enter
Set root password? [Y/n] y (kemudian ketik password yang diinginkan)
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] yLangkah 2 – Install PHP
Versi PHP pada Centos 7 aslinya masih 5.4.16, pada panduan ini kita menggantinya dengan menginstall versi 7.2 dengan menambahkan repo remi-php72.
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpmSelanjutnya install yum-utils dan enable remi-php72
yum install yum-utils -y && yum-config-manager --enable remi-php72Jalankan perintah update
yum updateBaru setelahnya install PHP
yum -y install php-fpm php-cli php-mysql php-gd php-ldap php-odbc php-pdo php-pecl-memcache php-pear php-mbstring php-xml php-xmlrpc php-mbstring php-snmp php-soapJika butuh modul PHP lainnya, Anda dapat melihat ketersediaan modul dengan perintah yum search php-
Edit konfigurasi php.ini (saya sering lupa pada bab ini, dapat jadi Anda juga, jadi sehabis instalasi PHP akibat pribadi saja edit php.ini)
nano /etc/php.iniCari baris berikut, sesuaikan
cgi.fix_pathinfo=0
upload_max_filesize = 32M
post_max_size = 32M
max_execution_time = 90Kita juga membutuhkan module untuk caching PHP script. Sebagai pola aku menentukan OPcache, OPcache meningkatkan kinerja PHP dengan menyimpan skrip precompiled bytecode dalam shared memori, sehingga PHP tidak perlu memuat dan mem-parsing skrip pada setiap request.
yum install php-opcacheAktifkan php-fpm
systemctl start php-fpm
systemctl enable php-fpm.serviceInstall Redis
Anda dapat melewati langkah ini jikalau tidak ingin menggunakan Redis, pribadi ke langkah 3
yum install redis
systemctl start redis
systemctl enable redis.serviceCoba cek redis, jalankan perintah berikut
redis-cliKetik ping dan Enter, outputnya menyerupai dibawah ini
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>Berikutnya, jikalau situs Anda ber-platform WordPress, Redis menjadi pilihan yang anggun sebagai sistem cache untuk WordPress, jadi:
yum install php-pecl-redisJangan lupa untu menginstall plugin Redis Object Cache, atau ikuti panduan cara install dan konfigurasi Redis
Langkah 3 – Install Nginx
Langsung saja jalankan satu baris perintah berikut untuk meng-install Nginx, start dan mengaktifkan Nginx ketika booting.
yum install nginx -y && systemctl start nginx && systemctl enable nginxBuat Nginx menggunakan unix socket php-fpm, edit konfigurasi php-fpm
nano /etc/php-fpm.d/www.confUbah value pada baris-baris berikut
user =nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginxEdit konfigurasi virtual host default Nginx
nano /etc/nginx/conf.d/default.confHapus semua jikalau ada konten didalamnya, ganti dengan teks berikut
server {
listen 80;
listen [::]:80;
server_name _;
location /error/ {
alias /usr/share/nginx/html/errors/;
}
root /var/www/html/;
index index.htm index.html index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
access_log /var/log/nginx/access_log;
access_log off;
error_log /var/log/nginx/error_log error;
# security
error_page 403 = 404;
location /\. { access_log off; log_not_found off; deny all; }
location $ { access_log off; log_not_found off; deny all; }
location = /robots.txt { access_log off; log_not_found off; }
location = /favicon.ico { access_log off; log_not_found off; }
# Compress
gzip on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_proxied any;
gzip_vary on;
gzip_types application/atom+xml application/j4vascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon image/png image/gif image/jpeg text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/xml
text/vtt text/x-component text/x-cross-domain-policy;
# text/html is always compressed by gzip module
# caches
location * \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; }
location * \.(woff|svg)$ { access_log off; log_not_found off; expires 30d; }
location * \.(js)$ { access_log off; log_not_found off; expires 7d; add_header Cache-Control "public, no-transform"; }
# php block
location \.php?$ {
try_files $uri = 404;
include fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_split_path_info ^(.+\.php)(.*)$;
# Cegah kebocoran informasi versi
fastcgi_hide_header X-Powered-By;
}
}Buat file index.php di /var/www/html/
echo "<?php phpinfo(); " | sudo tee /var/www/html/index.phpUbah owner dan group (nginx:nginx) dan chmod tiap folder (755) dan file (644)
chown -R nginx:nginx /var/www/html
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;Kemudian restart nginx dan php-fpm
systemctl restart nginx && systemctl restart php-fpmCek menggunakan browser, kanal http://IP. Anda dapat mengetahui IP server anda dengan perintah hostname -I
Langkah 4 – Troubleshooting
Jika IP server tidak dapat dibuka melalui browser, kemungkinan Firewall aktif, cek dengan perintah berikut
firewall-cmd --stateJika hasinya
runningArtinya Firewall aktif, izinkan service HTTP dan HTTPS
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reloadSelamat mencoba.
Sumber https://idnetter.com
Mari berteman dengan saya
Follow my Instagram _yudha58
0 Response to "Cara Install Lemp Di Centos 7"
Posting Komentar