Thứ tư, 18/09/2013 | 00:00 GMT+7

Cách cài đặt và thiết lập với FuelPHP trên VPS của bạn


Giới thiệu về FuelPHP

FuelPHP là một khung công tác PHP open-souce dựa trên cộng đồng dựa trên kiến trúc Mô hình-Xem-Bộ điều khiển (MVC) phân cấp OOP. Nó có một công cụ dòng lệnh tuyệt vời gọi là Oil cho phép bạn tăng tốc độ phát triển dự án của bạn . Bạn có thể sử dụng nó để tạo mã, gỡ lỗi hoặc thực hiện di chuyển database .

Trong hướng dẫn này, ta sẽ bắt đầu với một ứng dụng FuelPHP nhỏ. Để minh họa điều này, tôi sẽ sử dụng một VPS hỗ trợ Ubuntu có cài đặt LAMP . Nếu bạn muốn biết thêm thông tin về cách cài đặt , hãy tham khảo hướng dẫn tuyệt vời này. FuelPHP yêu cầu cài đặt web server (đã được thử nghiệm với Apache, Nginx và IIS) và PHP 5.3+.

Cài đặt

Điều đầu tiên ta cần làm là tải nhanh trình cài đặt vào VPS của ta bằng curl . Chạy lệnh sau:

curl get.fuelphp.com/oil | sh

Thao tác này sẽ download gói dầu và đặt nó vào folder / usr / bin trên server cloud của bạn.

Nhanh chóng cài đặt Git vì dầu cần nó để tìm nạp mã ứng dụng:

sudo apt-get update
sudo apt-get install git-core

Tiếp theo, chuyển đến folder root của web server ( / var / www cho Apache) và chạy lệnh sau để tạo ứng dụng FuelPHP của bạn:

oil create fuel

Thao tác này sẽ tìm nạp các file cần thiết bằng Git và các thư viện phụ thuộc bằng Composer và đưa mọi thứ bạn cần vào một folder có tên là fuel . Nếu bây giờ bạn chuyển trong trình duyệt đến địa chỉ ip / nhiên liệu / công cộng của mình, bạn sẽ thấy trang đầu của ứng dụng của bạn .

Nếu muốn, bạn có thể thay đổi root tài liệu của web server để trỏ trực tiếp đến folder công cộng của ứng dụng FuelPHP để bạn có thể truy cập trực tiếp từ địa chỉ IP của bạn (hoặc domain nếu bạn có trỏ vào nó). Để thực hiện việc này, hãy chỉnh sửa file server ảo sau:

nano /etc/apache2/sites-available/default

Và thay đổi dòng này từ dòng này:

DocumentRoot /var/www/

Về điều này:

DocumentRoot /var/www/fuel/public/

Sau đó khởi động lại Apache để các thay đổi có hiệu lực:

sudo service apache2 restart

Nếu bạn muốn FuelPHP có các URL sạch (để xóa đoạn index.php xấu xí khỏi các URL của nó), bạn nên đảm bảo các tệp .htaccess của nó có thể overrides các hướng dẫn Apache mặc định. Đối với điều này, mod_rewrite cần được kích hoạt.

Để kiểm tra xem nó có sẵn hay không, hãy sử dụng lệnh sau:

apache2ctl -M

Nếu bạn thấy "rewrite_module" trong danh sách, bạn vẫn ổn. Nếu không, hãy sử dụng lệnh sau để bật module :

a2enmod rewrite

Tiếp theo, chỉnh sửa file server ảo mặc định của Apache ( ) và đảm bảo Cho phép Ghi đè được đặt thành Tất cả trong folder / var / www / . Điều này cũng bao gồm các folder ứng dụng nhiên liệu. Chỉnh sửa file bằng lệnh sau:

nano /etc/apache2/sites-available/default

Và nơi bạn nhìn thấy khối này, hãy áp dụng các thay đổi để tương ứng với những điều sau:

<Directory /var/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
</Directory>

Trước khi ta khởi động lại server , hãy nhanh chóng đặt múi giờ mặc định trong file php.ini:

nano /etc/php5/apache2/php.ini

Và trong file này, nơi bạn thấy dòng sau:

