SlideShare a Scribd company logo
1 of 20
Bagaimana cara Install Nginx Dengan PHP5 Dan 
Dukungan MySQL Pada CentOS 6.5
SISTEM OPERASI 2 
Nama : Erwin A. Hi. Hafel 
Npm : 121055520111262 
KOMPUTASi
TENTANG NGINX 
• Nginx adalah Software gratis, open 
source, kinerja tinggi pada server HTTP 
Dan PROXY. Nginx dikenal dengan 
stabilitasnya, kaya akan fitur, konfigurasi 
yang sederhana, dan konsumsi sumber 
daya yang rendah. 
• http://id.wikipedia.org/wiki/Nginx 
• http://nginx.org/
• Tutorial ini menunjukkan 
bagaimana Anda dapat 
menginstal Nginx pada CentOS 
6.5 server dengan dukungan 
PHP5 (melalui PHP-FPM) dan 
dukungan MySQL.
1. Catatan Awal 
• Dalam tutorial ini saya menggunakan 
server1.example.com nama host 
dengan alamat IP 192.168.0.100. 
Pengaturan ini mungkin berbeda 
untuk Anda, sehingga Anda harus 
menggantinya jika sesuai.
2. Mengaktifkan Repositori Tambahan 
• php-fpm tidak tersedia pada repositori resmi CentOS, tetapi dari repositori 
RPM Remi yang berdiri sendiri dan juga tidak bergantung pada repositori 
EPEL, nah kita dapat mengaktifkan kedua repositori tsb dengan cara 
sebagai berikut: 
• Ketikan perintah di Terminal seperti di bawah ini 
rpm --import https://fedoraproject.org/static/0608B895.txt 
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi 
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
yum install yum-priorities
Setelah itu Edit Repistory epel dengan perintah seperti berikut; 
vi /etc/yum.repos.d/epel.repo 
ISI KAN SCRIPT SEPERTI DI BAWAH INI 
[epel] 
name=Extra Packages for Enterprise Linux 6 - $basearch 
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch 
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch 
failovermethod=priority 
enabled=1 
priority=10 
gpgcheck=1 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 
[...] 
Lakukan Hal yang sama pada repistory remi dengan perintah seperti berikut; 
vi /etc/yum.repos.d/remi.repo 
ISI KAN SCRIPT SEPERTI DI BAWAH INI 
[remi] 
name=Les RPM de remi pour Enterprise Linux $releasever - $basearch 
#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/ 
mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror enabled=1 
priority=10 
gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi failovermethod=priority
3. Installing MySQL 5 
• menginstal MySQL 5 
#yum install mysql mysql-server 
• Lalu kita membuat link startup sistem untuk MySQL (sehingga MySQL 
dijalankan secara otomatis setiap kali sistem boot) dan memulai server 
MySQL: 
#chkconfig --levels 235 mysqld on 
service mysqld start 
• Sekarang cek jaringan yang diaktifkan. Jalankan Mysql nya 
netstat -tap | grep mysql 
• Jika mysql nya berjalan atau sudah aktif, harusnya terlihat seperti di bawah 
ini; 
[root@server1 ~]# netstat -tap | grep mysql 
tcp 0 0 *:mysql *:* LISTEN 1279/mysqld 
• Setelah itu Jalankan Mysql 
[root@server1 ~]# mysql_secure_installation 
Setelah ini akan ada Permintaan masukan Password Baru. Jika anda tidak mau masukan 
Password alias root bisa Langsung Tekan ENTER
INSTALL NGINX 
• Install Nginx 
#yum install nginx 
• Setelah itu Lalu kita membuat link startup sistem untuk nginx dan 
memulainya: 
#chkconfig --levels 235 nginx on 
service nginx start 
• Ada kemungkinan bahwa Anda mendapatkan error seperti port 80 sudah 
digunakan, pesan kesalahan akan menjadi seperti ini 
[root@server1 ~]# service nginx start 
Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
nginx: [emerg] still could not bind() 
[FAILED]
• Kesalahan ini Terjadi karena Apache sudah mengisi port 80. nah untuk 
menghentikan Apache cara nya sbb: 
#apachectl stop 
#yum remove httpd 
#chkconfig --level 235 httpd off 
• Nah setelah Apache telah Di stop sekarang jalankan kembali Mysqlnya 
chkconfig --levels 235 nginx on 
service nginx start 
• Next Kita akan membuka Halaman Page NGINX di Browser Ketik alamat IP 
web server Anda atau nama host ke dalam browser (misalnya 
http://192.168.0.100), dan anda akan melihat halaman selamat datang 
nginx seperti gambar di bawah ini
INSTALL PHP5 
• Kita bisa membuat PHP5 di nginx melalui PHP-FPM (PHP-FPM (FastCGI Process 
Manager) merupakan implementasi PHP FastCGI alternatif dengan beberapa fitur 
tambahan yang berguna untuk situs dari berbagai ukuran, terutama situs sibuk). 
Kita dapat menginstal php-fpm bersama dengan php-cli dan beberapa modul PHP5 
seperti php-mysql yang Anda butuhkan jika Anda ingin menggunakan MySQL dari 
script PHP ketik periintah seperti dibawah ini: 
#yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc 
php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap 
php-tidy 
• APC adalah PHP opcode cacher gratis dan terbuka untuk caching dan 
mengoptimalkan kode menengah PHP. Hal ini mirip dengan tembolok PHP opcode 
lainnya, seperti eAccelerator dan XCache. Hal ini sangat dianjurkan untuk memiliki 
salah satu dari ini untuk dipasang agar mempercepat halaman PHP Anda. 
APC dapat diinstal dengan cara sebagai berikut : 
#yum install php-pecl-apc
• Kemudian ketik perintah berikut 
/etc/php.ini and set cgi.fix_pathinfo=0 
• Lalu Edit repistory nya : 
vi /etc/php.ini 
• Masukan Script Ini 
[...] 
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's 
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok 
; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting 
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting 
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts 
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. 
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo 
cgi.fix_pathinfo=0 
[...] 
(Silakan baca http://wiki.nginx.org/Pitfalls untuk mengetahui mengapa 
Anda harus melakukan ini.)
• Disarankan untuk mengunakan Zona waktu default pada nginx agar tidak 
terjadi masalah. Untuk Mengedit waktu default ikuti cara berikut. 
Ketik perintah berikut 
... in /var/log/php-fpm/www-error.log when you call a PHP script in your browser, you should set 
date.timezone in /etc/php.ini: 
Masukan Script Berikut ; 
[...] 
[Date] 
; Defines the default timezone used by the date functions 
;http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone 
="Europe/Berlin“ 
[...] 
• Untuk mengetahui zona waktu yang benar untuk sistem anda. 
root@server1 nginx]# cat /etc/sysconfig/clock 
ZONE="Europe/Berlin" 
[root@server1 nginx]# 
• Berikutnya membuat link startup sistem untuk php-fpm dan memulainya: 
chkconfig --levels 235 php-fpm on 
service php-fpm start 
• PHP-FPM adalah proses daemon (dengan /etc/init.d/php-fpm init script) 
yang menjalankan FastCGI server pada port 9000.
Configuring nginx 
• Konfigurasi nginx di /etc/nginx/nginx.conf yang kita buka sekarang 
vi /etc/nginx/nginx.conf 
Pertama Anda dapat meningkatkan jumlah proses kerja dan mengatur 
keepalive_timeout ke nilai wajar: 
[...] 
worker_processes 4; 
[...] 
keepalive_timeout 2; 
[...] 
• Virtual host didefinisikan dalam server {} kontainer di direktori 
/etc/nginx/conf.d. Mari kita memodifikasi vhost default (dalam 
/etc/nginx/conf.d/default.conf) sebagai berikut: 
vi /etc/nginx/conf.d/default.conf 
• Setting Konfigurasi nya seperti script Berikut ini ;
• [...] 
server { 
listen 80; 
server_name _; 
#charset koi8-r; 
#access_log logs/host.access.log main; 
location / { 
root /usr/share/nginx/html; 
index index.php index.html index.htm; 
} 
error_page 404 /404.html; 
location = /404.html { 
root /usr/share/nginx/html; 
} # redirect server error pages to the static page /50x.html 
# 
error_page 500 502 503 504 /50x.html; 
location = /50x.html { 
root /usr/share/nginx/html; 
} 
# proxy the PHP scripts to Apache listening on 127.0.0.1:80 
# 
#location ~ .php$ { 
# proxy_pass http://127.0.0.1; 
#} 
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
# 
location ~ .php$
root /usr/share/nginx/html; 
try_files $uri =404; 
fastcgi_pass 127.0.0.1:9000; 
fastcgi_index index.php; 
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
include fastcgi_params; 
} 
# deny access to .htaccess files, if Apache's document root 
# concurs with nginx's one 
# 
location ~ /.ht { 
deny all; 
} 
} 
Script di atas pada Line 3 (server_name _; ) Bisa pasang Host yang kita buat. 
• Sekarang simpan file dan isi ulang nginx : 
• Habis itu buat file PHP dalam dokumen Root 
vi /usr/share/nginx/html/info.php 
<?php 
phpinfo(); 
?>
• Sekarang kita Panggil file yang di browser misalnya; 
Http://192.168.0.100/info.php 
• Seperti yang Anda lihat, PHP5 bekerja, dan itu bekerja melalui FPM / FastCGI, 
seperti yang ditunjukkan pada garis Server API. Jika Anda menggulir ke 
bawah, Anda akan melihat semua modul yang sudah diaktifkan di PHP5, 
termasuk modul MySQL:
BUAT PHP-FPM Gunakan A Unix Socket 
• Secara default PHP-FPM mendengarkan pada port 9000 pada 127.0.0.1. 
Hal ini juga memungkinkan untuk membuat PHP-FPM menggunakan soket 
Unix yang menghindari overhead TCP. Untuk melakukannya, buka 
/etc/php-fpm.d/www.conf .. 
vi /etc/php-fpm.d/www.conf 
Buat Script seperti dibawah ini 
[...] 
;listen = 127.0.0.1:9000 
listen = /tmp/php5-fpm.sock 
[...] 
• Kemudian kembali Reload PHP-FPM: 
service php-fpm reload
• Selanjutnya konfigurasi nginx Anda dan semua vhosts Anda dan ubah baris 
fastcgi_pass 127.0.0.1:9000; untuk fastcgi_pass unix: /tmp/php5- 
fpm.sock;, 
seperti ini: 
[...] 
location ~ .php$ { 
root /usr/share/nginx/html; 
try_files $uri =404; 
fastcgi_pass unix:/tmp/php5-fpm.sock; 
fastcgi_index index.php; 
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
include fastcgi_params; 
} 
[...] 
• Tahap Akhir 
Reload kembali service Nginx 
service nginx reload
SUMBER 
• Page 1 
http://www.howtoforge.com/how-to-install-nginx- 
with-php5-and-php-fpm-and-mysql-on-centos- 
6.5 
Page 2 
http://www.howtoforge.com/how-to-install-nginx- 
with-php5-and-php-fpm-and-mysql-on-centos- 
6.5-p2

