[Web] Hướng dẫn cách cài đặt CakePHP lên Hostgator Shared Hosting

Để lập trình và phát triển các trang web thì nhiều bạn sẽ lựa chọn chạy trang web đó trên localhost trước rồi mới triển khai trên hosting thực sự. Nhưng từ đó phát sinh khá nhiều trường hợp là nhiều trang web chạy rất tốt trên localhost nhưng lại xảy ra lỗi khi được upload lên hosting. Trong bài viết hôm nay tôi sẽ đề cập đến 1 lỗi tương tự như thế. Đó là khi cài đặt CakePHP trên hosting mà cụ thể ở đây là Hostgator (Shared Hosting).

Có lẽ tôi không cần giới thiệu nhiều về CakePHP Hostgator nữa vì nó đã khá nổi tiếng rồi, các bạn có thể tìm đọc thêm thông tin trên mạng.

Vấn đề tôi gặp phải là khi trang web của tôi đã hoàn thành và được upload lên hosting. Nhưng khi click vào xem thì nó bị lỗi, đó là lỗi 404 Error. Tôi đã thử upload lại nhiều lần vì nghĩ mình upload thiếu file, nhưng kết quả vẫn không thay đổi gì. Sau một hồi tìm kiếm, tôi đã tìm được nguyên nhân và giải pháp cho vấn đề của mình. Tôi đã thực hiện một số thay đổi nhỏ về file và cấu trúc thư mục của CakePHP để phù hơp với cấu hình của Hostgator và trang web đã hoạt động ổn định.

Tôi rất vui khi chia sẻ kinh nghiệm này cho những bạn gặp phải trường hợp giống tôi. Dưới đây là những bước thực hiện việc cài đặt CakePHP trên Hostgator.

Lưu ý: Cách này được áp dụng cho hosting chỉ chứa 1 website, nếu hosting của bạn chứa nhiều website đang hoạt động thì các bạn nên tham khảo bài viết này (http://bakery.cakephp.org/articles/gedm/2009/08/29/installing-cakephp-on-shared-hosting).

Bước 1,

Chỉ upload các thư mục app, cake, plugins, vendors lên thư mục gốc của hosting với đường dẫn thường gặp là /home/your_username/public_html , trong đó your_username chính là tên tài khoản hosting của bạn.

Bước 1 - Hướng dẫn cài đặt CakePHP trên Hostgator (Shared Hosting)

Bước 2,

Bước tiếp theo là vào thư mục app/webroot mà bạn vừa upload lên hosting, sau đó copy toàn bộ các file và thư mục trong thư mục webroot ra ngoài thư mục gốc (/home/your_username/public_html) như hình dưới đây

Bước 2 - Hướng dẫn cài đặt CakePHP trên Hostgator (Shared Hosting)

Bước 3,

Xóa thư mục app/webroot trên hosting.

Bước 3 - Hướng dẫn cài đặt CakePHP trên Hostgator (Shared Hosting)

Bước 4,

Sau khi thay đổi cấu trúc thư mục, ở bước này chúng ta sẽ thay đổi nội dung các file. Bạn hãy mở file index.php ở thư mục gốc /home/your_username/public_html (thực chất là file index.php vừa được copy từ thư mục webroot đã bị xóa trước đó).

Các bạn thay đổi một số thông tin sau để cấu hình CakePHP phù hợp trên hosting => Thay chữ your_username bằng username hosting của các bạn.

/**
* The full path to the directory which holds "app", WITHOUT a trailing DS.
*/
if (!defined('ROOT')) {
define('ROOT', DS.'home'.DS.'your_username'.DS.'public_html');
}
/**
* The actual directory name for the "app".
*/
if (!defined('APP_DIR')) {
define('APP_DIR', 'app');
}
/**
* The absolute path to the "cake" directory, WITHOUT a trailing DS.
*/
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
define('CAKE_CORE_INCLUDE_PATH', DS.'home'.DS.'your_username'.DS.'public_html'.DS.'cake');
}

 

=> Như vậy là các bạn đã cài đặt xong CakePHP trên Hostgator (Shared Hosting).

Mở rộng,

1) Nếu các bạn chỉ muốn test CakePHP trên hosting của mình với địa chỉ http://xxx.xxx.xxx.xxx/~your_username thì các bạn mở file .htaccess ở thư mục gốc /home/your_username/public_html và thêm dòng lệnh sau RewriteBase /~your_username/

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
RewriteBase /~your_username/

2) Đôi khi việc upload file lên hosting sẽ phát sinh nhiều lỗi ngoài ý muốn. Ví dụ khi tôi gặp lỗi này “Cannot modify header information — headers already sent by (output started at /home/your_username/public_html/app/controllers/app_controller.php:63) [CORE/libs/controller/controller.php, line 742]” thì cách giải quyết cũng đơn giản. Đó là tôi sẽ xóa tất cả những dòng trống sau dấu ?> trong file.

Hướng dẫn cài đặt CakePHP trên Hostgator (Shared Hosting)

 

Hi vọng bài viết này sẽ giúp ích cho các bạn. Thân ái!

 

 

Tấn Việt

Tôi lập trang web này để thỏa mãn sở thích viết cái gì đó vui vui khi rãnh rỗi và đồng thời cũng chia sẻ những gì tôi biết hoặc đọc đâu đó trên mạng về Lập trình web. Tôi hi vọng những bài viết này sẽ giúp ích cho các bạn. Thân ái!

You may also like…

2 Responses

  1. thanh says:

    Chào bạn Tấn Việt,

    Hiện tại tôi đang gặp phải tình trạng là domain đang chạy web ngon lành code cakephp giờ phải chuyển domain bỏ domain củ, Khi chuyển code sang domain mới thì bị báo lỗi 500 web không hoạt động được.

    Giờ phải làm thế nào ạ.

  2. Oliver Dev says:

    Tôi không muốn chia sẻ lưu trữ bởi vì nó có hiệu suất kém và an ninh. Tôi muốn giới thiệu bạn để lưu trữ CakePHP trên một vps thay thế. VPS như DigitalOcean và Linode là khá phải chăng. Nếu bạn không biết làm thế nào để thiết lập một vps, sau đó bạn có thể sử dụng nền tảng, như Cloudways, cho điều đó.