Install Nginx Web server di Linux CentOS 7

Kali saya ingin berbagi cara menginstall web server nginx di Linux CentOS 7. Sebelum lanjut saya ingin menginformasikan bahwa saat saya menulis artikel ini CentOS 7 hanya tersedia dalam arsitektur 64 bit. Paket web server sudah menggunakan Apache 2.4 sedangkan pengelola database CentOS 7 menyematkan MariaDB 5.5 dan Postgre 9.2. Dari sisi jaringan terjadi beberapa pembaruan diantaranya mendukung NIC 40 Gigabit, WiGig 60 GHz Band (IEEE 802.11ad), DNSSEC, Proteksi DDoS, Network Hardware Offload, OpenMLI, Precision Time Protocol, Networking Team Driver, FreeRADIUS 3.0.1 dan Networking Team Driver. Untuk kernelnya juga sudah versi 3.10.0, pada kernel versi ini CentOS 7 memperkenalkan kpatch, sebuah “kernel patching utility” dinamis. Kpatch memungkinkan kita untuk mengelola binary kernel patches yang dapat digunakan secara dinamis dalam mempatch kernel tanpa harus mereboot. Nantinya di CentOS 7 ini juga kita tidak akan lagi menjumpai command /etc/init.d script, command ini telah diganti dengan systemctl. Misalnya jika kita menjalankan network service dengan command /etc/init.d/network start atau service network start sekarang menjadi systemctl start network.service.

Itulah sedikit dari banyak sesuatu yang baru dari CentOS 7 dan sekarang saatnya kita memulai bagai mana cara menginstall webserver Nginx di CentOS 7. Tutorial di bawah ini akan dimulai dengan menginstall CentOS 7 dan di suguhkan dalam bentuk gambar (screenshot), jika anda malas membacanya kami sudah menyediakan videonya di dalam artikel ini.

  1. Langkah cara menginstall CentOS 7. Silahkan booting dari DVD CentOS 7 yang sudah di download jika blm punya silahkan download disini. Setelah itu akan muncul layar seperti ini
    1 Install Nginx Webserver di Linux CentOS 7
    Tekan enter dan layar ini akan muncul
    2 Install Nginx Webserver di Linux CentOS 7
  2. Pilih bahasa yang akan kita gunakan dalam menginstal. Lihat gambar di bawah ini
    3 Install Nginx Webserver di Linux CentOS 7
  3. Setelah itu akan muncul layar berikut ini dan silahkan pilih format tanggal, lokasi, Negara dan kota, akhiri dengan Done
    4 Install Nginx Webserver di Linux CentOS 7
    5 Install Nginx Webserver di Linux CentOS 7
  4. Berikutnya pilih format keyboard, tekan tanda + jika ingin menambahkan lebih dari satu
    6 Install Nginx Webserver di Linux CentOS 7setelah itu akan muncul pilihan layout keyboard, silahkan pilih (saran saya pilih seperti di gambar ini) dan akhiri dengan Done
    8 Install Nginx Webserver di Linux CentOS 7
  5. Sekarang silahkan pilih bahasa yang ingin diinstal dan akhiri dengan Done
    11 Install Nginx Webserver di Linux CentOS 7
  6. Setelah itu pilih sumber instalasi, pilih saja Auto-detected installation media atau silahkan sesuaikan dengan kebutuhan
    12 Install Nginx Webserver di Linux CentOS 7
  7. Untuk keperluan web server menggunakan nginx kali ini silahkan pilih minimal install -> Done
    13 Install Nginx Webserver di Linux CentOS 7
    akan muncul pilihan tujuan instalasi. Pada langkah tujuan instalasi ini ada langkah partisi pilihannya I will configure partitioning dan Automatically configure silahkan pilih sesuai kesukaan dan kebutuhan.
    16 Install Nginx Webserver di Linux CentOS 7
  8. Selanjutnya adalah mengisi hostname dan no IP, klik Configure untuk mengisi IP silahkan sesuaikan dengan ip yang anda miliki -> Done
    18 Install Nginx Webserver di Linux CentOS 7 19 Install Nginx Webserver di Linux CentOS 7
  9. Setelah lengkap terisi silahkan klik Begin Installation, setelah itu kita diminta untuk mengisi password root atau membuat user sebelum proses instalasi dimulai. Di langkah ini juga kita bisa membuat user admin dengan hak akses root -> Done
    20 Install Nginx Webserver di Linux CentOS 7 21 Install Nginx Webserver di Linux CentOS 7 22 Install Nginx Webserver di Linux CentOS 7
  10. Proses instalasi di mulai dan anda tinggal menuggu sampai selesai diakhir langkah klik Reboot. Di bawah ini tampilan login setelah poreses instalasi selesai
    23 Install Nginx Webserver di Linux CentOS 7
    Berikut ini video cara menginstall CentOS 7
    [mom_video type=”youtube” id=”Pl2-d59JIHQ” width=”560″ height=”315″]
  11. Selanjutnya adalah cara untuk menginstal nginx di CentOS 7 pertama2 kita harus menginstal repository nya dulu. Silahkan jalankan perintah berikut ini:
    [root@itpoin ~]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

    command ini akan mendownload dan menyimpan file repository nginx di /etc/yum.repos.d/
    setelah itu jalankan perintah

    [root@itpoin ~]# yum install nginx –y

    setelah selesai jalankan nginx dengan perintah berikut ini

    [root@itpoin ~]# systemctl start nginx.service

    dan jangan lupa untuk menjalankan command

    [root@itpoin ~]# systemctl enable nginx.service

    agar nginx jalan secara otomatis saat server dinyalakan atau reboot sekarang coba kunjungi http://ipserver dan akan muncul halaman seperti ini
    halaman default nginx

  12. Saatnya untuk menginstall PHP5. Cara menginstall PHP5 di CentOS 7 lakukan perintah berikut ini. Perintah ini akan menginstall php5 dan module lain yang digunakan untuk menjalankan script web
    [root@itpoin ~]# yum install php php-mysql php-xml php-imap php-fpm php-cli  php-xmlrpc php-common php-gd  php-devel php-intl php-process php-zts -y

    Selanjutnya adalah mengedit /etc/php.ini kemudian cari baris

    cgi.fix_pathinfo=0

    rubah menjadi

    cgi.fix_pathinfo=1

    Setelah ini edit juga file /etc/php-fpm.d/www.conf kmudian cari baris

    listen = 127.0.0.1:9000

    dan ganti menjadi

    listen = /var/run/php-fpm/php-fpm.sock
    user=apache menjadi user=nginx
    group=apache menjadi group=nginx

    kemudian jalankan command ini

    systemctl start php-fpm
    systemctl enable php-fpm.service
  13. Selanjutnya adalah mengkonfigurasi nginx. Cara mengkonfigurasi nginx silahkan edit file /etc/nginx/conf.d/default.conf
    server {
     listen 80;
     server_name localhost;
    
     location / {
     root /usr/share/nginx/html;
     index index.html index.htm;
     }
     error_page 500 502 503 504 /50x.html;
     location = /50x.html {
     root /usr/share/nginx/html;
     }
    }
    

    ganti menjadi

    server {
     listen 80;
     server_name nama_domain_atau_IP_disini;
    
     root /usr/share/nginx/html;
     index index.php index.html index.htm;
    
     location / {
     try_files $uri $uri/ =404;
     }
     error_page 404 /404.html;
     error_page 500 502 503 504 /50x.html;
     location = /50x.html {
     root /usr/share/nginx/html;
     }
    
     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;
     }
    }

    kemudian jalankan

    systemctl restart nginx
  14. Berikutnya adalah menginstall database. Seperti yang sudah saya utarakan di atas CentOS 7 menggunakan MariaDB sebagai pengganti MySQL. Cara install MariaDB di CentOS 7 adalah sebagai berikut:
    yum install mariadb-server mariadb -y
    systemctl start mariadb.service
    systemctl enable mariadb.service
    mysql_secure_installation

    Perintah di atas adalah menginstall mariadb, menjalankannya, meng-enable servicenya (saat server boot) dan mengamankan instalasi mariadb dengan memberinya password

  15. Terakhir adalah saatnya anda mengupload file web anda dan lihat hasilnya 🙂

 