More Related Content

What's hot

Tugas ke 2 sistem operasi ii
Tugas ke 2 sistem operasi iiTugas ke 2 sistem operasi ii
Tugas ke 2 sistem operasi iiRisna Risna
 
Konfigurasi pc server dan pc route6r pada lks nasional xiii jakarta tahun 201...
Konfigurasi pc server dan pc route6r pada lks nasional xiii jakarta tahun 201...Konfigurasi pc server dan pc route6r pada lks nasional xiii jakarta tahun 201...
Konfigurasi pc server dan pc route6r pada lks nasional xiii jakarta tahun 201...slempase
 
Konfigurasi router debian 7
Konfigurasi router debian 7Konfigurasi router debian 7
Konfigurasi router debian 7sup4di
 
Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10
Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10
Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10manafhsb
 
Tutorial Instalasi TKJ CLoud Server
Tutorial Instalasi TKJ CLoud ServerTutorial Instalasi TKJ CLoud Server
Tutorial Instalasi TKJ CLoud ServerKurniawan Suganda
 
Rizki tugas produktif tkj
Rizki tugas produktif tkjRizki tugas produktif tkj
Rizki tugas produktif tkjrizkijunot
 
Cara install-server-centos
Cara install-server-centosCara install-server-centos
Cara install-server-centosReno Lee
 
