Hướng dẫn cài đặt framework PHP Laravel 5 với Nginx trên Ubuntu 16.04 LTS

Laravel là một framework PHP mã nguồn mỡ theo mô hình MVC. Trong bài viết ngày hôm nay mình sẽ hướng dẫn bạn từng bước cài đặt Laravel 5.4 sử dụng Nginx làm web server, PHP-FPM 7.0 và Maria DB. Hệ điều hành là Ubuntu 16.04 LTS

Chuẩn bị

  • Một máy chủ VPS mới tinh cài đặt Ubuntu 16.04 (xem thêm các dịch vụ VPS giá rẻ chất lượng).
  • Đăng nhập VPS với user root sử dụng MobaXTerm

Bước 1: Cập nhật Ubuntu

Đầu tiên, bạn cần cập nhật Ubuntu với hai câu lệnh sau:

apt-get update
apt-get upgrade

Khởi động lại VPS và kết nối lại bằng MobaXTerm.

Bước 2: Cài đặt Nginx

Nginx đã có sẵn trong repository, bạn chỉ cần cài đặt với câu lệnh apt-get quen thuộc:

apt-get install -y nginx

Sau khi Nginx đã được cài đặt, khởi động Nginx và bật nó tự chạy khi khởi động lại VPS bằng 2 câu lệnh sau:

systemctl start nginx
systemctl enable nginx

Bạn có thể kiểm tra để thấy nginx đã chạy ở cổng 80 bằng câu lệnh netstat:

netstat -plntu

cài đặt laravel 1

Bước 3: Cài đặt PHP-FPM 7

Như vậy chúng ta đã cài đặt xong Nginx, bây giờ chúng ta sẽ cài đặt PHP-FPM.

Ở đây chúng ta cài đặt PHP và PHP-FPM 7.0 cùng với nhiều extension cần thiết với câu lệnh sau:

apt install php-fpm php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-mysql php-cli php-mcrypt php-zip

Đi tới thư mục cấu hình PHP và sửa lại file php.ini với trình biên tập nano

cd /etc/php/7.0/
nano fpm/php.ini

Bỏ comment dòng CGI và đổi giá trị về 0. Ấn Ctrl + O và Ctrl + X để save và thoát khỏi nano

cgi.fix_pathinfo=0

Bây giờ chúng ta chạy PHP-FPM và bật nó chạy tự động khi khởi động lại VPS.

systemctl start php7.0-fpm
systemctl enable php7.0-fpm

Mặc định PHP-FPM sẽ chạy ở file sock trên Ubuntu. Bạn có thể test lại với câu lệnh sau:

netstat -pl | grep php7.0-fpm

cài đặt laravel 2

Bước 4 Cài đặt Maria DB

Cài đặt Maria DB sử dụng lệnh sau:

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

Sau khi Maria DB được cài đặt, chạy Maria DB và bật nó tự chạy với lệnh sau:

systemctl start mysql
systemctl enable mysql

Maria DB sẽ start ở cổng 3306

netstat -plntu

cài đặt laravel 3

Bây giờ bạn chạy câu lệnh sau để tăng cường bảo mật mysql:

mysql_secure_installation

Nhập vào mật khẩu root, loại bỏ user ẩn danh, tắt truy cập root từ xa vân vân

Set root password? [Y/n] Y
 Remove anonymous users? [Y/n] Y
 Disallow root login remotely? [Y/n] Y
 Remove test database and access to it? [Y/n] Y
 Reload privilege tables now? [Y/n] Y

Bước 5: Cài đặt PHP Composer

Composer là bộ quản lý package cho ngôn ngữ lập trình PHP. Trên Ubuntu 16.04 Composer đã có sẵn trong repository do vậy bạn có thể cài đặt bằng câu lệnh apt.

Cài đặt PHP Composer bằng câu lệnh sau:

apt-get install -y composer

Sau khi cài đặt thành công, chạy lệnh composer bạn sẽ nhìn thấy kết quả như bên dưới:

composer

cài đặt laravel 4

Như vậy Composer đã được cài đặt trên Ubuntu 16.04

Bước 6: Cấu hình virtual host nginx cho Laravel

Bước này chúng ta sẽ tạo virtual host cho Laravel.

Đầu tiên chúng ta sẽ tạo thư mục cho project Laravel. Ở đây chúng ta sẽ sử dụng thư mục “var/www/laravel”.

mkdir -p /var/www/laravel

Tiếp theo đi tới thư mục cấu hình nginx và tạo một virtual host “laravel” trong thư mục “site-available”.

cd /etc/nginx/
nano sites-available/laravel

Paste cấu hình như sau. Nhớ thay IP của mình bằng domain của bạn.

server {
         listen 80;
         listen [::]:80 ipv6only=on;
 
         # Log files for Debugging
         access_log /var/log/nginx/laravel-access.log;
         error_log /var/log/nginx/laravel-error.log;
 
         # Webroot Directory for Laravel project
         root /var/www/laravel/public;
         index index.php index.html index.htm;
 
         # Your Domain Name
         server_name thuthuatwp.com www.thuthuatwp.com;
 
         location / {
                 try_files $uri $uri/ /index.php?$query_string;
         }
 
         # PHP-FPM Configuration Nginx
         location ~ \.php$ {
                 try_files $uri =404;
                 fastcgi_split_path_info ^(.+\.php)(/.+)$;
                 fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
                 fastcgi_index index.php;
                 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                 include fastcgi_params;
         }
 }

Lưu lại và thoái khỏi nano

Bây giờ bạn kích hoạt virtual host bằng tạo một symlink file “laravel” tới thư mục “sites-enabled”. Sau đó test lại cấu hình nginx để chắc chắn rằng không có lỗi nào xảy ra.

ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/
nginx -t

Bây giờ bạn restart lại nginx

systemctl restart nginx

Bước 7: Cài đặt Laravel

Đầu tiên bạn cần cài đặt tiện ích unzip với lệnh sau:

apt-get install unzip

Di chuyển tới thư mục laravel chúng ta đã tạo ở bước trên

cd /var/www/laravel

Cài đặt Laravel với composer. Có hai cách cài đặt Laravel: cài đặt sử dụng Laravel Installer và cài đặt Laravel thông qua Composer create project. Chúng ta sẽ cài đặt sử dụng Composer create project

composer create-project laravel/laravel .

cài đặt laravel 5

Bạn cần đợi một chút. Sau khi cài đặt thành công bạn sẽ nhìn thấy như sau:

cài đặt laravel 6

Chúng ta cần thay đổi quyền sở hữu thư mục project Laravel về user ‘www-data’, và thay đổi permission thư mục thành 755.

chown -R www-data:root /var/www/laravel
chmod 755 /var/www/laravel/storage

Bước 8: Kiểm tra

Bây giờ bạn mở trình duyệt và truy cập bằng tên miền của bạn. Bạn nên nhìn thấy màn hình như sau:

cài đặt laravel 7

Nếu bạn gặp lỗi “”Whoops, looks like something went wrong.” xem cách fix ở đây.

Đó là tất cả. Bạn đã biết cách cài đặt Laravel 5 trên Ubuntu 16.04