Instalasi Webserver menggunakan PHP5-FPM Dengan Apache2 Pada Ubuntu 12,04 LTS

Ubuntu terbaru sudah kembali rilis, ubuntu versi 12.04. Dan bagi anda yang ingin mencoba menginstallnya, ada dapat menyimak artikel ini.

Tutorial ini menunjukkan bagaimana Anda dapat memasang webserver Apache2 di server Ubuntu LTS 12,04 dengan PHP5 (melalui PHP-FPM) dan dukungan MySQL. PHP-FPM (FastCGI Process Manager) adalah sebuah PHP FastCGI alternatif implementasi dengan beberapa fitur tambahan berguna untuk situs dari berbagai ukuran, terutama situs sibuk.

1 Pendahuluan

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.

Aku sedang menjalankan semua langkah dalam tutorial ini dengan hak akses root, jadi pastikan Anda login sebagai root:

sudo su

2 Instalasi MySQL 5

Pertama kita menginstal MySQL 5 seperti ini:

apt-get install mysql-server mysql-client

Anda akan diminta untuk memberikan password untuk user root MySQL – password ini berlaku untuk root user @ localhost serta [email protected], jadi kita tidak perlu menentukan password root MySQL secara manual di kemudian hari :

New password untuk user “root” MySQL: <- password rootsql
Ulangi password untuk user “root” MySQL: <- password rootsql

3 Instalasi Apache2

Apache2 tersedia sebagai paket Ubuntu. Kita membutuhkan paket apache2-mpm-worker yang kita dapat menginstalnya seperti ini:

apt-get install apache2-mpm-worker

Sekarang mengarahkan browser Anda untuk http://192.168.0.100, atau http://localhost/ dan anda akan melihat halaman place holder Apache2 (It works!):

Standar dokumen root Apache adalah / var / www di Ubuntu, dan file konfigurasi / etc/apache2/apache2.conf. Konfigurasi tambahan disimpan dalam subdirektori dari direktori / etc/apache2 seperti / etc/apache2/mods-enabled (untuk modul Apache), / etc/apache2/sites-enabled (untuk virtual host), dan / etc/apache2/conf d.

4 Instalasi PHP5

Kita bisa membuat PHP5 bekerja di Apache2 melalui PHP-FPM dan modul mod_fastcgi Apache yang kita install sebagai berikut:

apt-get install libapache2-mod-fastcgi php5-fpm php5

PHP-FPM adalah proses daemon (dengan skrip init / etc/init.d/php5-fpm) yang berjalan FastCGI server pada port 9000.

Berikutnya mengaktifkan Apache modul berikut.

a2enmod actions fastcgi alias

Kemudian, restart webserver apache nya:

/etc/init.d/apache2 restart

5  Konfigurasi Apache

Untuk membuat Apache bekerja dengan PHP-FPM, kita perlu konfigurasi sebagai berikut:

        <IfModule mod_fastcgi.c>
                AddHandler php5-fcgi .php
                Action php5-fcgi /php5-fcgi
                Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
                FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
        </IfModule>
(Untuk mempelajari lebih lanjut tentang direktif FastCgiExternalServer, kita lihat FastCgiExternalServer # http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html.)

Anda bisa menempatkannya dalam konfigurasi Apache global (sehingga itu diaktifkan untuk semua vhosts), misalnya di / etc/apache2/conf.d/php5-fpm.conf (file ini tidak ada, sehingga Anda harus menciptakannya), atau Anda dapat menempatkannya di setiap vhost yang harus menggunakan PHP-FPM. Saya ingin menggunakan PHP-FPM dengan vhost default sehingga saya membuka vhost konfigurasi file / etc/apache2/sites-available/default

vi /etc/apache2/sites-available/default

… dan menempatkan bagian berikut di suatu tempat antara <VirtualHost> </ VirtualHost>:

[...]
        <IfModule mod_fastcgi.c>
                AddHandler php5-fcgi .php
                Action php5-fcgi /php5-fcgi
                Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
                FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
        </IfModule>
[...]

Restart lagi webserver apachenya:

/etc/init.d/apache2 restart

Sekarang membuat file PHP berikut di root dokumen / var / www:

vi /var/www/info.php

<?php
phpinfo();
?>

Sekarang kita sebut file tersebut dalam browser (misalnya http://192.168.0.100/info.php):

Seperti yang Anda lihat, PHP5 bekerja, dan itu bekerja melalui FPM / FastCGI, seperti terlihat pada garis API Server. Jika Anda menggulir ke bawah, Anda akan melihat semua modul yang telah diaktifkan di PHP5. MySQL tidak terdaftar di sana yang berarti kita tidak memiliki dukungan MySQL di PHP5 belum.

6 Mendapatkan MySQL Dukungan Pada PHP5

Untuk mendapatkan dukungan MySQL di PHP, kita dapat menginstal paket php5-mysql. Ini adalah ide yang baik untuk menginstal beberapa modul PHP5 lain sebaik Anda mungkin membutuhkannya untuk aplikasi Anda. Anda dapat mencari PHP5 tersedia modul seperti ini:

apt-cache search php5

Pilih yang Anda butuhkan dan menginstalnya seperti ini:

apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Sekarang ulang PHP-FPM:

/etc/init.d/php5-fpm reload

Sekarang kembali http://192.168.0.100/info.php pada browser Anda dan gulir ke bawah ke bagian modul lagi. Anda sekarang harus menemukan banyak modul baru di sana, termasuk modul MySQL:

7 phpMyAdmin

phpMyAdmin adalah antarmuka web di mana Anda dapat mengelola database MySQL. Ini adalah ide yang baik untuk menginstalnya:

apt-get install phpmyadmin

Anda akan melihat pertanyaan-pertanyaan berikut:

Web server to reconfigure automatically: <– apache2
Configure database for phpmyadmin with dbconfig-common? <– No

Setelah itu, Anda dapat mengakses phpMyAdmin di bawah http://192.168.0.100/phpmyadmin/:

8 Membuat PHP-FPM Gunakan A Socket Unix

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/php5/fpm/pool.d/www.conf ..

vi /etc/php5/fpm/pool.d/www.conf
… dan membuat the listen line sebagai berikut:
[...]
;listen = 127.0.0.1:9000
listen = /tmp/php5-fpm.sock
[...]

Lalu ulang PHP-FPM:

/etc/init.d/php5-fpm reload

Selanjutnya pergi melalui konfigurasi Apache Anda dan semua vhosts Anda dan mengubah lineFastCgiExternalServer / usr/lib/cgi-bin/php5-fcgi-host 127.0.0.1:9000-pass-header Otorisasi untuk FastCgiExternalServer / usr/lib/cgi-bin/php5 -FCGI-socket / tmp/php5-fpm.sock-pass-header Otorisasi, misalnya seperti ini:

vi / etc/apache2/sites-available/default

[...]
        <IfModule mod_fastcgi.c>
                AddHandler php5-fcgi .php
                Action php5-fcgi /php5-fcgi
                Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
                FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization
        </IfModule>
[...]
Akhirnya nyalakan kembali Apache:

/etc/init.d/apache2 reload

Selesai. mudah-mudahan artikel ini berguna bagi anda semua. Selamat belajar