Open vpn di ubuntu 13.04
Open vpn di ubuntu 13.04Open vpn di ubuntu 13.04
Open vpn di ubuntu 13.04Abas Djumadi
 
Langkah mudah memahami pembuatan dns server ubuntu 12.04
Langkah mudah memahami pembuatan dns server ubuntu 12.04Langkah mudah memahami pembuatan dns server ubuntu 12.04
Langkah mudah memahami pembuatan dns server ubuntu 12.04Riz Al-Atsary (Abu Uwais)
 

What's hot (19)

Konfigurasi debian
Konfigurasi debianKonfigurasi debian
Konfigurasi debian
 
Tugas ke 2 sistem operasi ii
Tugas ke 2 sistem operasi iiTugas ke 2 sistem operasi ii
Tugas ke 2 sistem operasi ii
 
Soal ujikom 2013
Soal ujikom 2013Soal ujikom 2013
Soal ujikom 2013
 
Konfigurasi pc server dan pc route6r pada lks nasional xiii jakarta tahun 201...
Konfigurasi pc server dan pc route6r pada lks nasional xiii jakarta tahun 201...Konfigurasi pc server dan pc route6r pada lks nasional xiii jakarta tahun 201...
Konfigurasi pc server dan pc route6r pada lks nasional xiii jakarta tahun 201...
 
