Chuyển tới nội dung chính
Version: 4.1

Các gói mà bản phân phối không cung cấp (h2o, Cherokee, PHP 5.6 - 7.3)

Phần lớn những gì HiTechCloud cài đặt đến từ kho của chính bản phân phối, cộng với Remi trên Enterprise Linux và packages.sury.org trên Debian/Ubuntu cho các phiên bản PHP. Một số thứ không được đóng gói ở đâu cho bản phát hành hiện tại:

Thiếu ở đâuMirror cung cấp gì
WebEngine h2oAlmaLinux / Rocky / RHEL 8, 9, 10 (không có trong EPEL)build từ upstream master tại một commit cố định
WebEngine CherokeeEL 8/9/10, Debian 12, Ubuntu 22.04/24.04 (bị bỏ sau bullseye)build từ kho cộng đồng, không có giao diện quản trị Python 2
PHP 5.6, 7.0, 7.1, 7.2, 7.3EL 9 và EL 10 (Remi chỉ đến 7.4 trên các bản này; EL 8 vẫn có)build lại từ source RPM của chính Remi, cùng bố cục /opt/remi/php56 và tên gói php56-php-*, kèm các bản vá OpenSSL 3 / ICU 74 / gcc 14 mà Debian dùng cho cùng các phiên bản

Các gói được build bởi workflow Packages trong deploy/packages/ (mỗi đích một job, bên trong container almalinux:N / debian / ubuntu) và được mirror phục vụ:

https://mirrors.hitechcloud.org/packages/el/<8|9|10>/x86_64/ dnf repository
https://mirrors.hitechcloud.org/packages/deb/<codename>/ flat apt repository
https://mirrors.hitechcloud.org/packages/index.json what is there

Không cần làm gì trên máy chủ​

hitechcloudcli phpversions install 5.6 và hitechcloudcli enterprise h2o install (hoặc trang Packages & Apps trên cổng 2087) hỏi bản phân phối trước và mirror sau: khi bản phân phối không có gói cho bản phát hành này mà mirror có, kho được thêm với tên hitechcloud-packages (/etc/yum.repos.d/hitechcloud-packages.repo hoặc /etc/apt/sources.list.d/hitechcloud-packages.list) và gói được cài từ đó. Máy chủ có bản phân phối đã cung cấp gói sẽ không bao giờ dùng bản của mirror.

Để xem mirror cung cấp gì cho máy này:

hitechcloudcli packages show
hitechcloudcli packages has php56-php-fpm && echo yes
hitechcloudcli packages enable # add the repository by hand
hitechcloudcli packages disable # remove it

Biến HITECHCLOUD_MIRROR trong môi trường trỏ toàn bộ việc này tới một mirror riêng, cũng là biến mà trình cài đặt sử dụng.

NOTE

PHP 5.6 - 7.3 đã hết vòng đời upstream. Các gói build lại chứa các bản vá bảo mật backport của Remi cho đến bản build cuối cùng của ông cho mỗi dòng và không có gì sau đó; chúng tồn tại để một ứng dụng vẫn cần PHP cũ có thể chạy trên bản phân phối hiện tại, sau cùng front-end, tường lửa và cơ chế cách ly theo tài khoản như mọi thứ khác - không phải là lý do để tiếp tục dùng nó.

Tự build​

cargo build --release --manifest-path devtools/Cargo.toml --target x86_64-unknown-linux-musl
T=devtools/target/x86_64-unknown-linux-musl/release
podman run --rm -v "$PWD/deploy/packages:/pkg:Z" -v "$PWD/dist:/dist:Z" -v "$PWD/$T:/tools:Z" almalinux:10 \
/tools/hitechcloud-devtools rpm-build --pkg-dir /pkg --el 10 --out /dist h2o cherokee php73
podman run --rm -v "$PWD/deploy/packages:/pkg:Z" -v "$PWD/dist:/dist:Z" -v "$PWD/$T:/tools:Z" debian:bookworm \
/tools/hitechcloud-devtools deb-build --pkg-dir /pkg --codename bookworm --out /dist cherokee

Khi đó dist/el10/x86_64/ là một kho dnf hoàn chỉnh (có repodata/) và dist/bookworm/ là một kho apt phẳng (Packages.gz). Các phiên bản được cố định trong deploy/packages/rpm/versions.env và deb/versions.env.