MixEngine 0.0.1

Site đầu tiên của bạn

Đây là tài liệu hướng dẫn dùng MixEngine qua dòng lệnh mix. Nếu bạn muốn thao tác bằng giao diện đồ họa cho dễ hơn, hãy tải ứng dụng MixDB tại https://lab.mixnz.com/#mixdb. MixDB làm việc trên cùng một MixEngine, nên mọi khái niệm trong cẩm nang này vẫn áp dụng.

Trang này dẫn bạn đi trọn một vòng: cài một phiên bản PHP, một web server, tạo một project, một site, và có chứng chỉ mà trình duyệt chấp nhận. Trang giả định bạn đã cài MixEngine, nếu chưa thì xem Cài đặt MixEngine. Ngoài ra không giả định gì thêm.

1. Kiểm tra daemon

mix status

Lệnh mix đầu tiên sẽ tự khởi động daemon nếu nó chưa chạy, nên đây cũng là cách để biết bản cài đã hoạt động. Kết quả trả về gồm phiên bản của daemon, thư mục home của nó nằm ở đâu, và nó đang giám sát những gì. Lúc này thì chưa có gì cả.

2. Cài một phiên bản PHP

MixEngine không kèm sẵn runtime nào. Nó chỉ tải về đúng những phiên bản bạn yêu cầu. Xem có gì rồi chọn một cái:

mix runtime available --kind php
mix runtime install php 8.3.33

Phiên bản phải ghi chính xác, không phải một khoảng, và đây là cố ý. Nếu ghi 8.3 thì bạn đang bảo MixEngine chọn giữa những phiên bản mà chưa cái nào có trên máy. mix runtime list cho biết bạn đang có gì.

3. Cài và tạo một web server

Package là một chương trình MixEngine biết cách chạy. Service là một instance đang chạy của package đó, với cấu hình riêng. Caddy là front end mặc định:

mix package available
mix package install caddy 2.11.4
mix service create caddy 2.11.4
mix service list

Số phiên bản thay đổi theo thời gian, nên hãy lấy từ danh sách mà mix package available thật sự in ra, đừng chép từ trang này. Caddy chạy một lần cho cả home chứ không phải mỗi site một bản. Vì vậy id service của nó không có phần @name: mariadb@main là tên một instance cụ thể, còn caddy là cái duy nhất có.

4. Đăng ký một project

Project là một thư mục mà MixEngine biết tới. Vào thư mục bạn muốn phục vụ, hoặc tạo một thư mục trống nếu chỉ đang thử, rồi đăng ký:

mkdir -p ~/code/blog && cd ~/code/blog
echo '<?php phpinfo();' > index.php
mix project create

Không truyền tham số thì lệnh lấy thư mục hiện tại và đặt tên project theo tên thư mục. Ở đây project sẽ tên là blog.

5. Khai báo một site

mix site create --domain blog.test --kind php-fpm --https true

Đây là bước sẽ xin quyền, và trên máy mới thì đây là bước duy nhất xin quyền. MixEngine cần tên blog.test trỏ về chính máy bạn, và cần trình duyệt tin chứng chỉ mà nó sắp cấp. Nó gom cả hai việc đó, cộng thêm quyền lắng nghe trên cổng 80 và 443 nếu hệ điều hành coi đó là đặc quyền, rồi hiện một hộp thoại duy nhất cho tất cả. Muốn xem chính xác nó xin gì trước khi đồng ý, chạy mix elevation status. Trang MixEngine xin quyền để làm gì giải thích từng mục.

Từ chối cũng được. Site vẫn được tạo và vẫn chạy qua http://.

6. Mở site

mix site list

Rồi mở https://blog.test trên trình duyệt. Bạn sẽ thấy trang phpinfo() và một ổ khóa, không có cảnh báo nào. Nếu ổ khóa không xanh, hãy hỏi thẳng server thay vì đoán:

mix cert status

Lệnh này mở một kết nối TLS thật tới front end của bạn cho từng site, rồi báo lại chứng chỉ mà server thực sự đưa ra. Đó cũng là thứ duy nhất trình duyệt nhìn thấy.

7. Thêm cơ sở dữ liệu, nếu project cần

mix package install mariadb 12.3.2
mix service create mariadb@main 12.3.2
mix database create mariadb@main --name blog

Lệnh cuối tạo cơ sở dữ liệu và một tài khoản để truy cập nó. Mật khẩu không được in ra: nó được lưu vào credential store của hệ điều hành, và thứ được in ra là địa chỉ nơi nó được lưu. mix database open đưa mật khẩu thẳng cho ứng dụng quản lý cơ sở dữ liệu trên máy, không bao giờ để nó lọt vào lịch sử shell hay danh sách tham số.

Chuyện gì vừa xảy ra

Đọc tiếp


Trang này ở dạng Markdown: https://mixnz.github.io/mixengine/vi/getting-started.md