PHP7 đang được nhiều người mong ngóng từng ngày cho tới khi phiên bản chính thức được tung ra. Cho đến thời điểm này PHP7 vẫn chưa chính thức ra mắt nhưng với các developer đang nóng lòng muốn thử nghiệm sức mạnh của nó thì chúng ta vẫn có thể trải nghiệm thử PHP7 ngay lúc này. Trong bài viết này, tôi tổng hợp một số nguồn tin để tạo thành các bước hướng dẫn các bạn cài đặt một LEPP stack (Linux, Nginx, Postgresql, PHP) với PHP7 trên môi trường hệ điều hành Ubuntu (và các phiên bản bắt nguồn từ Ubuntu như Lubuntu, Xubuntu, ...).
Còn nhiều tip tricks - kinh nghiệm được hướng dẫn chi tiết trong video khóa học "PHP 7 cơ bản qua ví dụ"
Bước 1: Cài đặt Postgresql
Tải bộ cài postgresql tại đây, chạy file cài đặt có giao diện, cài đặt Postgresql vào thư mục /usr/local/pgsql
Bước 2: Cài đặt PHP7
Chuẩn bị: chạy lệnh sau và cài đặt các gói cần thiết
$ sudo apt-get update && apt-get install -y \
build-essential \
libcurl4-openssl-dev \
libmcrypt-dev \
libxml2-dev \
libjpeg-dev \
libfreetype6-dev \
libmysqlclient-dev \
libt1-dev \
libgmp-dev \
libpspell-dev \
libicu-dev \
librecode-devTải source PHP7 bản mới nhất (file có định dạng *.tar.gz) tại địa chỉ: https://downloads.php.net/~ab/ (ở thời điểm viết bài là bản PHP7 RC5)
Giải nén source php 7 ra, trên terminal cd vào thư mục source php 7 rồi chạy các lệnh sau
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-config-file-scan-dir=/usr/local/php7/etc/conf.d --enable-mbstring --enable-fpm --with-pdo-pgsql
make
sudo make installTại thư mục source php, chạy lệnh sau
sudo cp php.ini-development /usr/local/lib/php.iniBước 3: Cấu hình PHP-FPM
Tạo file php-fpm.conf với đường dẫn /usr/local/php7/etc/php-fpm.conf có nội dung như sau:
[global]
pid = /run/php7-fpm.pid
error_log = /var/log/php7-fpm.log
[www]
user = www-data
group = www-data
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 10
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 6Nếu bạn có cài đặt các phiên bản PHP trước 7, hãy đảm bảo thông số listen có cổng không trùng với php-fpm của phiên bản trước.
Tạo System V init script với đường dẫn /etc/init.d/php7-fpm
$ wget -O /etc/init.d/php7-fpm "https://gist.github.com/bjornjohansen/bd1f0a39fd41c7dfeb3a/raw/f0312ec54d1be4a8f6f3e708e46ee34d44ef4657/etc%20inid.d%20php7-fpm"
$ sudo chmod a+x /etc/init.d/php7-fpmSau đó chúng ta cần có init script tại /etc/init/php7-fpm.conf
$ wget -O /etc/init/php7-fpm.conf "https://gist.github.com/bjornjohansen/9555c056a7e8d1b1947d/raw/15920fa2f447358fdd1c79eecd75a53aaaec76f9/etc%20init%20php7-fpm"Tạo file /usr/local/lib/php7-fpm-checkconf với nội dung:
#!/bin/sh
set -e
errors=$(/usr/local/php7/sbin/php-fpm --fpm-config /usr/local/php7/etc/php-fpm.conf -t 2>&1 | grep "\[ERROR\]" || true);
if [ -n "$errors" ]; then
echo "Please fix your configuration file…"
echo $errors
exit 1
fi
exit 0Cấp quyền chạy cho file đó:
$ sudo chmod a+x /usr/local/lib/php7-fpm-checkconfĐể đảm bảo php-fpm luôn khởi chạy khi hệ điều hành khởi động, chạy lệnh sau:
$ update-rc.d php7-fpm defaultsStart service của php-fpm:
$ sudo service php7-fpm startBước 4: Cài đặt và cấu hình Nginx
Cài đặt Nginx: chạy lệnh sau đây
sudo apt-get install nginxMặc định trên Ubuntu thì thư mục root của Nginx là /usr/share/nginx/html. Để thuận tiện hơn khi làm việc, ta sẽ sử dụng thư mục /var/www
Đầu tiên ta chạy lệnh sau để tạo thư mục
sudo mkdir -p /var/www/example(Option -p cho phép tạo ra các thư mục cha trong trường hợp nó chưa tồn tại)
Cấp quyền cho các thư mục
sudo chown -R $USER:$USER /var/www/example
sudo chmod -R 755 /var/www.Tạo một file index.php trong thư mục /var/www/example với nội dung đơn giản như sau:
<?php
phpinfo();
?>Tạo file cấu hình cho server để chạy ví dụ của chúng ta: tạo file /etc/nginx/sites-available/example.conf với nội dung như sau
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/example;
index index.php index.html index.htm;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php {
# try_files $uri =404;
fastcgi_index /index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}Kích hoạt file cấu hình này với câu lệnh sau:
sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/example.confBạn cũng có thể vô hiệu file cấu hình mặc định nếu muốn:
sudo rm /etc/nginx/sites-enabled/defaultKhởi động lại Nginx
sudo service nginx restartBây giờ bạn đã có thể truy cập vào trang web ví dụ.
Trước hết bạn cần biết IP của server bằng câu lệnh sau:
ip addr show
# hoặc sử dụng lệnh dưới đây
ifconfigVí dụ IP server là 192.168.1.142. Trên máy tính Mac hay Linux (không phải server), bạn có thể sửa file host để truy cập vào trang web ví dụ.
sudo nano /etc/hosts Thêm nội dung sau vào cuối file và lưu lại
192.168.1.142 www.example.com
192.168.1.142 example.com Cuối cùng bạn có thể mở trình duyệt và truy cập địa chỉ http://192.168.1.142 hoặc example.com để thử xem thành quả.

Bình luận