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
- MixEngine tải một bản PHP và một web server vào thư mục riêng của nó. Không có gì được cài ở mức hệ thống, và không phiên bản nào khác trên máy bạn bị đụng tới.
- Nó tạo một certificate authority, xin quyền tin cậy CA đó một lần, và cấp chứng chỉ 90 ngày cho
blog.test. Nó sẽ tự cấp lại chứng chỉ này trước khi hết hạn mà bạn không phải làm gì. - Nó tự viết file cấu hình cho web server. Cấu hình đó dùng xong bỏ: MixEngine sinh lại từ những gì nó biết, nên bạn không có file nào phải giữ cho đồng bộ.
Đọc tiếp
- Dự án và site: hai khái niệm cốt lõi, và mỗi cái quản gì.
- Phiên bản PHP, Node, Python và Ruby: cách một thư mục tự chọn phiên bản.
- Máy chủ, cơ sở dữ liệu và bộ nhớ đệm: mọi thứ một project cần để chạy.
- Tên miền và ổ khóa:
blog.testphân giải thế nào, và ai ký chứng chỉ. - MixEngine xin quyền để làm gì: từng hộp thoại, và nó thay đổi gì.
- Khi có gì đó không ổn: chạy
mix doctortrước đã.
Trang này ở dạng Markdown: https://mixnz.github.io/mixengine/vi/getting-started.md