;date.timezone =

Loại bỏ dấu chấm phẩy trước và đặt múi giờ loại PHP theo định dạng sau:

date.timezone = America/Toronto

Lưu file và sau đó khởi động lại Apache để tất cả các thay đổi có hiệu lực:

sudo service apache2 restart

Tiếp theo, hãy tạo một database trống để sử dụng với ứng dụng của ta . Giả sử bạn đang sử dụng MySQL hoặc MariaDB, hãy đăng nhập vào terminal thích hợp và chạy lệnh sau:

create database fuel;

Điều này sẽ tạo ra một database trống được gọi là nhiên liệu . Thoát khỏi terminal MySQL và quay lại ứng dụng của bạn vì bây giờ ta cần chỉnh sửa file cấu hình của nó và kích hoạt một số thứ. Từ folder root của ứng dụng FuelPHP, hãy chỉnh sửa file cấu hình:

nano /var/www/fuel/fuel/app/config/config.php

Trong đó, bỏ ghi chú mảng always_load , mảng gói bên trong và gói orm . Điều này sẽ đảm bảo FuelPHP tải gói ORM đi kèm để giúp ta tạo ra các mô hình hoạt động của bạn . Lưu file và thoát. Bây giờ là lúc để cài đặt kết nối database . Vẫn bên trong folder app / config , bên trong một folder có tên là development (do bạn đang ở trong môi trường phát triển của FuelPHP theo mặc định), hãy chỉnh sửa file db.php :

nano /var/www/fuel/fuel/app/config/development/db.php

Trong đó, đặt tên database và thông tin đăng nhập để kết nối với nó, sau đó lưu và thoát.

Tiếp theo, ta cần một thứ gọi là giàn giáo . Về cơ bản, đây là một tập hợp các bộ điều khiển, mô hình và khung nhìn xác định mô hình của ta và chứa mã hoạt động CRUD mặc định. Giả sử ứng dụng nhỏ của ta đề cập đến các bài viết mà ta cần tiêu đề và nội dung. Vì vậy, hãy tạo giàn giáo bằng lệnh sau (từ trong folder ứng dụng root - / var / www / fuel ):

oil generate scaffold articles title:string body:text

Lệnh này tạo giàn giáo cho mô hình bài viết của ta mà ta xác định tiêu đề của chuỗi kiểu (varchar (255)) và nội dung của văn bản kiểu. Nếu bạn nhìn vào folder nhiên liệu / ứng dụng / lớp của mình, bạn sẽ thấy một bộ điều khiển, mô hình và các file xem mới. Một lệnh cuối cùng mà ta cần chạy cho mô hình này - lệnh di chuyển database - sẽ tạo bảng để chứa nội dung bài viết của ta :

oil refine migrate

Thao tác này sẽ sử dụng các hướng dẫn trong file / var / www / fuel / fuel / app / migrations / 001_create_ posts.php được tạo bằng giàn giáo để tạo bảng với các cột thích hợp. Nếu bạn kiểm tra database , bạn sẽ thấy một bảng mới có tên là các bài viết với 5 cột: id, title, body, create_at, updated_at (2 cột đầu tiên và cuối cùng được tạo tự động bởi FuelPHP).

Đến đây bạn có thể chuyển trong trình duyệt để điều khiển bài viết (ip-address / bài viết nếu điểm root tài liệu web server của bạn vào folder công cộng của ứng dụng FuelPHP) và bạn có thể từ đó thực hiện tất cả các thao tác CRUD trên mô hình bài viết của bạn. Bạn có thể thêm, xem, cập nhật và xóa bài viết ngay lập tức.

Kết luận

Trong hướng dẫn này, ta đã biết cách cài đặt FuelPHP từ dòng lệnh và cách tạo nhanh một ứng dụng cơ bản. Ngoài ra, ta đã biết cách tạo một giàn giáo cho mô hình bài viết của ta để tạo tự động các lớp mô hình và bộ điều khiển cần thiết, cũng như các khung nhìn để thực hiện các hoạt động CRUD trên mô hình này.

Bài viết gửi bởi: Danny

Tags:

Các tin liên quan