دليل خطوة بخطوة لإعداد WordPress على Amazon EC2 (AWS) Linux Instance
نشرت: 2017-05-25Amazon Elastic Compute Cloud ( Amazon EC2 ) هي خدمة سحابية توفر سعة حوسبة قابلة لتغيير الحجم في السحابة. إنه مصمم للمطورين لتوسيع نطاق تطبيقات الويب الخاصة بهم ومراقبتها بطريقة أفضل.
يوفر Amazon EC2 بعض الميزات المتقدمة مثل عناوين IP المرنة وموازنة التحميل والأنظمة الأساسية المختلفة مثل (Linux و windows وما إلى ذلك) والقياس والمراقبة وما إلى ذلك ، كما يسهل على المطورين إدارة تطبيقات الويب الخاصة بهم بطريقة أفضل.
تعد استضافة WordPress on AWS
خيارًا ذكيًا لأنه بالمقارنة مع مزود VPS الآخر ، فإن أمازون تتمتع بأسعار منخفضة ومزيد من الميزات والخدمات المذهلة الأخرى ذات الصلة. كما أنهم يفرضون عليك رسومًا لكل ساعة تشغيل المثيل الخاص بك.
لذلك ، في هذا البرنامج التعليمي ، سأوضح لك كيف يمكنك إعداد بيئة LAMP على نظام Linux وتثبيت مدونة WordPress يدويًا على مثيل Amazon EC2 .
سيساعدك هذا الدليل المفصل خطوة بخطوة على إدارة مضيفك تمامًا والذي يختلف عن cPanel.
1. أنشئ حساب AWS
بادئ ذي بدء ، تحتاج إلى إنشاء حساب AWS الخاص بك. يمكنك التسجيل باتباع هذا الرابط. سيتعين عليك تقديم بطاقة ائتمان أو بطاقة خصم دولية ورقم هاتف سيتم الاتصال بك من خلاله كجزء من عملية التحقق من التسجيل عبر الإنترنت وفقًا لشروطها وسياستها.
سيتم خصم قيمة طفيفة من بطاقتك الائتمانية أو بطاقة الخصم الخاصة بك وسيتم استردادها بمجرد التحقق منها. تقدم أمازون فئة استخدام مجاني سنقوم بتثبيت WordPress عليها ، وهو أمر رائع لاستكشاف الخدمات وحتى استضافة تطبيقات حقيقية دون دفع فلس واحد.
2. إنشاء مثيل
بعد التسجيل لديك العديد من الخيارات المتاحة ومن ثم ربما يكون لديك هذا السؤال في ذهنك Which type of instance should I choose
؟
إذا كانت لديك مدونة جديدة ، فيمكنك اختيار EC2 micro instance
الذي يمكنه التعامل مع حوالي 200+ حركة مرور في الوقت الفعلي.
يحتوي أيضًا على هيكل أسعار جذاب ، ولكن إذا كنت تقوم بترحيل مدونتك الحالية ولديك حركة مرور تزيد عن ألف مرة يوميًا ، فيجب عليك اختيار مثيل صغير يمكنه التعامل مع هذه الحركة بسهولة شديدة.
لإنشاء مثيل جديد ، قم بالوصول إلى وحدة الإدارة في AWS وانقر فوق علامة التبويب EC2:
- اختر AMI في معالج المثيل الكلاسيكي:
- اخترت خادم Ubuntu Server الأساسي 64 بت Amazon Linux AMI.
- تفاصيل المثيل:
- حدد نوع المثيل الذي تريد استخدامه. اخترت صغير (m5a.small).
- قم بإنشاء زوج مفاتيح جديد.
- أدخل اسمًا لزوج المفاتيح (أي crunchify) وقم بتنزيل زوج المفاتيح (على سبيل المثال ،
crunchify.pem
).
- أدخل اسمًا لزوج المفاتيح (أي crunchify) وقم بتنزيل زوج المفاتيح (على سبيل المثال ،
- حدد مجموعة أمان البدء السريع.
- إطلاق المثيل الخاص بك.
3. SSH في المثيل الخاص بك
بمجرد اكتمال إعداد المثيل الخاص بك ويظهر أن المثيل قيد التشغيل ، يمكنك ssh
إليه.
- بادئ ذي بدء ، تحتاج إلى تحديد عنوان IP (DNS العام) للمثيل الخاص بك:
- حدد المثيل في وحدة الإدارة في AWS.
- ابحث عن Public DNS في وصف المثيل (الجزء السفلي من الشاشة).
استخدم هذا العنوان (والمسار إلى ملف .pem الخاص بك) لإرسال ssh إلى المثيل الخاص بك:
1 |
ssh ec2 - user @ ec2 - 50 - 17 - 15 - 27.compute - 1.amazonaws.com - i ~ / crunchify . pem |
إذا كنت تستخدم نظام windows ، فيجب عليك استخدام Putty للاتصال كـ SSH. يمكنك التواصل مع المعجون باتباع هذه المقالة.
إذا تلقيت رسالة خطأ حول أن أذونات ملف .pem مفتوحة للغاية ، فحدد chmod ملف .pem على النحو التالي:
1 |
[ ec2 - user ~ ] $ chmod 600 ~ / crunchify . pem |
في هذا البرنامج التعليمي ، تحتاج إلى تنفيذ العديد من أوامر shell وتتطلب معظم الأوامر الوصول إلى الجذر. لذلك ، لتجنب هذا ، سنبدأ كل هذه الأوامر بـ sudo عن طريق تبديل المستخدم مرة واحدة إلى الأبد من خلال هذا الأمر.
1 |
[ ec2 - user ~ ] $ sudo su |
4. قم بتثبيت خادم الويب Apache لتشغيل PHP
لتثبيت خادم الويب Apache ، اكتب Terminal:
1 2 3 4 |
[ ec2 - user ~ ] $ sudo yum - y install python - simplejson # Install PHP latest version [ ec2 - user ~ ] $ sudo yum update # System wide upgrade [ ec2 - user ~ ] $ sudo yum install - y default - jre # Install Java (just to be safe) [ ec2 - user ~ ] $ sudo yum install httpd # Install HTTPD server |
ابدأ تشغيل خادم الويب Apache:
1 |
[ ec2 - user ~ ] $ service httpd start |
بعد الإعداد ، لاختبار خادم الويب الخاص بك ، افتح مستعرضًا وادخل إلى موقع الويب الخاص بك:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com |
(استخدم اسم DNS العام الفعلي الخاص بك). يجب أن تشاهد صفحة افتراضية قياسية لحامل مكان أمازون.
5. قم بتثبيت PHP لتشغيل WordPress
لتثبيت PHP ، اكتب Terminal:
1 |
[ ec2 - user ~ ] $ yum install php php - mysql |
بعد تثبيت php بنجاح ، أعد تشغيل خادم الويب Apache:
1 |
[ ec2 - user ~ ] $ service httpd restart |
قم بإنشاء صفحة لاختبار تثبيت PHP الخاص بك:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ vi test . php |
- اكتب
i
لبدء وضع الإدراج - اكتب
<?php phpinfo() ?>
- اكتب
:wq
لكتابة الملف وإنهاء vi
افتح متصفحًا وقم بالوصول إلى test.php لاختبار تثبيت PHP:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/test.php |
(استخدم اسم DNS العام الخاص بك)
6. تثبيت MySQL لإضافة قاعدة البيانات
لتثبيت MySQL ، اكتب:
1 |
[ ec2 - user ~ ] $ yum install mysql - server |
ابدأ MySQL:
1 |
[ ec2 - user ~ ] $ service mysqld start |
قم بإنشاء قاعدة بيانات "المدونة" الخاصة بك:
1 |
[ ec2 - user ~ ] $ mysqladmin - u root create blog |
تأمين قاعدة البيانات الخاصة بك:
1 |
[ ec2 - user ~ ] $ mysql_secure_installation |
أجب عن أسئلة المعالج كما يلي:
- أدخل كلمة المرور الحالية للجذر: اضغط على رجوع من أجل لا شيء
- تغيير كلمة مرور الجذر: Y
- كلمة المرور الجديدة: أدخل كلمة المرور الجديدة
- إزالة المستخدم المجهول: Y
- عدم السماح بتسجيل الدخول إلى الجذر عن بُعد: Y
- قم بإزالة قاعدة بيانات الاختبار والوصول إليها: Y
- إعادة تحميل جداول الامتياز الآن: Y
7. تثبيت WordPress
لتثبيت WordPress ، اكتب:
1 2 |
[ ec2 - user ~ ] $ cd / var / www / html [ ec2 - user ~ ] $ wget http : //wordpress.org/latest.tar.gz |
لفك ضغط نوع الملف tar.gz:

1 |
[ ec2 - user ~ ] $ tar - xzvf latest . tar . gzcd |
سيؤدي هذا إلى إلغاء ضغط WordPress في دليل WordPress
الخاص به.
أحب وجود WordPress في دليل منفصل ، لكنني أفضل إعادة تسميته إلى "blog" إذا كنت تريد تثبيته على نطاق فرعي مثل "http://your-site.com/blog":
1 |
[ ec2 - user ~ ] $ mv wordpress blog |
وإلا فانقل جميع الملفات إلى المجلد الأصل عن طريق كتابة:
1 |
[ ec2 - user ~ ] $ mv * . * . . |
قم بإنشاء ملف WordPress wp-config.php:
1 2 3 |
[ ec2 - user ~ ] $ cd blog [ ec2 - user ~ ] $ mv wp - config - sample . php wp - config . php [ ec2 - user ~ ] $ vi wp - config . php |
- اكتب
i
لبدء وضع الإدراج.
قم بتعديل معلمات اتصال قاعدة البيانات كما يلي:
1 2 3 4 |
define ( ‘ DB_NAME ’ , ‘ blog ’ ) ; define ( ‘ DB_USER ’ , ‘ root ’ ) ; define ( ‘ DB_PASSWORD ’ , ‘ YOUR_PASSWORD ’ ) ; define ( ‘ DB_HOST ’ , ‘ localhost ’ ) ; |
- اضغط
esc
مرة واحدة بعد ذلك - اكتب
:wq
لكتابة الملف وإنهاء vi
افتح متصفحًا وادخل إلى مدونتك:
1 |
http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog (Use your public DNS name). |
يجب أن يؤدي هذا إلى فتح عملية تكوين تثبيت WordPress.
نصيحة: للسماح لـ WordPress باستخدام الروابط الثابتة
تحتاج الروابط الثابتة لـ WordPress إلى استخدام ملفات Apache .htaccess لتعمل بشكل صحيح ، ولكن لا يتم تمكين هذا افتراضيًا على Amazon Linux. استخدم هذا الإجراء للسماح بكل التجاوزات في جذر مستند Apache.
افتح الملف httpd.conf باستخدام محرر النصوص المفضل لديك (مثل nano أو vim). إذا لم يكن لديك محرر نصوص مفضل ، فسيكون استخدام nano أسهل كثيرًا بالنسبة للمبتدئين.
1 |
[ ec2 - user wordpress ] $ sudo vim / etc / httpd / conf / httpd . conf |
ابحث عن القسم الذي يبدأ بـ <Directory " /var/www/html
">.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
< Directory "/var/www/html" > # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. # Require all granted < / Directory > |
قم بتغيير سطر AllowOverride None
في القسم أعلاه لقراءة AllowOverride All
.
ملحوظة:
توجد عدة سطور AllowOverride
في هذا الملف ؛ تأكد من تغيير السطر في قسم <Directory "/var/www/html"
>.
1 |
AllowOverride All |
- احفظ الملف واخرج من محرر النصوص الخاص بك.
8. تعيين عنوان IP واسم المجال
لاستخدام مدونتك في الإنتاج ، يجب عليك:
- إقران عنوان IP بالمثيل الخاص بك
- قم بتعيين اسم المجال الخاص بك إلى عنوان IP هذا
- لربط عنوان IP بالمثيل الخاص بك:
خطوات:
- في وحدة الإدارة في AWS ، انقر فوق Elastic IPs (شريط التنقل الأيسر)
- انقر فوق تخصيص عنوان جديد ، وقم بالتأكيد بالنقر فوق الزر "نعم ، تخصيص"
- انقر بزر الماوس الأيمن فوق عنوان IP المخصص حديثًا وحدد "Associate" في القائمة المنبثقة. حدد المثيل الذي أنشأته للتو وانقر على "نعم ، مشارك"
- لتعيين اسم المجال الخاص بك إلى عنوان IP الخاص بك ، سيتعين عليك استخدام الأدوات التي يوفرها مسجل المجال الخاص بك.
- إذا كنت تستخدم GoDaddy ، فحدد NS73.DOMAINCONTROL.COM و NS74.DOMAINCONTROL.COM كخوادم الأسماء لمجالك واستخدم DNS Manager لتعديل سجل A والإشارة إلى عنوان IP الخاص بك.
- بمجرد تكوين كل شيء وتعيينه بشكل صحيح ، قم بالوصول إلى الإعدادات العامة في وحدة تحكم إدارة WordPress وتأكد من تحديد عنوان WordPress وعنوان الموقع بشكل صحيح باستخدام اسم المجال الخاص بك
طريقة أخرى: لتغيير عنوان URL لموقع WordPress الخاص بك باستخدام ملف wp-cli
لاحظ عنوان URL القديم للموقع وعنوان URL الجديد للموقع الخاص بك. من المحتمل أن يكون عنوان URL للموقع القديم هو اسم DNS العام لمثيل EC2 الخاص بك عند تثبيت WordPress. عنوان URL الجديد للموقع هو اسم DNS العام الحالي لمثيل EC2 الخاص بك.
إذا لم تكن متأكدًا من عنوان URL لموقعك القديم ، فيمكنك استخدام curl للعثور عليه باستخدام الأمر التالي.
1 |
[ ec2 - user ~ ] $ curl localhost | grep wp - content |
يجب أن ترى إشارات إلى اسم DNS العام القديم الخاص بك في الإخراج ، والتي ستبدو كما يلي (عنوان URL القديم للموقع باللون الأحمر):
1 |
<script type = 'text/javascript' src = http : //ec2-50-17-15-27.compute-1.amazonaws.com/blog/wp-content/themes/twentyfifteen/js/functions.js?ver=20150330'></script> |
قم بتنزيل wp-cli باستخدام الأمر التالي.
1 |
[ ec2 - user ~ ] $ curl - O https : //raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar |
ابحث عن عنوان URL القديم للموقع واستبدله في تثبيت WordPress الخاص بك بالأمر التالي. استبدل عناوين URL للموقع القديم والجديد بمثيل EC2 والمسار إلى تثبيت WordPress الخاص بك (عادةً /var/www/html
أو /var/www/html/blog
).
1 |
[ ec2 - user ~ ] $ php wp - cli . phar search - replace 'old_site_url' 'new_site_url' -- path =/ path / to / wordpress / installation -- skip - columns = guid |
في متصفح الويب ، أدخل عنوان URL الجديد للموقع الخاص بمدونة WordPress الخاصة بك للتحقق من أن الموقع يعمل بشكل صحيح مرة أخرى.
هذا هو.
لقد نجحت في إنشاء بيئة LAMP وتثبيت WordPress على Amazon EC2 . إذا واجهت أي نوع من الخطأ أو تعثرت في بعض المهام ، فيرجى إخبارنا من خلال التعليق هنا.
سنبذل قصارى جهدنا لتوفير حل لمشكلتك.