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:
1 2 |
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:
1 |
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:
1 2 |
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:
1 |
netstat -plntu |
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:
1 |
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
1 2 |
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
1 |
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.
1 2 |
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:
1 |
netstat -pl | grep php7.0-fpm |
Bước 4 Cài đặt Maria DB
Cài đặt Maria DB sử dụng lệnh sau:
1 |
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:
1 2 |
systemctl start mysql systemctl enable mysql |
Maria DB sẽ start ở cổng 3306
1 |
netstat -plntu |
Bây giờ bạn chạy câu lệnh sau để tăng cường bảo mật mysql:
1 |
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
1 2 3 4 5 |
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:
1 |
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:
1 |
composer |
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”.
1 |
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”.
1 2 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
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.
1 2 |
ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/ nginx -t |
Bây giờ bạn restart lại nginx
1 |
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:
1 |
apt-get install unzip |
Di chuyển tới thư mục laravel chúng ta đã tạo ở bước trên
1 |
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
1 |
composer create-project laravel/laravel . |
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:
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.
1 2 |
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:
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