Cài đặt môi trường phát triển OctoberCMS

OctoberCMS được phát triển trên nền tảng Laravel framework do vậy nó kế thừa được toàn bộ những gì Laravel có. Trong bài viết này chúng ta cùng thực hiện cài đặt môi trường để OctoberCMS có thể chạy trên đó. Các phần mềm cơ bản cần có để chạy được ứng dụng PHP nói chung bao gồm:

  • Phần mềm máy chủ web: Nginx, apache
  • Phần mềm cơ sở dữ liệu: MySQL (MariaDB), PostgreSQL...
  • Phần mềm biên dịch mã PHP

Ngoài ra, có rất nhiều các phần mềm khác cần thiết như composer, node.js, git, redis, memcached...

Hiện nay có hai cách thức để thiết lập môi trường chạy ứng dụng PHP nói chung hay Laravel, OctoberCMS nói riêng:

  • Cách 1: Cài đặt các phần mềm trên trực tiếp trên máy tính cá nhân, có thể cài đặt từng ứng dụng hoặc thông qua các ứng dụng tích hợp như XAMPP, LAMP, Laragon...
  • Cách 2: Cài đặt các phần mềm cần thiết trên máy ảo.

Mỗi cách thức cài đặt đều có những ưu nhược điểm riêng, chúng ta sẽ cùng bàn luận về vấn đề này cuối bài hướng dẫn.

Cài đặt thủ công từng phần mềm

Môi trường phát triển cần cài đặt rất nhiều các phần mềm, theo cách truyền thống chúng ta có thể cài đặt từng thành phần riêng biệt này.

Đầu tiên, chúng ta cần có phần mềm máy chủ web, với các ứng dụng PHP các webserver thường dùng nhất là Nginx, Apache thậm chí Microsoft IIS (ít dùng).

Tiếp đó, chúng ta cần cài đặt trình biên dịch PHP, đương nhiên rồi, chúng ta viết code PHP thì rất cần có phần mềm này để Webserver có thể hiểu được cần làm gì?

Mọi thứ đã hòm hòm nếu bạn chỉ có các trang HTML tĩnh, nhưng ở cái thế giới hiện nay làm gì còn những website kiểu đấy, chúng ta cần có hệ quản trị CSDL để chứa dữ liệu động cho website. Các hệ quản trị CSDL miễn phí thường sử dụng với PHP hiện nay có MySQL (đổi tên thành MariaDB), PostgreSQL.

Cài đặt môi trường phát triển OctoberCMS thông qua gói phần mềm XAMPP, LAMP, LEMP

XAMPP, LAMP là một gói phần mềm cài đặt cho máy chủ web có các biến thể chạy cho các hệ điều hành khác nhau như Windows, Linux, MacOS. Các gói này thông thường sẽ bao gồm các phần mềm cơ bản mà máy chủ web cần có.

XAMPP được tích hợp sẵn Apache, PHP, MySQL (MariaDB), FTP Server và cả Mail server.

WAMP

LAMP (Linux + Apache + MySQL + PHP) cũng là một gói phần mềm tích hợp thường sử dụng cho webserver, tuy nhiên chỉ sử dụng cho hệ điều hành Linux là hệ điều hành sử dụng nhiều nhất cho các website chạy bằng PHP.

LEMP (Linux + NginX (Engine X) + MySQL + PHP) cũng là một gói hay dùng, đa số website PHP hiện nay sử dụng NginX nhiều hơn Apache do NginX hoạt động rất hiệu quả và tốn ít tài nguyên.

Cài đặt các gói phần mềm này khá dễ dàng, chúng ta sẽ thực hiện cài đặt XAMPP (khi phát triển ở Việt Nam chủ yếu dùng hệ điều hành Windows nên dùng XAMPP), tải và cài đặt như các ứng dụng thông thường với công nghệ "NEXT" :). Sau khi cài đặt, chạy ứng dụng XAMPP sẽ có bảng điều khiển như dưới đây:

Bảng điều khiển XAMPP

