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 -R 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;

    	location ~ \.php$ {
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
        	include /etc/nginx/fastcgi_params;
        	fastcgi_pass 127.0.0.1:9000;
        	fastcgi_index index.php;
		fastcgi_connect_timeout 300;
		fastcgi_send_timeout 300;
		fastcgi_read_timeout 300;
		fastcgi_buffer_size 32k;
		fastcgi_buffers 8 16k;
		fastcgi_busy_buffers_size 32k;
		fastcgi_temp_file_write_size 32k;
		fastcgi_intercept_errors on;
        	fastcgi_param SCRIPT_FILENAME /home/hocvps.com/public_html/laravel/public$fastcgi_script_name;
    	}

Nhấn Ctrl+O để lưu lại và Ctrl+X để thoát.
Lưu ý: Phần fastcgi_param là cấu hình riêng của HocVPS, nếu bạn không sử dụng thì không cần sửa.

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

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.