HomeLập trìnhPhpCách thiết lập...

Cách thiết lập PHP, CaddyServer và Kirby trên MacOS — và tại sao bạn nên làm điều đó


của Philipp Haidenbauer

8-zxHXFMXpzFd54O33-70iNYm8E0xVgPvLFl
Ảnh của Max Nelson trên Bapt

Gần đây Kirby Phiên bản 3.0 đã được phát hành. Vì tôi đã làm việc với Phiên bản 2 khá lâu trước đây, tôi đã hiểu tại sao không thử?

Ngay trước Giáng sinh, tôi đã mua một chiếc MacBook Air hoàn toàn mới, vì vậy rõ ràng là tôi muốn dùng thử Kirby ngay lập tức trên nó. Tôi tình cờ đọc được một bài viết tuyệt vời về cách thiết lập CaddyServer và PHP trên MacOS. Nhưng tôi đã thay đổi một phần của nó.

CaddyServer, PHP và Kirby

Hãy bắt đầu với một tổng quan ngắn gọn về phần mềm mà tôi đang nói đến.

PHP

Tôi không nghĩ mình có nhiều điều để nói về PHP. Đây có lẽ là một trong những Ngôn ngữ kịch bản lâu đời nhất hiện có trong Thế giới web. PHP là “ngôn ngữ” để làm cho trang web của bạn “động”. Và đó cũng là ngôn ngữ đầu tiên tôi khám phá và học chơi xung quanh.

Máy chủ Caddy

Là một Máy chủ Web nhỏ nhưng rất mạnh mà tôi đã phát hiện ra cách đây vài tháng. Nó có một số tính năng thực sự hay như SSL/HTTP tự động và tệp cấu hình thực sự dễ dàng (mà bạn sẽ thấy sau). Và nó rất nhanh. 🙂

Kirby

Một công cụ tuyệt vời khác mà tôi đã phát hiện ra cách đây vài năm. Về cơ bản, đó là một CMS (Hệ thống quản lý nội dung) dựa trên Cấu trúc tệp đơn giản. Ngay cả khi bạn không biết nhiều về PHP, việc tạo mẫu cho các trang và mở rộng toàn bộ chức năng cũng tương đối đơn giản.

Đọc thêm  [PHP] Gói phép tính cộng/trừ trong thẻ p

Tại sao?

Bây giờ bạn đã biết về cả ba dự án, bạn có thể hỏi tại sao nên sử dụng chúng cùng nhau. Vâng, có nhiều lý do cho nó:

  • MacOS đi kèm với cài đặt apache2 mặc định, nhưng như bạn có thể biết, Apache là một trong những máy chủ HTTP lớn nhất hiện có. Nó được áp dụng rộng rãi, nhưng nó có một nhược điểm. Nó ngốn bộ nhớ và CPU như không có máy chủ web nào khác ngoài kia. Vì vậy, nếu bạn đang di chuyển, nó cũng ngốn pin như điên và tôi không thích điều đó.
  • Caddy rất nhẹ và không thực sự sử dụng nhiều Bộ nhớ / CPU / Pin.
  • Kirby, như tôi đã nói, rất dễ tùy chỉnh và mở rộng. Vì đây là một CMS nên bạn không cần phải lo lắng về cơ sở dữ liệu hoặc logic dành riêng cho ứng dụng ngay từ đầu. Bằng cách đó, bạn có thể tạo nguyên mẫu khá nhanh, dẫn đến kết quả nhanh hơn và hài lòng hơn khi bạn hoàn thành công việc. 🙂

Không có gì khó chịu, hãy bắt đầu thiết lập nó:

Đầu tiên

Điều cần thiết là phải cài đặt homebrew, vì việc quản lý gói trở nên dễ dàng hơn rất nhiều với nó.

Bạn có thể cài đặt nó bằng một lệnh đơn giản:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

PHP

Bây giờ chúng ta đã có trình quản lý gói, đã đến lúc cài đặt đúng phiên bản PHP. Kirby cần ít nhất PHP7.1 nên tôi đã cài đặt 7.2 🙂

brew install [email protected]

Ngoài ra còn có một số tiện ích mở rộng cần thiết:

brew install freetype jpeg libpng gd

Máy chủ Caddy

