1. Yêu cầu trước khi cài đặt Để cài đặt CakePHP trên máy cục bộ, chúng ta cần cài đặt môi trường để chạy CakePHP với các yêu cầu: - Apache server với mod_rewrite.
- PHP từ 4.3.2 trở lên.
- MySQL (CakePHP hỗ trợ PostgreSQL, Microsoft SQL Server 2000, Firebird, IBM DB2, Oracle, SQLite, ODBC và ADOdb) nhưng chúng ta sẽ sử dụng MySQL, đây là cơ sở dữ liệu mặc định của CakePHP.
Tất cả các thành phần trên chúng ta có thể cài đặt dễ dàng với XAMPP hoặc WAMP. Bạn có thể tham khảo thêm tại : http://www.apachefriends.org/en/xampp.html hoặc http://www.wampserver.com/en/
2. Cách cài đặt Để cài đặt CakePHP chúng ta cần: • Download gói cài đặt về. Chúng ta sẽ dùng phiên bản 1.3.x vì tính ổn định và có nhiều sự hỗ trợ từ cộng đồng, phiên bản mới nhất hiện nay là 1.3.11. Bạn có thể download về trên trang chủ CakePHP: http://cakephp.org. Các bạn lưu ý là trên trang chủ download của CakePHP còn có phiên bản 2.0, tuy nhiên phiên bản đó chỉ dành cho deverloper sử dụng, các bạn đừng download phiên bản 2.0 nhé.
• Tạo cơ sở dữ liệu, chúng ta nên tạo cơ sở dữ liệu theo quy tắc của Cake để dễ dàng cài đặt, sử dụng hàm thư viện, và tận dụng tính tự động của framework.
Có 2 cách cài đặt CakePHP: • Cài đặt thông thường.
• Cài đặt trên giao diện dòng lệnh.
Trong bài này, mình sẽ hướng dẫn các bạn cách cài đặt thông thường. Cài đặt thông thường - Tạo cơ sở dữ liệu: vào phpmyadmin để tạo cơ sở dữ liệu mới, khi tạo cơ sở dữ liệu chú ý chọn như hình bên dưới để có thể sử dụng được tiếng việt (nếu ứng dụng cần).
Sau khi download gói cài đặt về, giải nén copy toàn bộ file giải nén vào thư mục gốc của Server(www) có thể đổi tên thư mục tùy ý theo ứng dụng của bạn. VD: mình đổi tên thư mục thành cakephp có đường dẫn là C:wamp\www\cakephp
Vào thư mục www\cakephp\app\config đổi tên file database.php.default thành database.php thay đổi các thông số login, password và database cho phù hợp. VD: username login của mình là root, không set password và cơ sở dữ liệu tên là cakephp.
Lưu ý: khi dùng trên localhost và sử dụng mysql thì bạn chỉ thay đổi các thông số bao gồm login, password và database thôi var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'cakephp',
'prefix' => '',
);
Tiếp theo vào file core.php trong cùng thư mục này tìm đến các dòng /**
* A random string used in security hashing methods.
*/
Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
/**
* A random numeric string (digits only) used to encrypt/decrypt strings.
*/
Configure::write('Security.cipherSeed', '76859309657453542496749683645');
Thay đổi giá trị cho Security.salt (có thể xóa hay thêm chữ và số)và Security.cipherSeed (có thể xóa hay thêm số)
Sau khi thực hiện xong chúng ta vào trình duyệt và gõ vào http://localhost/cakephp/
Nếu kết quả trả về như hình bên dưới thì quá trình cài đặt đã thành công
Nếu không được bạn cần kiểm tra lại và các tham số cấu hình lúc đầu, và cả mod_rewrite.
Để bật mod_rewrite thì trong Wamp bạn điều chỉnh như sau:
Nhấn vào biểu tượng Wamp ở icons tray nằm ở góc trái của màn hình, vào thẻ Apache chọn Apache modules và check vào rewrite_module
Như vậy, bạn đã bật chế độ mod_rewrite trên Wamp, khi bạn kiểm tra mod_rewrite thì bạn hãy xem nó có được check vào hay chưa nhé. :)
Với cách cài đặt CakePHP như trên, mỗi khi bạn muốn tạo một project mới, bạn chỉ cần copy cả thư mục cakephp và đặt lại tên mới cho project của mình, sau đó tạo cơ sở dữ liệu mới và edit lại chuỗi $default trong file database.php được đặt trong app/configs/.
Update:
Theo trình tự thực hiện thì cách cài đặt trên có thể áp dụng cho các phiên bản CakePHP 1.3 và 2.x. Tuy nhiên, với bản CakePHP 2.x trở lên cụ thể là bản cakephp 2.2.3, khi cài đặt, các thông số trong $default có thay đổi như sau:
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'root',
'password' => '',
'database' => 'cakephp',
'prefix' => '',
//'encoding' => 'utf8',
);
Nếu như các bạn dùng trên localhost và hệ quản trị là mySQL thì bạn chỉ cần edit các thông số gồm login, password và database thôi nhé! Và ở bản CakePHP 2.x trở lên thì phần driver được thay thành datasource, và giá trị là Database/Mysql. Do đó các bạn cần xem lại mình dùng bản CakePHP gì mà cài đặt cho đúng nhé!
Thân mến!