Update:

Berhubung ada yang menanyakan bagaimana cara konfigurasi virtual domain (di nginx namanya server blocks) melalui form Kontak Kami, maka berikut ini saya tambahkan cara mengkonfigurasinya.

Anggap saja kita akan menambahkan domain itpoin.com, laluvirtual.com, namadomain.co.nz dll. berikut ini adalah contoh configruasinya.

  1. Buat virtual directorynya dahulu
    mkdir -p /var/www/html/itpoin.com/public_html
    mkdir -p /var/www/html/laluvirtual.com/public_html
    mkdir -p /var/www/html/namadomain.co.nz/public_html
  2. Setting kempemilikan dan permissionnya
    chown -R user:user /var/www/html/itpoin.com/public_html
    chown -R user:user /var/www/html/laluvirtual.com/public_html
    chown -R user:user /var/www/html/namadomain.co.nz/public_html
    chmod -R 755 /var/www/html/

    Jangan lupa tambahkan halaman index pada masing direktori tersebut

  3. Saatnya untuk membuat server block nya
    cp /etc/nginx/conf.d/default /etc/nginx/conf.d/itpoin.com
    cp /etc/nginx/conf.d/default /etc/nginx/conf.d/laluvirtual.com
    cp /etc/nginx/conf.d/default /etc/nginx/conf.d/namadomain.co.nz

    Edit masing-masing file konfigurasi tersebut seperti contoh di bawah ini

    server {
     listen 80;
     server_name nama_domain_atau_IP_disini;
    
     root /var/www/html/itpoin.com/public_html;
     index index.php index.html index.htm;
    
     location / {
     try_files $uri $uri/ =404;
     }
     error_page 404 /404.html;
     error_page 500 502 503 504 /50x.html;
     location = /50x.html {
     root /var/www/html/itpoin.com/public_html;
     }
    
     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;
     }
    }

    ================================

    server {
     listen 80;
     server_name nama_domain_atau_IP_disini;
    
     root /var/www/html/laluvirtual.com/public_html;
     index index.php index.html index.htm;
    
     location / {
     try_files $uri $uri/ =404;
     }
     error_page 404 /404.html;
     error_page 500 502 503 504 /50x.html;
     location = /50x.html {
     root /var/www/html/laluvirtual.com/public_html;
     }
    
     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;
     }
    }

    =================================================

    server {
     listen 80;
     server_name nama_domain_atau_IP_disini;
    
     root /var/www/html/namadomain.co.nz/public_html;
     index index.php index.html index.htm;
    
     location / {
     try_files $uri $uri/ =404;
     }
     error_page 404 /404.html;
     error_page 500 502 503 504 /50x.html;
     location = /50x.html {
     root /var/www/html/namadomain.co.nz/public_html;
     }
    
     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;
     }
    }
  4. Edit file /etc/hosts/ tambahkan domain yg tadi
    vi /etc/hosts
    nomer_ip_server_disini   itpoin.com
    nomer_ip_server_disini   laluvirtual.com
    nomer_ip_server_disini   namadomain.co.nz
  5. Restart nginx-nya. Selesai
BACA JUGA:  9 Alat Bantu Untuk Mengetahui Performa/Status Server