Trên bảng điều khiển này chúng ta có thể thực hiện rất nhiều các thao tác như bật tắt, cấu hình các phần mềm thành phần. Quản trị cơ sở dữ liệu MySQL chúng ta sử dụng phpMyAdmin. Khi đã start máy chủ web Apache, chúng ta kiểm tra hoạt động phần mềm bằng cách vào địa chỉ http://localhost

Trang chủ XAMPP trên máy cá nhân

Nếu mọi thứ ok, màn hình hiển thị sẽ là lời chào từ XAMPP và một số các đường dẫn đến những thứ hay ho cần thiết khi làm việc.

Với cách cài đặt sử dụng XAMPP, LAMP bạn cần cài thêm một số các ứng dụng cần thiết như Composer, Node.js.

(Tham khảo Hướng dẫn Composer từ A đến Z)

Cài đặt XAMPP chúng ta cần tạo tên miền ảo cho các virtual host nếu chúng ta cùng lúc phát triển nhiều dự án. Dùng phần mềm soạn thảo chạy với quyền admin sửa file C:\Windows\system32\drivers\etc\hosts và thêm vào tên miền ảo, ví dụ bạn đang phát triển dự án octobercms sẽ dùng tên miền octobercms.test chẳng hạn:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
127.0.0.1       octobercms.test

Thiết lập này giúp khi gõ địa chỉ octobercms.test nó sẽ phân giải ra địa chỉ IP cục bộ của máy tính và tiếp theo là tìm đến thiết lập virtual host trong file C:/xampp/apache/conf/extra/httpd-vhosts.conf (Chú ý đường dẫn có thể khác nếu bạn thiết lập đường dẫn này khi cài XAMPP), thêm đoạn thiết lập Virtual host:

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/octobercms/public"
    ServerName octobercms.test
</VirtualHost>

Laragon - phần mềm "All in one" phát triển cho OctoberCMS

Laragon giống như tên gọi của nó là một phần mềm tích hợp đủ thứ để phát triển cho Laravel và đương nhiên có thể dùng để phát triển OctoberCMS. Phần mềm này chỉ có phiên bản cài đặt cho hệ điều hành Windows cũng rất ok cho lập trình viên Việt Nam.

Laragon ngoài việc tích hợp các phần mềm máy chủ cơ bản như Nginx, Apache, PHP, MySQL nó còn tích hợp cả một mớ các phần mềm hữu ích khác như cmder, heidisql, notepad++... Bạn không cần phải làm gì khác ngoài việc cài đặt Laragon và bắt đầu code, thật nhàn.

Màn hình Laragon

Laravel Homestead - giải pháp ảo hóa cho phát triển Laravel, OctoberCMS

Laragon đã làm rất nhiều công việc cho bạn, chỉ với một click bạn đã có ngay môi trường phát triển, điều đó thật tuyệt vời, tuy nhiên Laragon chỉ có thể chạy được trên Windows. Bạn biết đấy, chỉ ở Việt Nam các lập trình viên mới dùng Windows nhiều, phần còn lại họ dùng MacOS và Linux chiếm tỉ trọng rất lớn. Một giải pháp cho đa nền tảng là ảo hóa.

Rất may, hiện nay có nhiều giải pháp như Docker, Vagrant là những phần mềm có thể tương tác với các phần mềm ảo hóa như VirtualBox, VMWare tạo ra các môi trường ảo hóa theo mong muốn. Các phần mềm này quản lý toàn bộ máy ảo bằng dòng lệnh, hỗ trợ các box là các gói hệ điều hành với những thiết lập, cài đặt sẵn riêng. Laravel Homestead chính là một box được cài đặt sẵn các phần mềm và việc của bạn là tập trung vào phát triển mà thôi. Với mô hình này, bạn có thể chuyển thiết lập sang một máy khác hoặc thậm chí triển khai nó lên Internet chỉ vài dòng lệnh.

Bước 1: Cài đặt Git

Git là phần mềm quản lý mã nguồn phân tán phổ biến nhất hiện nay, sử dụng git giúp bạn làm việc với các kho mã nguồn mở như Github. Nếu sử dụng Windows cài đặt Git + Git Bash do các câu lệnh thực hiện trong Windows đều thông qua cmd, nó không hỗ trợ sẵn các câu lệnh Linux trong khi đa phần tài liệu viết cho Linux do đó khi cài bản Git ở trên bạn có thể tùy chọn cài đặt thêm Git Bash là công cụ hỗ trợ các lệnh Linux trên môi trường Windows.

