Mình đã có một bài cách cài LAMP trên Ubuntu cách đây không lâu, và đã có hướng dẫn cho LAMP thì dĩ nhiên cũng nên bổ sung cách cài đặt LEMP trên Ubuntu để cho nó đầy đủ. Về việc cài LEMP trên Ubuntu bạn sẽ thấy nó nhanh và đơn giản hơn là cài LEMP trên CentOS vì chúng ta không cần phải nạp thêm repo vì gói cài đặt ứng dụng có sẵn của Ubuntu đã có sẵn NGINX.
Bạn có thể sử dụng Ubuntu 12.04 hoặc Ubuntu 14.04 nhưng tất cả đều nên chưa cài đặt cái gì để tránh xảy ra các xung đột nhé.
Tham khảo:
- Học VPS căn bản trên CentOS
- Các nhà cung cấp VPS tốt nhất
- Cách cài LAMP trên Ubuntu
- Cấu hình NGINX cho WordPress (nên đọc nếu bạn dùng WordPress)
Cập nhật package
Trước khi cài chúng ta nên cập nhật gói ứng dụng có sẵn của Ubuntu lên phiên bản mới nhất nhé.
apt-get update
I. Cài đặt NGINX
Để cài đặt NGINX trên Ubuntu, bạn hãy gõ lệnh sau:
apt-get install nginx
Sau khi cài xong, hãy truy cập vào IP của bạn là sẽ thấy giao diện Welcome của NGINX.
I.1) Thêm domain vào NGINX
Như bao cách thêm domain khác, chúng ta cần phải tạo ra một thư mục dành cho domain cần thêm vào.
mkdir -p /home/thachpham.com/public_html
mkdir -p /home/thachpham.com/log
Tạo luôn 1 file tên index.html và đặt vào thư mục public_html vừa tạo với nội dung kiểu thế này để tí nữa dễ kiểm tra:
<h1>Them Domain Thanh Cong!
Tiếp theo là hãy copy file /etc/nginx/sites-available/default thành một file cấu hình cho domain muốn thêm vào với tên là /etc/nginx/sites-available/thachpham.com.
cp /etc/nginx/sites-available/default /etc/nginx/sites-available/thachpham.com
Sau đó mở file thachpham.com ra, ở phần listen 80 hãy tìm:
server_name localhost;
Sửa localhost thành domain của bạn như thế này:
server_name www.thachpham.com thachpham.com;
Tìm tiếp:
root /usr/share/nginx/html;
Sửa thành đường dẫn tới thư mục public_html đã tạo ở trên:
root /home/thachpham.com/public_html;
Tìm:
listen 80 default_server;
Xóa chữ default_server đi cho thành listen 80;
.
Tìm và xóa đoạn này:
listen :80 default_server ipv6only=on;
Và thêm đoạn sau vào bên dưới đoạn server_name để nó lưu log thành một file riêng cho dễ debug sau này:
error_log /home/thachpham.com/log/error.log error;
Sau đây là nội dung file cấu hình của mình (đã bỏ bớt một số phần bị comment dấu # cho gọn, bạn có thể copy và sửa lại các thông tin cần thiết):
server {
listen 80;root /home/thachpham.com/public_html;
index index.html index.htm;# Make site accessible from http://localhost/
server_name www.thachpham.com thachpham.com;location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}#error_page 404 /404.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;
#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
#}
}
Lưu lại, sau đó chạy lệnh sau để tạo một symlink cho file này bên thư mục /etc/nginx/sites-enabled:
ln -s /etc/nginx/sites-available/thachpham.com /etc/nginx/sites-enabled/thachpham.com
Ok, khởi động lại NGINX:
service nginx restart
Bây giờ hãy truy cập vào domain bạn vừa thêm sẽ thấy nội dung file index.html mà ta đã tạo ở trên.
Nếu bạn thích, bạn cũng có thể tối ưu NGINX như bài này.
II. Cài đặt PHP5-FPM
Để cài PHP5-FPM trên Ubuntu và các module cần thiết trên Ubuntu thì sử dụng lệnh sau:
apt-get install php5-fpm
Cài xong, hãy mở lại file cấu hình domain bạn vừa thêm vào NGINX, tìm đoạn:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
#}
Thay toàn bộ thành
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
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;
}
Tìm tiếp:
index index.html index.htm;
Sửa thành
index index.php index.html index.htm;
Kế tiếp là mở file /etc/php5/fpm/php.ini ra và tìm:
;cgi.fix_pathinfo=1
Xóa dấu ; và thay giá trị 1 thành 0.
cgi.fix_pathinfo=0
Tiếp tục mở file /etc/php5/fpm/pool.d/www.conf và tìm:
listen = /var/run/php5-fpm.sock
Thay thành
listen = 127.0.0.1:9000
Và tìm đoạn listen.allowed_clients = 127.0.0.1
rồi xóa dấu ; đằng trước đi.
Và khởi động lại NGINX và PHP5-FPM.
service nginx restart
service php5-fpm restart
Bây giờ hãy tạo một file info.php với nội dung sau và đặt nó vào thư mục public_html của domain vừa thêm vào:
<?php phpinfo(); ?>
Chạy file đó nếu nó ra thông tin PHP là thành công.
III. Cài đặt MySQL Server
Cách cài đặt MySQL Server trên Ubuntu thì khá đơn giản, hãy chạy lệnh dưới đây rồi cài như bài hướng dẫn LAMP trên Ubuntu là được.
apt-get install php5-mysql mysql-server
Nhớ khởi động lại PHP5-FPM nữa nhé.
III.1) Cài đặt phpMyAdmin
Cách cài đặt phpMyAdmin trên Ubuntu bạn cũng làm y hệt như ở bài cài LAMP cho Ubuntu. Nhưng nhớ bật mod mcrypt lên.
apt-get install php5-mcrypt
php5enmod mcrypt
Khởi động lại PHP5-FPM:
service php5-fpm restart
Và sau đó tạo một symlink cho phpMyAdmin trong thư mục public_html của domain cần sử dụng phpMyAdmin:
cd /home/thachpham.com/public_html
ln -s /usr/share/phpmyadmin
Bây giờ bạn có thể truy cập với đường dẫn http://domain/phpmyadmin, nếu muốn sửa /phpmyadmin thành cái tên khác thì cứ đổi cái file symlink trong thư mục public_html là được.
Phân quyền thư mục & file
Hãy nhớ rằng sau này nếu cài website vào để chạy thì các file và thư mục đó phải được gắn quyền sở hữu của user www-data để PHP có thể làm việc tốt.
chown -R www-data:www-data /home/thachpham.com
Lời kết
Vậy là bạn đã cài được một webserver sử dụng NGINX và PHP5-FPM trên Ubuntu rồi và đã có thể chạy tốt một website sử dụng PHP & MySQL trên máy chủ của mình. Nếu có gì gặp lỗi trong lúc làm theo bài này thì hãy comment nhé.