ติดตั้ง Nginx + MySQL + PHP5 ใน Ubuntu Linux

October 1, 2013 12:40 pm Linux

พอดีตัวเองกำลังติดตั้ง Server ใหม่ที่จะเอาไว้ใช้งานจริง แล้วต้องการเก็บรายละเอียดเอาไว้ (กันลืม) เอา มาเริ่มกันเลยดีกว่า

อัพเดต APT ของ Ubuntu ก่อนเพื่อรับ Software เวอร์ชันล่าสุด

apt-get update

หลังจากนั้นก็ทำการติดตั้ง MySQL Server และ Setup ค่าเริ่มต้น

คำสั่งที่ใช้ในการติดตั้ง

apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

หลังจากนั้นก็จะทำการตั้งค่าด้วยคำสั่ง

mysql_install_db

หลังจากนั้นก็จะดำเนิินการเปิดตัวสิ้นสุดการติดตั้งของ MySQL ขึ้นมาด้วยคำสั่ง

/usr/bin/mysql_secure_installation

ติดตั้ง nginx Web Server

ติดตั้งด้วยคำสั่ง

apt-get install nginx

หลังจากติดตั้งแล้ว ก็สั่งหใ้มันเริ่มทำงานด้วยคำสั่ง

service nginx start

ติดตั้ง PHP

ติดตั้งด้วยคำสั่ง

apt-get install php5-fpm

ตั้งค่า PHP ให้สามารถทำงานกับ nginx ได้
เปิดไฟล์การตั้งค่า PHP ขึ้นมาแก้ไขด้วย nano

nano /etc/php5/fpm/php.ini

แก้ไขบรรทัดที่ขึ้นว่า cgi.fix_pathinfo=1 ให้แก้เป็น cgi.fix_pathinfo=0

cgi.fix_pathinfo=1

แล้วทำการบันทึกแล้วออก
ต่อไปให้เปิดไฟล์การตั้งค่า php5-fpm ขึ้นมาแก้ไข ด้วย nano

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

ค้นหาคำว่า listen = 127.0.0.1:9000 เราจะทำการแก้ไขให้เป็นการรอเชื่อมต่อผ่าน Socket แทน ให้ทำการแก้เป็น /var/run/php5-fpm.sock

/var/run/php5-fpm.sock

แล้วทำการบันทึกแล้วออก

ตั้งค่า nginx ให้สามารถรองรับ Code PHP ได้

ทำการแก้ไขไฟล์การตั้งค่าของ nginx ด้วย nano

nano /etc/nginx/sites-available/default

หลังจากนั้นให้ทำการแก้ไขข้อความ ตามด้านล่าง

 ...
server {
        listen   80;

        root /usr/share/nginx/www;
        index index.php index.html index.htm;

        server_name example.com;

        location / {
                try_files $uri $uri/ /index.html;
        }

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/www;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;

        }

}
...

หลังจากนั้นบันทึกแล้วออก

ทดสอบการทำงานของ PHP บน nginx

หลังจากนี้เราก็จะมาทดสอบกันว่า PHP สามารถทำงานบน nginx ได้แล้วหรือยัง ด้วยการสร้างไฟล์ index.php ขึ้นมา แล้วเขียนโค๊ดว่า

<?php phpinfo(); ?>

แล้วบันทึกไว้ที่ /usr/share/nginx/www/ บันทึกว่า index.php
หลังจากนั้นก็เปิดเว็บโดยใส่ที่อยู่ว่า

 http://[ip-server]/

ถ้าขึ้น php infomation ขึ้นมา แสดงว่าการติดตั้งเสร็จสมบูรณ์แล้วครับ