Laravel là một PHP framework mã nguồn mở và miễn phí nhắm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo cấu trúc MVC Model-View-Controller. Theo thời gian, Laravel ngày càng trở nên thông dụng và được ưa chuộng hơn.


Trong bài này mình sẽ hướng dẫn các bạn cách cài đặt Laravel 5 với HocVPS Script (Nginx + PHP + MariaDB) trên CentOS 6/7 (Áp dụng hoàn toàn tương tự với các hệ quản trị LEMP khác).

Laravel 5

1. Cài đặt Laravel 5

1.1. Cài đặt HocVPS Script và Composer

Đầu tiên, bạn cần chuẩn bị một VPS mới tinh và cài đặt HocVPS Script. Quá trình cài đặt có thể lựa chọn PHP 5.6, 7.0 hoặc 7.1 đều được. Sau khi cài đặt xong, chúng ta sẽ có Nginx 1.12.2; PHP 7.1.11 và MySQL (MariaDB) 10.

Mình sẽ cài đặt Laravel thông qua Composer.

# curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

1.2. Cài đặt Laravel 5

Lưu ý: Laravel cần kích hoạt các PHP function: escapeshellarg, proc_close, proc_get_status, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate. HocVPS đã kích hoạt sẵn nên các bạn không cần sửa trong /etc/php.ini nữa.

Di chuyển đến thư mục website /home/domain.com/public_html/ và cài đặt Laravel:

# cd /home/domain.com/public_html
# composer create-project laravel/laravel

Thiết lập quyền webserver đối với thư mục Laravel. Đối với HocVPS, bạn chỉ cần chạy menu 14)Phan Quyen Webserver

# chown -R nginx:nginx laravel
# chmod 755 laravel/storage

1.3. Cấu hình Nginx cho Laravel

Mở và chỉnh sửa file cấu hình Nginx của tên miền:

nano /etc/nginx/conf.d/domain.com.conf

Điều chỉnh một số tham số(màu đỏ) như sau, phần còn lại giữa nguyên:

server {
	listen 80 default_server;
		
	# access_log off;
	access_log /home/hocvps.com/logs/access.log;
	# error_log off;
    	error_log /home/hocvps.com/logs/error.log;
	
    	root /home/hocvps.com/public_html/laravel/public;
	index index.php index.html index.htm;
    	server_name hocvps.com;
 
    	location / {
		try_files $uri $uri/ /index.php?$query_string;
	}
	# Remove trailing slash to please routing system.
        if (!-d $request_filename) {
                rewrite     ^/(.+)/$ /$1 permanent;
        }
	# Custom configuration
	include /home/hocvps.com/public_html/*.conf;

Nhấn Ctrl+O để lưu lại và Ctrl+X để thoát.

Restart lại Nginx và PHP, thông báo OK là được

# service nginx restart && nginx -t
# service php-fpm restart && service php-fpm status

Cuối cùng, truy cập vào tên miền hoặc IP, bạn sẽ thấy dòng chữ Laravel 5 xuất hiện.
Lưu ý: Các lệnh php artisan chỉ chạy được trong thư mục Laravel. Ví dụ:

# php artisan --version
Laravel Framework 5.5.19

2. Cấu trúc thư mục Laravel

Laravel sử dụng mô hình MVC Model-View-Controller làm nền tảng phát triển.

/root/
├── app/
├── bootstrap/
├── config/
├── database/
├── public/
├── resources/
├── routes/
├── storage/
├── tests/
├── vendor/
├── .env
├── .env.example
├── .gitattributes
├── .gitignore
├── artisan
├── composer.json
├── composer.lock
├── package.json
├── phpunit.xml
├── readme.md
├── server.php
└── webpack.mix.js

Trong đó:

  • app: chứa code chính của ứng dụng, bao gồm các tập tin php, các class php, thư viện, models, controllers, providers…
  • bootstrap: chứa tập tin khởi tạo, điều hướng hệ thống và một số file cấu hình nạp tự động.
  • config: chứa tập tin cấu hình Laravel Framework như cấu hình database, app, mail, session…
  • database: chứa các thư mục về cơ sở dữ liệu.
  • public: chính là webroot với file khởi động index.php để người dùng sẽ truy cập vào đây, đồng thời là nơi chứa các tập tin css, js, image.
  • resources: chứa trang views (V trong mô hình MVC) và các file hỗ trợ cho đa ngôn ngữ cùng các file khác như SASS, LESS…
  • routes: chứa các tập tin định nghĩa, xử lý điều hướng các truy vấn, bao gồm web, api và console.
  • storage: chứa các tập tin hệ thống như upload, cache, session, cookie, log…
  • tests: chứa các file test của Framework.
  • vendor: chứa các thư viện của composer.
  • .env và .env.example: 2 tập tin cấu hình chính của laravel như key app, tên app, url app, email, CSDL… trong đó .env.example là cấu hình mẫu của Laravel.
  • .gitattributes và .gitignore: Git sử dụng 2 file này để định nghĩa thuộc tính và danh sách các file không theo dõi.
  • artisan: tập tin thực thi lệnh Laravel, được tương tác nhiều nhất thông qua # php artisan.
  • composer.json và composer.lock: tập tin cấu hình thao tác với composer.
  • package.json: tập tin cấu hình của nodejs, chứa các package cần dùng cho project.
  • phpunit.xml: Là tập tin xml của phpunit dùng để testing project.
  • readme.md: hướng dẫn sử dụng Laravel Framework.
  • server.php: tập tin để artisan trỏ đến tạo server khi gõ lệnh # php artisan serve.

Như vậy, các bạn đã cài đặt thành công và hiểu sơ bộ về Laravel Framework. Chúc các bạn thành công!

Comment của bạn

Your email address will not be published. Required fields are marked *

66 Comments

  1. Thành 1 comment

    cho mình hỏi mình có project laravel chạy trên xampp localhost được rồi giờ muốn up project để chạy trên vps thì sao. MÌnh làm giống như php thuần là up hết source lên rồi import data nhưng bị lỗi 500 không chạy được

    1. Việt Phương Moderator

      Laravel mình không xài nên không rõ case này rồi. Bạn kiểm tra thư mục up chưa? Không phải up thẳng vào public_html đâu mà là thư mục bên trong. Và bạn check log PHP xem vì sao

    2. LINH IT PRO 5 comment

      Bạn tiến hành:
      chmod -R 777 storage/
      php artisan config:cache
      php artisan cache:clear
      php artisan key:generate

      Chỉnh sửa lại .env cấu hình database …
      Chúc bạn thành công