October CMS là gì? Nếu bạn chưa nghe đến Octorber CMS thì đây là hệ quản trị nội dung ( Content Manager System ) được phát triển bằng ngôn ngữ PHP 7.0 trên nền tảng Framework Laravel nổi tiếng. Là một CMS đa năng mạnh mẽ với cộng đồng lập trình viên xây dựng mạnh mẽ October cho thấy một viễn tưởng sáng giá cho CMS thay thế WordPress trong thời gian tới. Dựa trên Framework Laravel do đó nó là CMS phổ biến đầu tiền được các lập trình viên quen thuộc Laravel chọn cho dự án sắp tới của mình.

Trong khuôn khổ bài viết này mình xin trình bày cách cài đặt CMS này:

Cấu hình VPS, Hosting phù hợp cho October CMS

Yêu cầu cài đặt cảu October CMS

Yêu cầu cài đặt cảu October CMS

Để đảm bảo quá trình cài đặt diễn ra suôn sẽ và hoạt động hosting của bạn phải thỏa mảng các yêu cầu sau đây.

  1. PHP version 7.0 or higher
  2. PDO PHP Extension
  3. cURL PHP Extension
  4. OpenSSL PHP Extension
  5. Mbstring PHP Library
  6. ZipArchive PHP Library
  7. GD PHP Library

Đối với một số hệ điều hành bạn cần cài đặt bằng tay thư viện PHP JSON

Trên Ubuntu gõ câu lệnh sau để cài đặt thư viện Php Json
apt-get install php5-json

Để kết nối với SQL Server bạn cần cài đặt thêm module kết nối GROUP CONCAT tại địa chỉ này

October Cms có thể được cài đặt bằng 2 cách sau:

1.Sử dụng trình cài cặt Wizard

Nhằm tối đơn giản quá trình tiếp cận với October, trình cài đặt Wizard của October là cực kì đơn giản, bạn chỉ cần cung cấp các thông tin cơ bản là quá trình cài đặt sẽ diễn ra một cách suôn sẽ mà không cần một kỹ năng code nào.

Các bước cài đặt October CMS:

  1. Chuẩn bị một thư mục sạch trên hosting cần cài đặt mã nguồn.
  2. Download bản cài đặt tại trang chủ của October Cms
  3. Giải nén và upload bản cài đặt lên thư mục cần cài đặt.
  4. Thêm quyền truy suất tập tin và thư mục như yêu cầu của màn hình cài đặt.
  5. Truy cập vào đường dẫn của file install.php trên trình duyệt.
  6. Cung cấp các thông tin cần thiết mà trình cài đặt October yêu cầu.

Lưu ý: Trong quá trình cài đặt bằng trình hướng dẫn đôi khi bạn sẽ gặp một số thông báo lỗi sau, hãy bình tĩnh và khắc phục với các gợi ý sau

  1. Hiển thị thông báo 500 trong quá trình tải các file ( An error 500 is displayed when downloading the application files ): bạn cần tăng thời gian duy trì kết nối để download các tập tin hệ thống cần thiết trên webserver. Với , Apache’s FastCGI cần tăng thông số -idle-timeout lên trên 30 giây
  2. Hiển thị màn hình trắng khi bắt đầu cài đặt ( A blank screen is displayed when opening the application): cẩn kiểm tra lại quyền truy cập thư mục /storage cần set quyền đọc và ghi cho thư mục này.
  3. Hiển thị mã lỗi “liveConnection ( An error code “liveConnection” is displayed ) kiểm tra lại port 80 trên web server xem có bị chặn hay không.
  4. Hiển thị thông báo 404 khi truy cập vào admin ( The back-end area displays “Page not found” (404) ): lỗi này thường xảy ra khi kết nỗi lỗi với database, cẩn kiểm tra xem database có nguyên vẹn hay không?

Ngoài ra để tìm hiểu chính xác các lỗi  xảy ra trong quá trình cài đặt bạn có thể xem thêm file log tại thư mục install_files/install.log

2.Cài đặt thông qua Command Line

Để có thể cài đặt thông qua Command Line yêu cầu cơ bản là server của bạn phải có composer. Sử dụng các lệnh sau để cài đặt October CMS

