GNU/Linux >> Belajar Linux >  >> Ubuntu

Menginstal Lighttpd dengan PHP (mode PHP-FPM) dan MySQL atau MariaDB di Ubuntu 15.04

Lighttpd adalah server web yang aman, cepat, dan sesuai standar yang dirancang untuk lingkungan yang kritis terhadap kecepatan. Tutorial ini menunjukkan bagaimana Anda dapat menginstal Lighttpd di server Ubuntu 15.04 dengan dukungan PHP (melalui PHP-FPM) dan MySQL. PHP-FPM (FastCGI Process Manager) adalah implementasi PHP FastCGI alternatif dengan beberapa fitur tambahan yang berguna untuk situs dari berbagai ukuran, terutama situs yang lebih sibuk. Saya menggunakan PHP-FPM dalam tutorial ini daripada spawn-fcgi Lighttpd.

1 Catatan Awal

Dalam tutorial ini saya menggunakan hostname server1.example.com dengan alamat IP 192.168.1.100. Setelan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu.

Saya menjalankan semua langkah dalam tutorial ini dengan hak akses root, jadi pastikan Anda masuk sebagai root:

sudo su

2 Menginstal MySQL / MariaDB

Ubuntu menyediakan paket untuk server database MySQL Origina (MySQL 5.6) dan fork MySQL MariaDB (10). Sebagian besar pengguna akan menggunakan MariaDB hari ini karena akan sedikit lebih cepat daripada MySQL dan perkembangannya berjalan lebih cepat. Saya membiarkan keputusan apa yang harus diinstal kepada Anda di sini dan akan menjelaskan kedua opsi. Ikuti petunjuk di 2.1 atau 2.2 tetapi tidak keduanya.

2.1 Instalasi MySQL

Instal MySQL seperti ini:

apt-get -y install mysql-server-5.6 mysql-client-5.6

Anda akan diminta untuk memberikan kata sandi untuk pengguna root MySQL - kata sandi ini berlaku untuk pengguna [dilindungi email] serta [dilindungi email], jadi kami tidak perlu menentukan kata sandi root MySQL secara manual nanti:

Kata sandi baru untuk pengguna "root" MySQL:<-- yourrootsqlpassword
Ulangi kata sandi untuk pengguna "root" MySQL:<-- yourrootsqlpassword

2.2 Instalasi MariaDB

Instal MariaDB seperti ini:

apt-get -y install mariadb-server mariadb-client

Sekarang kita menetapkan kata sandi root untuk MariaDB.

mysql_secure_installation

Anda akan ditanyai pertanyaan berikut:

Enter current password for root (enter for none): <-- press enter
Set root password? [Y/n] <-- y
New password: <-- Enter the new MariaDB root password here
Re-enter new password: <-- Repeat the password
Remove anonymous users? [Y/n] <-- y
Disallow root login remotely? [Y/n] <-- y
Reload privilege tables now? [Y/n] <-- y

3 Memasang Lighttpd

Lighttpd tersedia sebagai paket Ubuntu, oleh karena itu kita dapat menginstalnya seperti ini:

apt-get -y install lighttpd

Sekarang arahkan browser Anda ke http://192.168.1.100/index.lighttpd.html, dan Anda akan melihat halaman placeholder Lighttpd:

Akar dokumen default Lighttpd adalah /var/www/html di Ubuntu, dan file konfigurasinya adalah /etc/lighttpd/lighttpd.conf. Konfigurasi tambahan disimpan dalam file di direktori /etc/lighttpd/conf-available - konfigurasi ini dapat diaktifkan dengan perintah lighttpd-enable-mod yang membuat symlink dari direktori /etc/lighttpd/conf-enabled ke konfigurasi yang sesuai file di /etc/lightpd/conf-available. Anda dapat menonaktifkan konfigurasi dengan perintah lighttpd-disable-mod.

4 Menginstal PHP 5

Kita bisa membuat PHP5 bekerja di Lighttpd melalui PHP-FPM yang kita install seperti ini:

apt-get -y install php5-fpm php5

PHP-FPM adalah proses daemon (dengan skrip init /etc/init.d/php5-fpm) yang menjalankan server FastCGI pada soket /var/run/php5-fpm.sock.

5 Konfigurasi Lighttpd dan PHP 5

Untuk mengaktifkan PHP5 di Lighttpd, kita harus memodifikasi /etc/php5/fpm/php.ini dan menghapus komentar pada baris cgi.fix_pathinfo=1:

nano /etc/php5/fpm/php.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://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]

File konfigurasi Lighttpd untuk PHP /etc/lighttpd/conf-available/15-fastcgi-php.conf cocok untuk digunakan dengan spawn-fcgi, namun kami ingin menggunakan PHP-FPM, oleh karena itu kami membuat cadangan file ( bernama 15-fastcgi-php-spawnfcgi.conf) dan memodifikasi 15-fastcgi-php.conf sebagai berikut:

cd /etc/lighttpd/conf-available/
cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf
nano 15-fastcgi-php.conf
# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi

## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server += ( ".php" =>
        ((
                "socket" => "/var/run/php5-fpm.sock",
                "broken-scriptfilename" => "enable"
        ))
)

Untuk mengaktifkan konfigurasi fastcgi, jalankan perintah berikut:

lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-php

Ini membuat symlink /etc/lighttpd/conf-enabled/10-fastcgi.conf yang menunjuk ke /etc/lighttpd/conf-available/10-fastcgi.conf dan /etc/lighttpd/conf-enabled/15-fastcgi-php .conf yang menunjuk ke /etc/lighttpd/conf-available/15-fastcgi-php.conf:

