07/09/2018, 09:57

Hướng dẫn deploy project Laravel lên VPS Ubuntu

Khi hoàn thành một project thì công việc cuối cùng và quan trọng nhất chính là deploy(đại loại như là triển khai lên môi trường thực tế). Với những project mang tính chất học tập thì bạn có thể deploy lên các server miễn phí(như Heroku). Tuy nhiên vì miễn phí nên nó tồn tại nhiều vấn đề. Chính vì ...

Khi hoàn thành một project thì công việc cuối cùng và quan trọng nhất chính là deploy(đại loại như là triển khai lên môi trường thực tế). Với những project mang tính chất học tập thì bạn có thể deploy lên các server miễn phí(như Heroku). Tuy nhiên vì miễn phí nên nó tồn tại nhiều vấn đề. Chính vì vậy hôm nay mình sẽ hướng dẫn các bạn cách deploy một project Laravel lên VPS Ubuntu.

VPS là gì?

VPS (Virtual Private Server) là dạng máy chủ ảo được tạo ra bằng phương pháp phân chia một máy chủ vật lý thành nhiều máy chủ khác nhau có tính năng tương tự như máy chủ riêng (dedicated server), chạy dưới dạng chia sẻ tài nguyên từ máy chủ vật lý ban đầu đó. Mỗi VPS là một hệ thống hoàn toàn riêng biệt, có một phần CPU riêng, dung lượng RAM riêng, dung lượng ổ HDD riêng, địa chỉ IP riêng và hệ điều hành riêng, người dùng có toàn quyền quản lý root và có thể restart lại hệ thống bất cứ lúc nào. Ở đây mình dùng VPS với hệ điều hành Ubuntu, RAM 1Gb và Server tại Tokyo:

VPS lấy ở đâu?

Vì 'hịn' như vậy nên đa phần VPS các bạn phải mua. Có một số nhà cung cấp nổi tiếng trên thế giới mà mình biết là:

  • https://www.vultr.com/
  • https://digitalocean.com/

Một số nhà cung cấp tại Việt Nam bạn có thể tham khảo như: Viettel, LongVan, NhanHoa,...

Đăng nhập

Khi đăng ký VPS xong bạn sẽ được cấp một số thông tin cơ bản dùng để đăng nhập:

  • Địa chỉ IP
  • Username
  • Password

Trên Windows bạn có thể dùng Putty để điều khiển VPS, còn Ubuntu thì chúng ta dùng luôn SSH trên Terminal nhé. Các bạn dùng lệnh: ssh username@ip sau đó nhập password để đăng nhập.

Cài đặt Apache

Sau khi có VPS chúng cần cài đặt môi trường Apache(các bạn cũng có thể dùng Nginx).

Update: apt-get update

Cài đặt Apache: apt-get install apache2

Sau khi cài đặt bạn có thể start và enable Apache bằng cách:

systemctl start apache2
systemctl enable apache2

Cài đặt PHP

Thêm PHP vào khi PPA:

add-apt-repository ppa:ondrej/php

Update:

apt-get update

Chạy lệnh sau để cài PHP 7.2 và các extension cần thiết:

apt install php7.2 php7.2-xml php7.2-mbstring php7.2-mysql php7.2-json php7.2-curl php7.2-cli php7.2-common php7.1-mcrypt php7.2-gd libapache2-mod-php7.2 php7.2-zip

Cài đặt Composer và install Laravel

Composer

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/bin/composer

Install Laravel

Các bạn dùng composer để cài hoặc có thể dùng Git để clone source code vào đường dẫn: /var/www/html

composer create-project laravel/laravel /var/www/html/laravel

Cài đặt DocumentRoot

Mở file config của Apache:

nano /etc/apache2/sites-available/000-default.conf

Tìm dòng sau:

DocumentRoot /var/www/html

Thay thế bằng:

DocumentRoot /var/www/html/laravel/public

Sau đó lưu lại rồi restart lại Apache nhé:

systemctl restart apache2

Chỉnh Permission cho project:

chown -R www-data:www-data /var/www/html/laravel

chmod -R 755 /var/www/html/laravel/storage

Cài MySQL

Chạy lệnh sau:

apt-get install mysql-server

Sau đó nhập password:

Đăng nhập MySQL với password ở trên:

mysql -u root -p

Thêm database bằng query sau:

CREATE DATABASE laravel_test;

Cấu hình .env cho project để connect MySQL:

Sửa file bằng cách:

nano /var/www/html/laravel/.env

Sau đó cấu hình giống như dưới local:

Tận hưởng:

Truy cập và tận hưởng bằng cách truy cập vào: IP của VPS

Trên đây là toàn bộ các bước để deploy project Laravel lên VPS dùng hệ điều hành Ubuntu. Bài viết có gì sai sót mong mọi người bỏ quá cho.             </div>
            
            <div class=

0