Download phiên bản mới nhất, hoặc phiên bản hỗ trợ php5.5 là 1.0.419 tại gitbub project october

Sử dụng Curl để download
curl -s https://octobercms.com/api/installer | php
hoặc dùng php process
php -r "eval('?>'.file_get_contents('https://octobercms.com/api/installer'));"

Sử dụng composer để tạo 1 project mới với October

composer create-project october/october myoctober

Sau khi quá trình tạo project đã hoàn tất vào thư mục config và tìm file cms.php tặt tính năng Core update của CMS

'disableCoreUpdates' => true,

Sau đó truy cập tới thư mục project đã tạo phía trên và cập nhật bằng composer

composer update
hoặc 
composer install

Sau khi composer download các gói dữ liệu cần thiết, chúng ta cần khởi tạo cơ sở dữ liệu cho october

sử dụng lênh5

php artisan october:insttall

Trả lời các câu hỏi trong màn hình giao diện command line để tạo file cấu hình ứng dụng

php artisan october:down
php artisan october:up

Vào trong phpadmin tìm đến table BackendUser, sửa lại thông tin đăng nhập, password mặc định là: admin

Tùy chỉnh cho Apache Webserver:

Để October có thể chạy trên Apache thì yêu cầu cần phải có 2 plugin sau:

  1. mod_rewrite should be installed
  2. AllowOverride option should be switched on

Trong file .htaccess hoặc cấu hình cho website cần bật 2 tính năng

##
## You may need to uncomment the following line for some hosting environments,
## if you have installed to a subdirectory, enter the name here also.
##
# RewriteBase /

Nếu cài đặt October trong SubFolder

RewriteBase /mysubdirectory/

Tùy chỉnh cho Nginx Webserver:

Tùy chỉnh cấu hình Nginx server theo đoạn mã phía dưới đây

location / {
    try_files $uri /index.php$is_args$args;
}

rewrite ^themes/.*/(layouts|pages|partials)/.*.htm /index.php break;
rewrite ^bootstrap/.* /index.php break;
rewrite ^config/.* /index.php break;
rewrite ^vendor/.* /index.php break;
rewrite ^storage/cms/.* /index.php break;
rewrite ^storage/logs/.* /index.php break;
rewrite ^storage/framework/.* /index.php break;
rewrite ^storage/temp/protected/.* /index.php break;
rewrite ^storage/app/uploads/protected/.* /index.php break;

Tùy chình cho Lighttpd Webserver:

$HTTP["host"] =~ "domain.example.com" {
    server.document-root = "/var/www/example/"

    url.rewrite-once = (
        "^/(plugins|modules/(system|backend|cms))/(([w-]+/)+|/|)assets/([w-]+/)+[-w^&'@{}[],$=!#().%+~/ ]+.(jpg|jpeg|gif|png|svg|swf|avi|mpg|mpeg|mp3|flv|ico|css|js|woff|ttf)(?.*|)$" => "$0",
        "^/(system|themes/[w-]+)/assets/([w-]+/)+[-w^&'@{}[],$=!#().%+~/ ]+.(jpg|jpeg|gif|png|svg|swf|avi|mpg|mpeg|mp3|flv|ico|css|js|woff|ttf)(?.*|)$" => "$0",
        "^/storage/app/uploads/public/[w-]+/.*$" => "$0",
        "^/storage/temp/public/[w-]+/.*$" => "$0",
        "^/(favicon.ico|robots.txt|sitemap.xml)$" => "$0",
        "(.*)" => "/index.php$1"
    )
}

Tùy chỉnh dành cho IIS Webserver:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="redirect all requests" stopProcessing="true">
                    <match url="^(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />
                    </conditions>
                    <action type="Rewrite" url="index.php" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

About the author

Kevin Dang

Hey there! My name is Kevin Dang, I am website, software, mobile app develop, web admin system. Expert living in Hồ Chí Minh (Việt Nam). I am very interested in digital marketing with: SEO, Facebook, Google Ads ... This blog is where I will share the experiences, techniques and knowledge I have learned.