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.
- 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
Tekan enter dan layar ini akan muncul
- Pilih bahasa yang akan kita gunakan dalam menginstal. Lihat gambar di bawah ini
- Setelah itu akan muncul layar berikut ini dan silahkan pilih format tanggal, lokasi, Negara dan kota, akhiri dengan Done
- Berikutnya pilih format keyboard, tekan tanda + jika ingin menambahkan lebih dari satu
setelah itu akan muncul pilihan layout keyboard, silahkan pilih (saran saya pilih seperti di gambar ini) dan akhiri dengan Done
- Sekarang silahkan pilih bahasa yang ingin diinstal dan akhiri dengan Done
- Setelah itu pilih sumber instalasi, pilih saja Auto-detected installation media atau silahkan sesuaikan dengan kebutuhan
- Untuk keperluan web server menggunakan nginx kali ini silahkan pilih minimal install -> Done
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.
- Selanjutnya adalah mengisi hostname dan no IP, klik Configure untuk mengisi IP silahkan sesuaikan dengan ip yang anda miliki -> Done
- 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
- Proses instalasi di mulai dan anda tinggal menuggu sampai selesai diakhir langkah klik Reboot. Di bawah ini tampilan login setelah poreses instalasi selesai
Berikut ini video cara menginstall CentOS 7
[mom_video type=”youtube” id=”Pl2-d59JIHQ” width=”560″ height=”315″] - 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
- 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
- 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
- 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
- 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.
- 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
- 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
- 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; } }
- Edit file /etc/hosts/ tambahkan domain yg tadi
vi /etc/hostsnomer_ip_server_disini itpoin.com
nomer_ip_server_disini laluvirtual.com
nomer_ip_server_disini namadomain.co.nz
- Restart nginx-nya. Selesai