Bây giờ chúng ta đã cài đặt PHP và một số phụ thuộc, bây giờ chúng ta có thể cài đặt CaddyServer.

Đọc thêm  Tôi cần trợ giúp về xác thực biểu mẫu bằng php

Chỉ cần tải xuống Phiên bản phù hợp từ https://caddyserver.com/download.

Bạn sẽ nhận được một tệp zip. Giải nén nó và sao chép tệp thực thi vào một đường dẫn bên trong $PATH của bạn (trong trường hợp của tôi /Users/phaidenbauer/bin/):

unzip caddy_v0.11.2_darwin_amd64_personal.zipcp caddy /Users/phaidenbauer/bin/caddy

Kirby

Người tiếp theo là Kirby. Tải xuống lại zip từ https://getkirby.com/try.
Trích xuất nó ở đâu đó bạn có các dự án của mình. Trong trường hợp của tôi đó là /Users/phaidenbauer/development/.

Điều cần thiết tiếp theo để toàn bộ hoạt động này là Caddyfile cho Caddy biết phải làm gì 🙂

localhost:8080tls offroot ./gzip
rewrite {    r .*    to {path} {path}/ /index.php?{path}&{query}}
fastcgi / 127.0.0.1:9000 phpon startup launchctl load -w /Users/phaidenbauer/Library/LaunchAgents/[email protected] shutdown launchctl unload -w /Users/phaidenbauer/Library/LaunchAgents/[email protected]

Hãy đi qua nó:

localhost:8080 cho nó biết Cổng nào nó sẽ nghe. Nếu bạn không muốn chạy nó với quyền root (hoặc thông qua set_cap) bạn nên sử dụng thứ gì đó trên 1024.

tls off vô hiệu hóa tính năng SSL / HTTPS tích hợp, vì chúng tôi chỉ làm việc cục bộ.

root ./ đặt đường dẫn gốc của thư mục phục vụ.

gzip cho phép nén gzip cho các phản hồi.

rewrite { r .* to {path} {path}/ /index.php?{path}&{query} } viết lại tất cả các URL đến để phù hợp với nhu cầu của Kirby. (Đây có thể không phải là giải pháp tốt nhất nhưng nó hoạt động tốt với môi trường phát triển của tôi.)

fastcgi / 127.0.0.1:9000 php yêu cầu caddy chuyển tiếp yêu cầu đến máy chủ FastCGI. Đó là, trong trường hợp của chúng tôi, PHP.

Đọc thêm  Cách sử dụng Google Cloud Tasks trong Laravel PHP

Bây giờ chúng ta có hai chức năng đặc biệt.

on startup launchctl load -w /Users/phaidenbauer/Library/LaunchAgents/[email protected] shutdown launchctl unload -w /Users/phaidenbauer/Library/LaunchAgents/[email protected]

Như tôi đã đề cập trước đó, nó chỉ là một chiếc MacBook Air, vì vậy tôi không muốn PHP chạy mọi lúc. Đặc biệt là khi tôi không cần nó. Điều tuyệt vời là caddy có thể chạy các lệnh trong các sự kiện. Trong trường hợp này, chúng tôi sử dụng sự kiện khởi động và tắt máy để bắt đầu và dừng PHP. Tuyệt quá! Không còn lãng phí RAM và CPU khi kiểm tra email.

Bắt đầu mọi thứ 🙂

Bây giờ chúng tôi đã thiết lập khá nhiều. Điều cuối cùng cần làm là bắt đầu tất cả chúng lại với nhau và bắt đầu làm việc:

cd /Users/phaidenbauer/development/fly.phaidenbauer.comcaddy

Bạn sẽ thấy một cái gì đó như thế này:

Activating privacy features... done.http://localhost:8080WARNING: File descriptor limit 4864 is too low for production servers. At least 8192 is recommended. Fix with `ulimit -n 8192`.

Và thế là xong. Sử dụng trình duyệt yêu thích của bạn và lướt đến http://localhost:8080. Tùy thuộc vào việc bạn đã tải xuống bộ công cụ Kirby-Plainkit hay Kirby-Starter, bạn sẽ thấy một dòng chữ “Xin chào” đơn giản hoặc một bộ sưu tập đơn giản.

Và thế là xong. Chúc mừng hack 🙂



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status