Lựa chọn cài đặt Git Bash

Bước 2: Cài đặt phần mềm máy ảo

Phần mềm máy ảo là phần mềm giả lập một máy tính khác trong máy tính của chúng ta, máy tính ảo cũng có các thành phần như ổ lưu trữ, RAM, VGA, Network card... Hiện có rất nhiều các phần mềm máy ảo nổi tiếng như VMWare, VirtualBox, Parallels, Hyper-V... VMWare được biết đến từ hàng chục năm trước với khả năng tạo môi trường ảo hóa mạnh mẽ, cho phép thiết lập cả một hệ thống mạng máy tính, tuy nhiên là đây phần mềm trả phí. Một lựa chọn phổ biến hiện nay là sử dụng VirtualBox, phần mềm miễn phí đến từ Oracle.

Thực hiện tải VirtualBox và cài đặt từng bước rất đơn giản.

Bước 3: Cài đặt Vagrant

Vagrant là phần mềm mã nguồn mở sử dụng để xây dựng và duy trì các môi trường phát triển ứng dụng ảo. Một số nhà phát triển có thể tạo sẵn các môi trường ảo (gọi là các box) với các phần mềm cần thiết và lưu trữ trên Vagrant cloud. Nó giúp bạn tạo ra môi trường phát triển nhanh chóng, Vagrant sẽ thực hiện tải về môi trường ảo này trên clound và thiết lập, ra lệnh đến các phần mềm máy ảo chạy các box này. Cài đặt ứng dụng Vagrant cũng khá đơn giản, sau khi cài đặt xong bạn sẽ không thấy biểu tượng chạy Vagrant do nó hoạt động hoàn toàn trên dòng lệnh. Để kiểm tra Vagrant hoạt động chưa, bạn mở terminal (hoặc Git Bash nếu dùng Windows) và thực hiện lệnh vagrant -h.

Kiểm tra hoạt động của Vagrant

Bước 4: Cài đặt Laravel Homestead

Laravel Homestead là một box được lưu trữ trên Vagrant cloud. Homestead đã tích hợp sẵn máy chủ web Nginx, PHP 7.3, MySQL, Redis, Memcached, Node và nhiều các ứng dụng khác, do vậy chỉ cần chạy là bạn đã có một môi trường phát triển ứng dụng Laravel và OctoberCMS hoàn chỉnh.

Thực hiện lệnh sau đây để tải box Laravel Homestead từ trên Vagrant cloud về:

vagrant box add laravel/homestead

Câu lệnh này thực hiện sẽ mất kha khá thời gian do dung lượng của box này khoảng 1.2 GB.

Tải box Laravel Homestead về máy

Như vậy chúng ta đã có box, tiếp theo chúng ta cần tạo ra cấu hình để Vagrant biết thực hiện công việc chạy môi trường ảo. Cấu hình này có một số file và đã được tạo thành một repository trên Github. Bạn thực hiện clone repository này về máy vào thư mục Homestead ở thư mục gốc thông qua câu lệnh:

git clone https://github.com/laravel/homestead.git ~/Homestead

Với môi trường Windows chúng ta bỏ dấu ~ đi.

git clone https://github.com/laravel/homestead.git /Homestead

Chúng ta cũng nên checkout phiên bản cấu hình mới nhất của Homestead, các phiên bản này có thể xem trên trang phiên bản đã phát hành của Homestead.

cd Homestead
git checkout v8.4.0

Sau khi checkout phiên bản mới nhất, trong thư mục Homestead vẫn chưa có file Homestead.yaml, đây là file cấu hình máy ảo cho phép thiết lập các thông tin về tài nguyên máy ảo và một số thông tin kết nối. Thực hiện lệnh

bash init.sh

nếu môi trường là Linux, MacOS (tuy nhiên ở bước 1 chúng ta đã cài Git Bash thì Windows cũng thực hiện được lệnh này). Hoặc lệnh

init.bat