Konfigurasi router debian 7
Konfigurasi router debian 7Konfigurasi router debian 7
Konfigurasi router debian 7
 
AT Rapier Usecase Document
AT Rapier Usecase DocumentAT Rapier Usecase Document
AT Rapier Usecase Document
 
Workshop & pelatihan
Workshop & pelatihanWorkshop & pelatihan
Workshop & pelatihan
 
Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10
Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10
Cara install apache, mysql, php, dan phpmyadmin pada freebsd 10
 
websecure.ppt
websecure.pptwebsecure.ppt
websecure.ppt
 
Building a Secure Web Application
Building a Secure Web ApplicationBuilding a Secure Web Application
Building a Secure Web Application
 
Tutorial Instalasi TKJ CLoud Server
Tutorial Instalasi TKJ CLoud ServerTutorial Instalasi TKJ CLoud Server
Tutorial Instalasi TKJ CLoud Server
 
Rizki tugas produktif tkj
Rizki tugas produktif tkjRizki tugas produktif tkj
Rizki tugas produktif tkj
 
SAMP (Solaris, Apache, MySQL, PHP)
SAMP (Solaris, Apache, MySQL, PHP)SAMP (Solaris, Apache, MySQL, PHP)
SAMP (Solaris, Apache, MySQL, PHP)
 
Open vpn project
Open vpn projectOpen vpn project
Open vpn project
 
Cara install-server-centos
Cara install-server-centosCara install-server-centos
Cara install-server-centos
 
Open vpn di ubuntu 13.04
Open vpn di ubuntu 13.04Open vpn di ubuntu 13.04
Open vpn di ubuntu 13.04
 
Mandriva
MandrivaMandriva
Mandriva
 
Langkah mudah memahami pembuatan dns server ubuntu 12.04
Langkah mudah memahami pembuatan dns server ubuntu 12.04Langkah mudah memahami pembuatan dns server ubuntu 12.04
Langkah mudah memahami pembuatan dns server ubuntu 12.04
 
FreeBSD Web Server
FreeBSD Web ServerFreeBSD Web Server
FreeBSD Web Server
 

Viewers also liked

Tutorial membuat user dan group pada linux
Tutorial membuat user dan group pada linuxTutorial membuat user dan group pada linux
Tutorial membuat user dan group pada linuxstephan EL'wiin Shaarawy
 
Pelajaran tentang puasa, tarawih dan zakat
Pelajaran tentang puasa, tarawih dan zakatPelajaran tentang puasa, tarawih dan zakat
Pelajaran tentang puasa, tarawih dan zakatstephan EL'wiin Shaarawy
 
Teknik trouble shooting komponen elektronika
Teknik trouble shooting komponen elektronikaTeknik trouble shooting komponen elektronika
Teknik trouble shooting komponen elektronikastephan EL'wiin Shaarawy
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyacontoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyastephan EL'wiin Shaarawy
 

Viewers also liked (18)

Erwin hafel komputasi
Erwin hafel komputasiErwin hafel komputasi
Erwin hafel komputasi
 
Tutorial membuat user dan group pada linux
Tutorial membuat user dan group pada linuxTutorial membuat user dan group pada linux
Tutorial membuat user dan group pada linux
 
matriks inverse dalam kriptografi
matriks inverse dalam kriptografimatriks inverse dalam kriptografi
matriks inverse dalam kriptografi
 
Pelajaran tentang puasa, tarawih dan zakat
Pelajaran tentang puasa, tarawih dan zakatPelajaran tentang puasa, tarawih dan zakat
Pelajaran tentang puasa, tarawih dan zakat
 
Erwin hafel kom
Erwin hafel kom Erwin hafel kom
Erwin hafel kom
 
Erwin hafel tugas2
Erwin hafel tugas2Erwin hafel tugas2
Erwin hafel tugas2
 
So 2 - Tentang LINUX pinguy OS
So 2 -  Tentang  LINUX pinguy OSSo 2 -  Tentang  LINUX pinguy OS
So 2 - Tentang LINUX pinguy OS
 
Mengenal komponen-Komponen elektronika
Mengenal komponen-Komponen elektronikaMengenal komponen-Komponen elektronika
Mengenal komponen-Komponen elektronika
 
Mengenal sistem Pada komputer
Mengenal sistem Pada komputer Mengenal sistem Pada komputer
Mengenal sistem Pada komputer
 
Teknik trouble shooting komponen elektronika
Teknik trouble shooting komponen elektronikaTeknik trouble shooting komponen elektronika
Teknik trouble shooting komponen elektronika
 
Makalah al islam
Makalah al islamMakalah al islam
Makalah al islam
 
