
سريع وقابل للتوسيع عبر منصات متعددة لبروتوكول HTTP/1-2-3 مع HTTPS تلقائي
Caddy هي منصة خوادم قابلة للتوسيع تستخدم TLS افتراضيًا.
الإصدارات · التوثيق · احصل على المساعدة
أبسط طريقة عبر المنصات للبدء هي تنزيل Caddy من إصدارات GitHub ووضع الملف التنفيذي في مسار PATH الخاص بك.
اطلع على توثيقنا عبر الإنترنت للحصول على تعليمات التثبيت الأخرى.
المتطلبات:
ملاحظة: هذه الخطوات لن تضمّن معلومات الإصدار الصحيحة. لهذا، يرجى اتباع التعليمات في القسم التالي.
$ git clone "https://github.com/caddyserver/caddy.git"
$ cd caddy/cmd/caddy/
$ go build
عند تشغيل Caddy، قد يحاول الارتباط بمنافذ منخفضة ما لم يُحدد خلاف ذلك في التكوين الخاص بك. إذا كان نظام التشغيل الخاص بك يتطلب صلاحيات مرتفعة لهذا، فستحتاج إلى منح البرنامج الثنائي الجديد الخاص بك الإذن للقيام بذلك. على Linux، يمكن القيام بذلك بسهولة باستخدام: sudo setcap cap_net_bind_service=+ep ./caddy
إذا كنت تفضل استخدام go run الذي ينشئ برامج ثنائية مؤقتة فقط، فلا يزال بإمكانك القيام بذلك باستخدام setcap.sh المضمن كما يلي:
$ go run -exec ./setcap.sh main.go
إذا كنت لا ترغب في كتابة كلمة المرور الخاصة بك لـ setcap، فاستخدم sudo visudo لتعديل ملف sudoers الخاص بك والسماح لحساب المستخدم الخاص بك بتشغيل هذا الأمر بدون كلمة مرور، على سبيل المثال:
username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap
مع استبدال username باسم المستخدم الفعلي الخاص بك. يرجى توخي الحذر وفقط قم بذلك إذا كنت تعرف ما تفعله! نحن مؤهلون فقط لتوثيق كيفية استخدام Caddy، وليس أدوات Go أو جهاز الكمبيوتر الخاص بك، ونحن نقدم هذه التعليمات للراحة فقط؛ يرجى تعلم كيفية استخدام جهاز الكمبيوتر الخاص بك على مسؤوليتك الخاصة وإجراء أي تعديلات ضرورية.
ثم يمكنك تشغيل الاختبارات في جميع الوحدات أو وحدة محددة:
$ go test ./...
$ go test ./modules/caddyhttp/tracing/
باستخدام أداة البناء الخاصة بنا، xcaddy...
$ xcaddy build
...الخطوات التالية مؤتمتة:
mkdir caddycd caddygo mod init caddygo get github.com/caddyserver/caddy/v2@version مع استبدال version بـ git tag أو commit أو اسم فرع._ "import/path/here"go build -tags=nobadger,nomysql,nopgxموقع Caddy الإلكتروني يحتوي على توثيق يشمل دروسًا تعليمية وأدلة بداية سريعة ومرجع وأكثر.
نوصي جميع المستخدمين – بغض النظر عن مستوى الخبرة – باتباع دليل البدء الخاص بنا للتعرف على استخدام Caddy.
إذا كان لديك دقيقة واحدة فقط، الموقع لديه العديد من دروس البدء السريعة للاختيار من بينها! ومع ذلك، بعد الانتهاء من دليل البدء السريع، يرجى قراءة المزيد من التوثيق لفهم كيفية عمل البرنامج. 🙂
يُستخدم Caddy غالبًا كخادم HTTPS، ولكنه مناسب لأي برنامج Go طويل الأمد. قبل كل شيء، هو منصة لتشغيل تطبيقات Go. "تطبيقات" Caddy هي مجرد برامج Go يتم تنفيذها كوحدات Caddy. يأتي تطبيقان – tls و http – بشكل قياسي مع Caddy.
تستفيد تطبيقات Caddy فورًا من التوثيق الآلي، وتغييرات التكوين الأنيقة عبر الإنترنت عبر API، والتوحيد مع تطبيقات Caddy الأخرى.
على الرغم من أن JSON هي لغة التكوين الأصلية لـ Caddy، إلا أن Caddy يمكنه قبول المدخلات من محولات التكوين التي يمكنها بشكل أساسي تحويل أي تنسيق تكوين تختاره إلى JSON: Caddyfile وJSON 5 وYAML وTOML وتكوين NGINX والمزيد.
الطريقة الأساسية لتكوين Caddy هي من خلال API الخاص به، ولكن إذا كنت تفضل ملفات التكوين، فإن واجهة سطر الأوامر تدعمها أيضًا.
يقدم Caddy مستوى غير مسبوق من التحكم مقارنة بأي خادم ويب موجود. في Caddy، عادةً ما تقوم بتعيين القيم الفعلية للأنواع المهيأة في الذاكرة التي تشغل كل شيء من معالجات HTTP ومصافحات TLS إلى وسيلة التخزين الخاصة بك. Caddy أيضًا قابل للتوسع بشكل مذهل، مع نظام إضافات قوي يحسن بشكل كبير على خوادم الويب الأخرى.
لتسخير قوة هذا التصميم، تحتاج إلى معرفة كيفية هيكلة مستند التكوين. يرجى مراجعة موقع التوثيق الخاص بنا للحصول على تفاصيل حول هيكلة تكوين Caddy.
تقريبًا جميع تكوينات Caddy موجودة في مستند تكوين واحد، بدلاً من أن تكون موزعة عبر أعلام CLI ومتغيرات البيئة وملف تكوين كما هو الحال مع خوادم الويب الأخرى. هذا يجعل إدارة تكوين الخادم الخاص بك أكثر وضوحًا ويقلل من المتغيرات/العوامل المخفية.
موقعنا الإلكتروني يحتوي على توثيق كامل:
التوثيق مفتوح المصدر أيضًا. يمكنك المساهمة فيه هنا: https://github.com/caddyserver/website
ننصح الشركات التي تستخدم Caddy بتأمين عقد دعم من خلال Ardan Labs قبل الحاجة إلى المساعدة.
الرعاية تقطع شوطًا طويلاً! يمكننا تقديم مساعدة خاصة للرعاة. إذا كانت Caddy تفيد شركتك، فيرجى التفكير في الرعاية. هذا لا يساعد فقط في تمويل العمل بدوام كامل لضمان طول عمر المشروع، بل يوفر لشركتك الموارد والدعم والخصومات التي تحتاجها؛ إلى جانب كونه مظهرًا رائعًا لشركتك لعملائك وعملائك المحتملين!
يمكن للأفراد تبادل المساعدة مجانًا في منتدى المجتمع الخاص بنا على https://caddy.community. تذكر أن الأشخاص يقدمون المساعدة من وقت فراغهم وحسن نيتهم. أفضل طريقة للحصول على المساعدة هي تقديمها أولاً!
يرجى استخدام متتبع المشكلات الخاص بنا فقط للإبلاغ عن الأخطاء وطلبات الميزات، أي عناصر التطوير القابلة للتنفيذ (سيتم عادةً إحالة أسئلة الدعم إلى المنتديات).
بدأ ماثيو هولت تطوير Caddy في عام 2014 أثناء دراسة علوم الكمبيوتر في جامعة بريغام يونغ. (تم اختيار اسم "Caddy" لأن هذا البرنامج يساعد في المهام المملة والروتينية لخدمة الويب، وهو أيضًا مكان واحد لتنظيم أشياء متعددة معًا.) سرعان ما أصبح أول خادم ويب يستخدم HTTPS تلقائيًا وافتراضيًا، والآن لديه مئات المساهمين وقد خدم تريليونات طلبات HTTPS.
اسم "Caddy" هو علامة تجارية. اسم البرنامج هو "Caddy"، وليس "Caddy Server" أو "CaddyServer". يرجى تسميته "Caddy" أو، إذا كنت ترغب في التوضيح، "خادم الويب Caddy". Caddy هي علامة تجارية مسجلة لشركة Stack Holdings GmbH.
Caddy هو مشروع تابع لـ ZeroSSL، إحدى شركات HID Global.
استضافة مستودع حزم Debian مقدمة بسخاء من Cloudsmith. Cloudsmith هو الحل الوحيد المُستضاف بالكامل والسحابي والعالمي لإدارة الحزم، والذي يتيح لمؤسستك إنشاء وتخزين ومشاركة الحزم بأي تنسيق، إلى أي مكان، بثقة تامة.