ls -l /etc/lighttpd/conf-enabled
[email protected]:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 33 Sep 29 18:28 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Sep 29 18:28 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf

Kemudian kita reload Lighttpd:

service lighttpd force-reload

6 Menguji PHP5 / Mendapatkan Detail Tentang Instalasi PHP5 Anda

Akar dokumen dari situs web default adalah /var/www/html. Sekarang kita akan membuat file PHP kecil (info.php) di direktori itu dan memanggilnya di browser. File akan menampilkan banyak detail berguna tentang instalasi PHP kami, seperti versi PHP yang diinstal.

nano /var/www/html/info.php
<?php
phpinfo();
?>

Sekarang kita memanggil file itu di browser (mis. http://192.168.1.100/info.php):

Seperti yang Anda lihat, PHP 5.6 bekerja, dan bekerja melalui FPM/FastCGI, seperti yang ditunjukkan pada baris Server API. Jika Anda menggulir lebih jauh ke bawah, Anda akan melihat semua modul yang sudah diaktifkan di PHP5. MySQL tidak terdaftar di sana yang berarti kami belum memiliki dukungan MySQL di PHP.

7 Mendapatkan Dukungan MySQL Di PHP5

Untuk mendapatkan dukungan MySQL di PHP, kita dapat menginstal paket php5-mysqlnd. Ini lebih disukai daripada php5-mysql paket karena berisi dribver MySQL yang lebih baru yang mendukung MySQL serta MariaDB. Ini adalah ide yang baik untuk menginstal beberapa modul PHP5 lainnya serta Anda mungkin membutuhkannya untuk aplikasi Anda. Anda dapat mencari modul PHP5 yang tersedia seperti ini:

apt-cache search php5

Pilih yang Anda butuhkan dan instal seperti ini:

apt-get -y install php5-mysqlnd 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

Xcache adalah cacher opcode PHP gratis dan terbuka untuk menyimpan dan mengoptimalkan kode perantara PHP. Ini mirip dengan cacher opcode PHP lainnya, seperti eAccelerator dan APC. Sangat disarankan untuk menginstal salah satu dari ini untuk mempercepat halaman PHP Anda.

Xcache dapat diinstal sebagai berikut:

apt-get -y install php5-xcache

Sekarang muat ulang PHP-FPM:

service php5-fpm reload

Sekarang muat ulang http://192.168.1.100/info.php di browser Anda dan gulir ke bawah ke bagian modul lagi. Anda sekarang akan menemukan banyak modul baru di sana, termasuk modul MySQL:

8 phpMyAdmin

phpMyAdmin adalah antarmuka web di mana Anda dapat mengelola database MySQL Anda. Sebaiknya Anda menginstalnya:

apt-get -y install phpmyadmin

Anda akan melihat pertanyaan berikut:

Server web untuk mengkonfigurasi ulang secara otomatis:<-- lighttpd
Konfigurasi database untuk phpmyadmin dengan dbconfig-common? <-- ya

Password of the database's administrative user: <-- Enter the MySQL/MariaDB root password
MySQL application password for phpmyadmin: <-- Press ENTER

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

9 Membuat PHP-FPM Menggunakan Koneksi TCP (opsional)

Secara default PHP-FPM mendengarkan pada soket /var/run/php5-fpm.sock. Dimungkinkan juga untuk membuat PHP-FPM menggunakan koneksi TCP. Untuk melakukannya, buka /etc/php5/fpm/pool.d/www.conf...

nano /etc/php5/fpm/pool.d/www.conf

... dan buat garis dengar terlihat sebagai berikut:

[...]
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000
[...]

Ini akan membuat PHP-FPM mendengarkan pada port 9000 pada IP 127.0.0.1 (localhost). Pastikan Anda menggunakan port yang tidak digunakan di sistem Anda.

Kemudian muat ulang PHP-FPM:

service php5-fpm reload

Selanjutnya buka file konfigurasi PHP Lighttpd /etc/lighttpd/conf-available/15-fastcgi-php.conf dan ganti baris socket dengan baris host dan port:

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi

## Start an FastCGI server for php (needs the php5-cgi package)
fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)

Akhirnya muat ulang Lighttpd:

service lighttpd force-reload

  • Lighthttpd:http://www.lighttpd.net/
  • PHP:http://www.php.net/
  • PHP-FPM:http://php-fpm.org/
  • MySQL:http://www.mysql.com/
  • Ubuntu:http://www.ubuntu.com/
  • phpMyAdmin:http://www.phpmyadmin.net/

Ubuntu
  1. Menginstal Nginx Dengan PHP5 (Dan PHP-FPM) Dan Dukungan MySQL (LEMP) Di Ubuntu 14.04 LTS

  2. Cara Instal Lighttpd Dengan PHP5 Dan MySQL Di Ubuntu 11.04

  3. Menginstal LLMP (Lighttpd, PHP, dan MySQL) di Ubuntu 14.10

  1. Menginstal Lighttpd Dengan PHP5 (PHP-FPM) Dan Dukungan MySQL Di Ubuntu 14.04LTS

  2. Menginstal Nginx dengan PHP dan MariaDB (sebagai pengganti MySQL) - LEMP -di Ubuntu 15.10 (Wiley Werewolf)

  3. Cara Menginstal Lighttpd dengan PHP-FPM 7 dan MySQL 5.7 di Ubuntu 18.04 LTS

  1. Cara Menginstal Lighttpd dengan PHP-FPM dan MySQL di Ubuntu 20.04 LTS

  2. Menginstal Lighttpd Dengan PHP5 Dan Dukungan MySQL Di Ubuntu 10.04

  3. Menginstal Lighttpd Dengan PHP5 (PHP-FPM) Dan Dukungan MySQL Di Ubuntu 12.04