ebook Java desktop application
ebook Java desktop applicationebook Java desktop application
ebook Java desktop application
 
Modul praktikum Bahasa assembly
Modul praktikum Bahasa assemblyModul praktikum Bahasa assembly
Modul praktikum Bahasa assembly
 
Kisah Nabi Isa. AS
Kisah Nabi Isa. ASKisah Nabi Isa. AS
Kisah Nabi Isa. AS
 
Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)
 
Modul Lengkap Microsoft visual Fox Pro
Modul Lengkap Microsoft visual Fox ProModul Lengkap Microsoft visual Fox Pro
Modul Lengkap Microsoft visual Fox Pro
 
contoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnyacontoh Program sederhana Java dan penjelasan programnya
contoh Program sederhana Java dan penjelasan programnya
 
Full Buku sakti belajar hacker
Full Buku sakti belajar hackerFull Buku sakti belajar hacker
Full Buku sakti belajar hacker
 

Similar to Nginx PHP MySQL

3.1 lab-instalasi dan konfigurasi webserver-mysql-php-phpmyadmin
3.1 lab-instalasi dan konfigurasi webserver-mysql-php-phpmyadmin3.1 lab-instalasi dan konfigurasi webserver-mysql-php-phpmyadmin
3.1 lab-instalasi dan konfigurasi webserver-mysql-php-phpmyadminwayan abyong
 
Cara Install Openbravo 2.50 MP 43 di Ubuntu
Cara Install Openbravo 2.50 MP 43 di UbuntuCara Install Openbravo 2.50 MP 43 di Ubuntu
Cara Install Openbravo 2.50 MP 43 di UbuntuWirabumi Software
 
Instalasi ssh server
Instalasi ssh serverInstalasi ssh server
Instalasi ssh serverOcto Ayomy
 
Cara intall aplikasi berbasis web di linux
Cara intall aplikasi berbasis web di linuxCara intall aplikasi berbasis web di linux
Cara intall aplikasi berbasis web di linuxPindoyono Patan
 
Belajar bikin vps dengan centos
Belajar bikin vps dengan centosBelajar bikin vps dengan centos
Belajar bikin vps dengan centosAinur Rochim
 
Implementasi otentikasi pada squid dalam mode transparent proxy
Implementasi otentikasi pada squid dalam mode transparent proxyImplementasi otentikasi pada squid dalam mode transparent proxy
Implementasi otentikasi pada squid dalam mode transparent proxyPanggih Supraja
 
Building Mail Server in FreeBSD
Building Mail Server in FreeBSDBuilding Mail Server in FreeBSD
Building Mail Server in FreeBSDHendrik Moch Yusro
 
Keamanan sistem informasi
Keamanan sistem informasiKeamanan sistem informasi
Keamanan sistem informasiwindi rohmaheny
 
Tutorial Membangun SNORT Integrasi Terhadap MySQL dan BASE
Tutorial Membangun SNORT Integrasi Terhadap MySQL dan BASETutorial Membangun SNORT Integrasi Terhadap MySQL dan BASE
Tutorial Membangun SNORT Integrasi Terhadap MySQL dan BASEThomas Gregory
 
Perkembangan web server
Perkembangan web server Perkembangan web server
Perkembangan web server fatek
 
web_server-side-scripting2.pdf
web_server-side-scripting2.pdfweb_server-side-scripting2.pdf
web_server-side-scripting2.pdfAhmadKhanifFikri
 
Configuring Nginx as Reverse Proxy and Load Balancing Web Application
Configuring Nginx as Reverse Proxy and Load Balancing Web ApplicationConfiguring Nginx as Reverse Proxy and Load Balancing Web Application
Configuring Nginx as Reverse Proxy and Load Balancing Web ApplicationJagoan Neon
 
Tutorial menginsatal konfigurasi linus debian server for lks
Tutorial menginsatal konfigurasi linus debian server for lksTutorial menginsatal konfigurasi linus debian server for lks
Tutorial menginsatal konfigurasi linus debian server for lksBellspyk Atow
 

Similar to Nginx PHP MySQL (20)

3.1 lab-instalasi dan konfigurasi webserver-mysql-php-phpmyadmin
3.1 lab-instalasi dan konfigurasi webserver-mysql-php-phpmyadmin3.1 lab-instalasi dan konfigurasi webserver-mysql-php-phpmyadmin
3.1 lab-instalasi dan konfigurasi webserver-mysql-php-phpmyadmin
 
Cara Install Openbravo 2.50 MP 43 di Ubuntu
Cara Install Openbravo 2.50 MP 43 di UbuntuCara Install Openbravo 2.50 MP 43 di Ubuntu
Cara Install Openbravo 2.50 MP 43 di Ubuntu
 