Nếu môi trường sử dụng là Windows. Kiểm tra thư mục Homestead, chúng ta đã thấy có file Homestead.yaml, mở lên và thực hiện cấu hình một số thông số như sau:

---
ip: "192.168.10.10"
memory: 1024
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

# keys:
#     - ~/.ssh/id_rsa

folders:
    - map: ~/octobercms
      to: /home/vagrant/octobercms

sites:
    - map: dev.octobercms
      to: /home/vagrant/octobercms/public

databases:
    - octobercms

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# zray:
#  If you've already freely registered Z-Ray, you can place the token here.
#     - email: foo@bar.com
#       token: foo
#  Don't forget to ensure that you have 'zray: "true"' for your site.

Một số thông tin trong file này bao gồm:

  • ip: địa chỉ IP của máy ảo khi chạy, sử dụng địa chỉ này để map với tên miền ảo thông qua phần sites.
  • memory, cpus, provider là thông tin của máy ảo như lượng RAM, số CPU và chạy trên phần mềm máy ảo nào.
  • folders: map một thư mục ở ngoài vào trong máy ảo, ở đây chúng ta map thư mục octobercms cùng cấp với thư mục Homestead ở thư mục gốc vào thư mục /home/vagrant/octobercms trong máy ảo. Việc map này giúp cho toàn bộ source code chúng ta lưu trữ ngoài máy ảo và có thể copy, chia sẻ với người khác.
  • databases: tên cơ sở dữ liệu sẽ được tạo ra khi máy ảo chạy.

Các thiết lập đã ok, chúng ta chạy máy ảo thông qua câu lệnh:

cd Homestead
vagrant up

Chạy máy ảo bằng câu lệnh vagrant up

Như vậy máy ảo đã chạy như là một máy tính độc lập trong mạng với địa chỉ IP như trong file cấu hình Homestead.yaml.

Chúng ta có thể SSH đến máy ảo này thông qua vagrant SSH hoặc có thể dùng màn hình console trực tiếp thông qua VirtualBox.

Màn hình console trực tiếp trên VirtualBox

vagrant ssh

Vagrant SSH

Chúng ta đã hoàn thành môi trường phát triển Laravel, OctoberCMS. Với môi trường này trong bài tiếp theo chúng ta sẽ thực hiện cài đặt OctoberCMS.

Đánh giá các giải pháp tạo môi trường phát triển

Mỗi giải pháp cài đặt môi trường phát triển OctoberCMS trên máy tính cá nhân đều có những ưu nhược điểm khác nhau, nó phụ thuộc vào hiện trạng mỗi dự án. Bảng sau đây đưa ra một số tiêu chí đánh giá các phương án:

Giải pháp Số thao tác Thiết lập server Triển khai dự án lên Internet Yêu cầu cấu hình máy
Cài đặt từng thành phần Cực nhiều click Nhiều Khó, có bug liên quan đến môi trường phát triển Cấu hình thấp
Gói phần mềm LAMP, LEMP, WAMP 1 click Ít Khó, có bug liên quan đến môi trường phát triển Cấu hình thấp
Gói phần mềm Laragon 1 click Ít Khó, có bug liên quan đến môi trường phát triển Cấu hình thấp
Máy ảo Laravel Homestead vài click Ít Dễ, loại bỏ bug liên quan môi trường phát triển Cần cấu hình mạnh do chạy máy ảo

Như vậy, với những dự án đơn lẻ, tài nguyên ít, đặc biệt là sử dụng hệ điều hành Windows chúng ta chỉ cần lựa chọn cài đặt Laragon là hợp lý, thao tác gọn nhẹ đơn giản.

Các dự án lớn phát triển theo nhóm, các máy tính cấu hình mạnh thì sử dụng Laravel Homestead với Vagrant và VirtualBox là tốt nhất, đảm bảo tính đồng bộ từ phát triển đến triển khai ứng dụng trên Internet.

development environment 1 laragon 1 laravel homestead 1 vagrant 1 virtualbox 1
FirebirD AZ Tutorials Network

Đam mê lập trình, muốn chia sẻ kiến thức với mọi người

- of 0

Không bình luận, chỉnh sửa được: Bạn cần phải đăng nhập.