تخطَّ إلى المحتوى

☁️ شرح الحوسبة السحابية (AWS)

كيف تستضيف موقعًا ثابتًا على Amazon S3؟

الدرس 9 من 33· ⏱ 2 دقائق قراءة

بعد أن عرفت ما هو Amazon S3؟، سنستخدمه لاستضافة موقع ثابت (HTML و CSS و JavaScript) بأبسط طريقة وأرخصها.

⚠️ الأوامر تمثيلية؛ استبدل my-unique-bucket-name باسم حاوية فريد عالميًا، وشغّلها في حساب حقيقي للتأكّد.

المتطلّبات المسبقة

  • حساب AWS و AWS CLI مُهيّأة.
  • ملفّات موقع ثابت (على الأقلّ index.html). راجع أساسيات HTML إن لزم.

الخطوة 1: أنشئ حاوية (Bucket)

aws s3 mb s3://my-unique-bucket-name

الخطوة 2: فعّل استضافة المواقع الثابتة

اضبط الحاوية لتقدّم صفحة رئيسية وصفحة خطأ:

aws s3 website s3://my-unique-bucket-name \
  --index-document index.html \
  --error-document error.html

الخطوة 3: ارفع ملفّات موقعك

يزامن sync مجلّدك المحلّي مع الحاوية:

aws s3 sync ./site s3://my-unique-bucket-name

الخطوة 4: اسمح بالقراءة العامّة

الحاويات تحجب الوصول العامّ افتراضيًا (وهذا جيّد أمنيًا). لموقع عامّ، عطّل حجب الوصول العامّ على هذه الحاوية، ثمّ أضف سياسة تسمح بقراءة الكائنات:

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Principal": "*",
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::my-unique-bucket-name/*"
  }]
}

⚠️ هذه السياسة تجعل قراءة الملفّات عامّة للجميع — مناسبة لموقع عامّ فقط، لا لبيانات حسّاسة.

الخطوة 5: افتح موقعك

يوفّر S3 رابط «نقطة نهاية استضافة الموقع» (Website Endpoint) تجده في الـ Console؛ افتحه لترى موقعك يعمل.

💡 للحصول على نطاق مخصّص و HTTPS وأداء أعلى، يُوضَع عادةً Amazon CloudFront أمام الحاوية — موضوع لاحق.

أخطاء شائعة

  • 403 Forbidden: حجب الوصول العامّ ما زال مفعّلًا، أو سياسة الحاوية ناقصة.
  • 404 Not Found: اسم index.html لا يطابق ما ضبطته، أو الملفّ لم يُرفَع.

التنظيف

الاستضافة الثابتة رخيصة جدًا، لكن لإزالة كل شيء:

aws s3 rb s3://my-unique-bucket-name --force

الخطوات التالية

جرّب قاعدة بيانات مُدارة في إعداد MySQL على RDS، أو اربط نطاقًا مخصّصًا في إعداد نطاق عبر Route 53.

شرح كيف تستضيف موقعًا ثابتًا على Amazon S3؟ — الحوسبة السحابية (AWS) بالعربي
كيف تستضيف موقعًا ثابتًا على Amazon S3؟الحوسبة السحابية (AWS) بالعربي · The Code Fix

هل كان هذا الدرس مفيدًا؟