Nginx owncloud
Nginx owncloudNginx owncloud
Nginx owncloud
 
Instalasi ssh server
Instalasi ssh serverInstalasi ssh server
Instalasi ssh server
 
Cara intall aplikasi berbasis web di linux
Cara intall aplikasi berbasis web di linuxCara intall aplikasi berbasis web di linux
Cara intall aplikasi berbasis web di linux
 
Konfigurasi web server
Konfigurasi web serverKonfigurasi web server
Konfigurasi web server
 
Artikelserver
ArtikelserverArtikelserver
Artikelserver
 
websecure.ppt
websecure.pptwebsecure.ppt
websecure.ppt
 
websecure.ppt
websecure.pptwebsecure.ppt
websecure.ppt
 
Belajar bikin vps dengan centos
Belajar bikin vps dengan centosBelajar bikin vps dengan centos
Belajar bikin vps dengan centos
 
Implementasi otentikasi pada squid dalam mode transparent proxy
Implementasi otentikasi pada squid dalam mode transparent proxyImplementasi otentikasi pada squid dalam mode transparent proxy
Implementasi otentikasi pada squid dalam mode transparent proxy
 
FreeBSD web-based MUA
FreeBSD web-based MUAFreeBSD web-based MUA
FreeBSD web-based MUA
 
Building Mail Server in FreeBSD
Building Mail Server in FreeBSDBuilding Mail Server in FreeBSD
Building Mail Server in FreeBSD
 
Keamanan sistem informasi
Keamanan sistem informasiKeamanan sistem informasi
Keamanan sistem informasi
 
Tutorial Membangun SNORT Integrasi Terhadap MySQL dan BASE
Tutorial Membangun SNORT Integrasi Terhadap MySQL dan BASETutorial Membangun SNORT Integrasi Terhadap MySQL dan BASE
Tutorial Membangun SNORT Integrasi Terhadap MySQL dan BASE
 
Perkembangan web server
Perkembangan web server Perkembangan web server
Perkembangan web server
 
Makalah jarkom
Makalah jarkomMakalah jarkom
Makalah jarkom
 
web_server-side-scripting2.pdf
web_server-side-scripting2.pdfweb_server-side-scripting2.pdf
web_server-side-scripting2.pdf
 
Configuring Nginx as Reverse Proxy and Load Balancing Web Application
Configuring Nginx as Reverse Proxy and Load Balancing Web ApplicationConfiguring Nginx as Reverse Proxy and Load Balancing Web Application
Configuring Nginx as Reverse Proxy and Load Balancing Web Application
 
Tutorial menginsatal konfigurasi linus debian server for lks
Tutorial menginsatal konfigurasi linus debian server for lksTutorial menginsatal konfigurasi linus debian server for lks
Tutorial menginsatal konfigurasi linus debian server for lks
 

More from stephan EL'wiin Shaarawy

More from stephan EL'wiin Shaarawy (9)

Simulasi Dns Server di ubuntu server
Simulasi Dns Server di ubuntu serverSimulasi Dns Server di ubuntu server
Simulasi Dns Server di ubuntu server
 
Modul belajar tentang wireless
Modul belajar tentang wirelessModul belajar tentang wireless
Modul belajar tentang wireless
 
Netbeans gui tutorial
Netbeans gui tutorialNetbeans gui tutorial
Netbeans gui tutorial
 
Tutorial membuat form dalam netbeans
Tutorial membuat form dalam netbeansTutorial membuat form dalam netbeans
Tutorial membuat form dalam netbeans
 
Modul praktikum dasar dasar pemrograman java
Modul  praktikum dasar dasar pemrograman javaModul  praktikum dasar dasar pemrograman java
Modul praktikum dasar dasar pemrograman java
 
Materi pelatihan java fundamental
Materi pelatihan java fundamentalMateri pelatihan java fundamental
Materi pelatihan java fundamental
 
Tutorial connecting access netbeans
Tutorial connecting access netbeansTutorial connecting access netbeans
Tutorial connecting access netbeans
 
Modul praktikum pbo java swing
Modul praktikum pbo java swingModul praktikum pbo java swing
Modul praktikum pbo java swing
 
Sejarah Nabi Muhammad SAW hijrah ke yatsrib
Sejarah Nabi  Muhammad SAW hijrah ke yatsribSejarah Nabi  Muhammad SAW hijrah ke yatsrib
Sejarah Nabi Muhammad SAW hijrah ke yatsrib
 

Nginx PHP MySQL

  • 1. Bagaimana cara Install Nginx Dengan PHP5 Dan Dukungan MySQL Pada CentOS 6.5
  • 2. SISTEM OPERASI 2 Nama : Erwin A. Hi. Hafel Npm : 121055520111262 KOMPUTASi
  • 3. TENTANG NGINX • Nginx adalah Software gratis, open source, kinerja tinggi pada server HTTP Dan PROXY. Nginx dikenal dengan stabilitasnya, kaya akan fitur, konfigurasi yang sederhana, dan konsumsi sumber daya yang rendah. • http://id.wikipedia.org/wiki/Nginx • http://nginx.org/
  • 4. • Tutorial ini menunjukkan bagaimana Anda dapat menginstal Nginx pada CentOS 6.5 server dengan dukungan PHP5 (melalui PHP-FPM) dan dukungan MySQL.
  • 5. 1. Catatan Awal • Dalam tutorial ini saya menggunakan server1.example.com nama host dengan alamat IP 192.168.0.100. Pengaturan ini mungkin berbeda untuk Anda, sehingga Anda harus menggantinya jika sesuai.
  • 6. 2. Mengaktifkan Repositori Tambahan • php-fpm tidak tersedia pada repositori resmi CentOS, tetapi dari repositori RPM Remi yang berdiri sendiri dan juga tidak bergantung pada repositori EPEL, nah kita dapat mengaktifkan kedua repositori tsb dengan cara sebagai berikut: • Ketikan perintah di Terminal seperti di bawah ini rpm --import https://fedoraproject.org/static/0608B895.txt rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm yum install yum-priorities
  • 7. Setelah itu Edit Repistory epel dengan perintah seperti berikut; vi /etc/yum.repos.d/epel.repo ISI KAN SCRIPT SEPERTI DI BAWAH INI [epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] Lakukan Hal yang sama pada repistory remi dengan perintah seperti berikut; vi /etc/yum.repos.d/remi.repo ISI KAN SCRIPT SEPERTI DI BAWAH INI [remi] name=Les RPM de remi pour Enterprise Linux $releasever - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi failovermethod=priority
  • 8. 3. Installing MySQL 5 • menginstal MySQL 5 #yum install mysql mysql-server • Lalu kita membuat link startup sistem untuk MySQL (sehingga MySQL dijalankan secara otomatis setiap kali sistem boot) dan memulai server MySQL: #chkconfig --levels 235 mysqld on service mysqld start • Sekarang cek jaringan yang diaktifkan. Jalankan Mysql nya netstat -tap | grep mysql • Jika mysql nya berjalan atau sudah aktif, harusnya terlihat seperti di bawah ini; [root@server1 ~]# netstat -tap | grep mysql tcp 0 0 *:mysql *:* LISTEN 1279/mysqld • Setelah itu Jalankan Mysql [root@server1 ~]# mysql_secure_installation Setelah ini akan ada Permintaan masukan Password Baru. Jika anda tidak mau masukan Password alias root bisa Langsung Tekan ENTER
  • 9. INSTALL NGINX • Install Nginx #yum install nginx • Setelah itu Lalu kita membuat link startup sistem untuk nginx dan memulainya: #chkconfig --levels 235 nginx on service nginx start • Ada kemungkinan bahwa Anda mendapatkan error seperti port 80 sudah digunakan, pesan kesalahan akan menjadi seperti ini [root@server1 ~]# service nginx start Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] still could not bind() [FAILED]
  • 10. • Kesalahan ini Terjadi karena Apache sudah mengisi port 80. nah untuk menghentikan Apache cara nya sbb: #apachectl stop #yum remove httpd #chkconfig --level 235 httpd off • Nah setelah Apache telah Di stop sekarang jalankan kembali Mysqlnya chkconfig --levels 235 nginx on service nginx start • Next Kita akan membuka Halaman Page NGINX di Browser Ketik alamat IP web server Anda atau nama host ke dalam browser (misalnya http://192.168.0.100), dan anda akan melihat halaman selamat datang nginx seperti gambar di bawah ini
  • 11. INSTALL PHP5 • Kita bisa membuat PHP5 di nginx melalui PHP-FPM (PHP-FPM (FastCGI Process Manager) merupakan implementasi PHP FastCGI alternatif dengan beberapa fitur tambahan yang berguna untuk situs dari berbagai ukuran, terutama situs sibuk). Kita dapat menginstal php-fpm bersama dengan php-cli dan beberapa modul PHP5 seperti php-mysql yang Anda butuhkan jika Anda ingin menggunakan MySQL dari script PHP ketik periintah seperti dibawah ini: #yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy • APC adalah PHP opcode cacher gratis dan terbuka untuk caching dan mengoptimalkan kode menengah PHP. Hal ini mirip dengan tembolok PHP opcode lainnya, seperti eAccelerator dan XCache. Hal ini sangat dianjurkan untuk memiliki salah satu dari ini untuk dipasang agar mempercepat halaman PHP Anda. APC dapat diinstal dengan cara sebagai berikut : #yum install php-pecl-apc
  • 12. • Kemudian ketik perintah berikut /etc/php.ini and set cgi.fix_pathinfo=0 • Lalu Edit repistory nya : vi /etc/php.ini • Masukan Script Ini [...] ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=0 [...] (Silakan baca http://wiki.nginx.org/Pitfalls untuk mengetahui mengapa Anda harus melakukan ini.)
  • 13. • Disarankan untuk mengunakan Zona waktu default pada nginx agar tidak terjadi masalah. Untuk Mengedit waktu default ikuti cara berikut. Ketik perintah berikut ... in /var/log/php-fpm/www-error.log when you call a PHP script in your browser, you should set date.timezone in /etc/php.ini: Masukan Script Berikut ; [...] [Date] ; Defines the default timezone used by the date functions ;http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone date.timezone ="Europe/Berlin“ [...] • Untuk mengetahui zona waktu yang benar untuk sistem anda. root@server1 nginx]# cat /etc/sysconfig/clock ZONE="Europe/Berlin" [root@server1 nginx]# • Berikutnya membuat link startup sistem untuk php-fpm dan memulainya: chkconfig --levels 235 php-fpm on service php-fpm start • PHP-FPM adalah proses daemon (dengan /etc/init.d/php-fpm init script) yang menjalankan FastCGI server pada port 9000.
  • 14. Configuring nginx • Konfigurasi nginx di /etc/nginx/nginx.conf yang kita buka sekarang vi /etc/nginx/nginx.conf Pertama Anda dapat meningkatkan jumlah proses kerja dan mengatur keepalive_timeout ke nilai wajar: [...] worker_processes 4; [...] keepalive_timeout 2; [...] • Virtual host didefinisikan dalam server {} kontainer di direktori /etc/nginx/conf.d. Mari kita memodifikasi vhost default (dalam /etc/nginx/conf.d/default.conf) sebagai berikut: vi /etc/nginx/conf.d/default.conf • Setting Konfigurasi nya seperti script Berikut ini ;
  • 15. • [...] server { listen 80; server_name _; #charset koi8-r; #access_log logs/host.access.log main; location / { root /usr/share/nginx/html; index index.php index.html index.htm; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ .php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ .php$
  • 16. root /usr/share/nginx/html; try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /.ht { deny all; } } Script di atas pada Line 3 (server_name _; ) Bisa pasang Host yang kita buat. • Sekarang simpan file dan isi ulang nginx : • Habis itu buat file PHP dalam dokumen Root vi /usr/share/nginx/html/info.php <?php phpinfo(); ?>
  • 17. • Sekarang kita Panggil file yang di browser misalnya; Http://192.168.0.100/info.php • Seperti yang Anda lihat, PHP5 bekerja, dan itu bekerja melalui FPM / FastCGI, seperti yang ditunjukkan pada garis Server API. Jika Anda menggulir ke bawah, Anda akan melihat semua modul yang sudah diaktifkan di PHP5, termasuk modul MySQL:
  • 18. BUAT PHP-FPM Gunakan A Unix Socket • Secara default PHP-FPM mendengarkan pada port 9000 pada 127.0.0.1. Hal ini juga memungkinkan untuk membuat PHP-FPM menggunakan soket Unix yang menghindari overhead TCP. Untuk melakukannya, buka /etc/php-fpm.d/www.conf .. vi /etc/php-fpm.d/www.conf Buat Script seperti dibawah ini [...] ;listen = 127.0.0.1:9000 listen = /tmp/php5-fpm.sock [...] • Kemudian kembali Reload PHP-FPM: service php-fpm reload
  • 19. • Selanjutnya konfigurasi nginx Anda dan semua vhosts Anda dan ubah baris fastcgi_pass 127.0.0.1:9000; untuk fastcgi_pass unix: /tmp/php5- fpm.sock;, seperti ini: [...] location ~ .php$ { root /usr/share/nginx/html; try_files $uri =404; fastcgi_pass unix:/tmp/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } [...] • Tahap Akhir Reload kembali service Nginx service nginx reload
  • 20. SUMBER • Page 1 http://www.howtoforge.com/how-to-install-nginx- with-php5-and-php-fpm-and-mysql-on-centos- 6.5 Page 2 http://www.howtoforge.com/how-to-install-nginx- with-php5-and-php-fpm-and-mysql-on-centos- 6.5-p2