كيفية تثبيت Couch CMS 2.0 على CentOS 7 LAMP VPS

Couch CMS هو نظام إدارة محتوى بسيط ومرن ومفتوح المصدر (CMS) يسمح لمصممي الويب بتصميم مواقع ويب جميلة دون أي معرفة بـ PHP. باستخدام Couch CMS ، يمكن لمطوري الويب أخذ أي من تصاميم HTML و CSS الثابتة الخاصة بهم فقط وتحويلها إلى موقع ويب مُدار بالكامل من خلال CMS بجهد قليل جدًا.

سنقوم في هذا البرنامج التعليمي بتثبيت Couch CMS 2.0 على CentOS 7 LAMP VPS باستخدام خادم الويب Apache و PHP 5.4 وقاعدة بيانات MariaDB.

الخطوة 1: إضافة مستخدم Sudo

سنبدأ بإضافة sudoمستخدم جديد .

أولاً ، قم بتسجيل الدخول إلى الخادم الخاص بك على النحو التالي root:

ssh root@YOUR_VULTR_IP_ADDRESS

وإضافة مستخدم جديد يسمى user1(أو اسم المستخدم المفضل لديك):

useradd user1

بعد ذلك ، قم بتعيين كلمة المرور user1للمستخدم:

passwd user1

عند المطالبة ، أدخل كلمة مرور آمنة ولا تنسى.

تحقق الآن من /etc/sudoersالملف للتأكد من sudoersتمكين المجموعة:

visudo

ابحث عن قسم مثل هذا:

%wheel        ALL=(ALL)       ALL

يخبرنا هذا السطر أن المستخدمين الذين هم أعضاء في wheelالمجموعة يمكنهم استخدام sudoالأمر للحصول على rootالامتيازات. يجب أن يكون غير مقسم بشكل افتراضي بحيث يمكنك ببساطة الخروج من الملف.

بعد ذلك نحتاج إلى إضافة user1إلى wheelالمجموعة:

usermod -aG wheel user1

يمكننا التحقق من user1عضوية المجموعة والتحقق من أن usermodالأمر يعمل مع groupsالأمر:

groups user1

الآن استخدم suالأمر للتبديل إلى user1حساب مستخدم sudo الجديد :

su - user1

سيتم تحديث موجه الأوامر للإشارة إلى أنك قمت بتسجيل الدخول الآن إلى user1الحساب. يمكنك التحقق من ذلك باستخدام whoamiالأمر:

whoami

الآن قم بإعادة تشغيل sshdالخدمة بحيث يمكنك تسجيل الدخول عبر sshحساب مستخدم sudo الجديد غير الجذر الذي أنشأته للتو:

sudo systemctl restart sshd

الخروج من user1الحساب:

exit

اخرج من rootالحساب (الذي سيؤدي إلى قطع جلستك ssh):

exit

يمكنك الآن sshالدخول إلى مثيل الخادم من مضيفك المحلي باستخدام user1حساب مستخدم sudo الجديد غير الجذر :

ssh user1@YOUR_VULTR_IP_ADDRESS

إذا كنت تريد تنفيذ sudo دون الحاجة إلى كتابة كلمة مرور في كل مرة ، فافتح /etc/sudoersالملف مرة أخرى باستخدام visudo:

sudo visudo

وقم بتحرير قسم wheelالمجموعة بحيث يبدو هكذا:

%wheel        ALL=(ALL)       NOPASSWD: ALL

يرجى ملاحظة ما يلي: تعطيل متطلبات كلمة المرور لمستخدم sudo ليس ممارسة موصى بها ، ولكن يتم تضمينه هنا لأنه يمكن أن يجعل تكوين الخادم أكثر ملاءمة وأقل إحباطًا ، خاصة خلال جلسات إدارة الأنظمة الأطول. إذا كنت قلقًا بشأن الآثار الأمنية ، فيمكنك دائمًا إعادة تغيير التكوين إلى الإعداد الأصلي بعد الانتهاء من مهام الإدارة.

عندما تريد تسجيل الدخول إلى rootحساب المستخدم من داخل sudoحساب المستخدم ، يمكنك استخدام أحد الأوامر التالية:

sudo -i
sudo su -

يمكنك الخروج من rootالحساب والعودة إلى sudoحساب المستخدم الخاص بك في أي وقت ببساطة عن طريق كتابة:

exit

الخطوة 2: تحديث نظام CentOS 7

قبل تثبيت أي حزم على مثيل خادم CentOS ، سنقوم أولاً بتحديث النظام.

تأكد من تسجيل الدخول إلى الخادم باستخدام مستخدم sudo غير الجذر وقم بتشغيل الأمر التالي:

sudo yum -y update

الخطوة 3: قم بتثبيت Apache Web Server

قم بتثبيت خادم الويب Apache:

sudo yum -y install httpd

ثم استخدم systemctlالأمر لبدء وتمكين Apache من التنفيذ تلقائيًا في وقت التمهيد:

sudo systemctl enable httpd
sudo systemctl start httpd

تحقق من ملف تكوين Apache للتأكد من أن DocumentRootالتوجيه يشير إلى الدليل الصحيح:

sudo vi /etc/httpd/conf/httpd.conf 

و DocumentRootخيار التكوين ينبغي أن تبدو هذه:

DocumentRoot "/var/www/html"

الآن ، لنتأكد من mod_rewriteتحميل وحدة Apache. يمكننا القيام بذلك عن طريق البحث في ملف تكوين وحدات Apache الأساسية للمصطلح " mod_rewrite".

افتح الملف باستخدام:

sudo vi /etc/httpd/conf.modules.d/00-base.conf

ابحث عن المصطلح mod_rewrite.

إذا mod_rewriteتم تحميل وحدة Apache ، فيجب أن تجد خط تكوين يبدو كالتالي:

LoadModule rewrite_module modules/mod_rewrite.so

إذا بدأ السطر أعلاه بفاصلة منقوطة ، فستحتاج إلى إزالة الفاصلة المنقوطة لإلغاء تعليق الخط وتحميل الوحدة. ينطبق هذا بالطبع على أي وحدات أباتشي أخرى مطلوبة أيضًا.

الآن احفظ وأغلق ملف تكوين Apache.

سنقوم بإعادة تشغيل Apache في نهاية هذا البرنامج التعليمي ، ولكن إعادة تشغيل Apache بانتظام أثناء التثبيت والتكوين هي بالتأكيد عادة جيدة ، لذلك دعونا نفعل ذلك الآن:

sudo systemctl restart httpd

الخطوة 4: افتح منافذ جدار حماية الويب

ونحن الآن بحاجة إلى فتح الافتراضي HTTPو HTTPSالموانئ حيث سيتم حظره من قبل firewalldافتراضيا.

افتح منافذ جدار الحماية باستخدام:

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp

أعد تحميل جدار الحماية لتطبيق التغييرات:

sudo firewall-cmd --reload

يجب أن ترى الكلمة successالمعروضة في جهازك بعد كل أمر تكوين ناجح لجدار الحماية.

يمكننا التحقق بسرعة من أن HTTPمنفذ Apache مفتوح من خلال زيارة عنوان IP أو مجال مثيل الخادم في المستعرض:

http://YOUR_VULTR_IP_ADDRESS/

إذا تم إعداد كل شيء بشكل صحيح ، فمن المفترض أن ترى صفحة ويب Apache الافتراضية في متصفحك.

الخطوة 5: تعطيل SELinux (في حالة التمكين)

SELinux تعني "لينكس المحسن بالأمان". إنه تحسين أمني لنظام Linux يسمح للمستخدمين والمسؤولين بمزيد من التحكم في التحكم في الوصول. يتم تعطيله افتراضيًا في حالات Vultr CentOS 7 ، ولكننا سنغطي خطوات تعطيله ، فقط في حالة عدم بدء التثبيت النظيف وتم تمكينه مسبقًا.

لتجنب مشاكل إذن الملف مع Couch CMS ، نحتاج إلى التأكد من تعطيل SELinux.

أولاً ، دعنا نتحقق مما إذا كان SELinux ممكّنًا أو معطلاً باستخدام sestatusالأمر:

sudo sestatus

إذا رأيت شيئًا مثل: SELinux status: disabledفمن المؤكد أنه معطل ويمكنك التخطي مباشرة إلى الخطوة 6. إذا رأيت أي رسالة أخرى ، فستحتاج إلى إكمال هذا القسم.

افتح ملف التكوين SELinux باستخدام محرر المحطة الطرفية المفضل لديك:

sudo vi /etc/selinux/config

التغيير SELINUX=enforcingإلى SELINUX=disabledثم قم بحفظ الملف.

لتطبيق تغيير التكوين ، يتطلب SELinux إعادة تشغيل الخادم ، بحيث يمكنك إما إعادة تشغيل الخادم باستخدام لوحة تحكم Vultr أو يمكنك ببساطة استخدام shutdownالأمر:

sudo shutdown -r now

عند إعادة تشغيل الخادم ، سيتم قطع اتصال جلسة SSH الخاصة بك وقد ترى رسالة تخبرك عن 'broken pipe'أو 'Connection closed by remote host'. لا داعي للقلق ، فما عليك سوى الانتظار لمدة 20 ثانية أو نحو ذلك ، ثم إعادة SSH مرة أخرى (باستخدام اسم المستخدم والمجال):

ssh user1@YOUR_DOMAIN

أو باستخدام اسم المستخدم وعنوان IP الخاص بك:

ssh user1@YOUR_VULTR_IP_ADDRESS

بمجرد تسجيل الدخول مرة أخرى ، يجب عليك التحقق من حالة SELinux مرة أخرى باستخدام sestatusالأمر للتأكد من تعطيله بشكل صحيح:

sudo sestatus

يجب أن ترى رسالة تقول SELinux status: disabled. إذا رأيت رسالة تقول SELinux status: enabled(أو شيء مشابه) ، فستحتاج إلى تكرار الخطوات المذكورة أعلاه والتأكد من إعادة تشغيل الخادم بشكل صحيح.

الخطوة 6: تثبيت PHP 5.4

يمكننا الآن تثبيت PHP 5.4 مع جميع وحدات PHP اللازمة التي تتطلبها Couch CMS:

sudo yum -y install php php-mbstring php-gd php-mysqlnd 

الخطوة 7: تثبيت خادم MariaDB (MySQL)

افتراضيات CentOS 7 هي استخدام خادم قاعدة بيانات MariaDB ، وهو عبارة عن بديل محسّن مفتوح المصدر بالكامل تم تطويره من قبل المجتمع ، بديل بديل لخادم MySQL.

تثبيت خادم قاعدة بيانات MariaDB مع:

sudo yum -y install mariadb-server

ابدأ وتمكين خادم MariaDB من التنفيذ تلقائيًا في وقت التمهيد:

sudo systemctl enable mariadb
sudo systemctl start mariadb    

تأمين تثبيت خادم MariaDB الخاص بك مع:

sudo mysql_secure_installation

و rootسوف تكون فارغة كلمة المرور، وذلك ببساطة تصل إلى تدخل عند المطالبة للحصول على rootكلمة المرور.

عندما يُطلب منك إنشاء rootمستخدم MariaDB / MySQL ، حدد " Y" (نعم) ثم أدخل rootكلمة مرور آمنة . أجب Yبكلمة " " على كل الأسئلة الأخرى بنعم أو لا لأن الاقتراحات الافتراضية هي الخيارات الأكثر أمانًا.

الخطوة 8: إنشاء قاعدة بيانات لـ Couch CMS

قم بتسجيل الدخول إلى shell MariaDB rootكمستخدم MariaDB عن طريق تشغيل الأمر التالي:

sudo mysql -u root -p

للوصول إلى موجه أوامر MariaDB ، ما عليك سوى إدخال rootكلمة مرور MariaDB عند مطالبتك بذلك.

قم بتشغيل الاستعلامات التالية لإنشاء قاعدة بيانات ومستخدم قاعدة بيانات MariaDB لـ Couch CMS:

CREATE DATABASE couch_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'couch_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON couch_db.* TO 'couch_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

يمكنك استبدال اسم قاعدة البيانات واسم couch_dbالمستخدم couch_userبشيء أكثر ترضيك ، إذا كنت تفضل ذلك. (يرجى ملاحظة أن الحد الأقصى للطول الافتراضي لأسماء المستخدمين في MariaDB على CentOS 7 هو 16 حرفًا). أيضا ، تأكد من أنك تستبدل " UltraSecurePassword" بكلمة مرور آمنة بالفعل.

الخطوة 9: تثبيت ملفات Couch CMS

تغيير دليل العمل الحالي إلى دليل الويب الافتراضي:

cd /var/www/html/

إذا تلقيت رسالة خطأ تقول شيئًا مثل ، 'No such file or directory'فجرّب الأمر التالي:

cd /var/www/ ; sudo mkdir html ; cd html

دليل العمل الحالي الخاص بك يجب أن تكون الآن: /var/www/html/. يمكنك التحقق من ذلك باستخدام الأمر pwd(طباعة دليل العمل):

pwd

استخدم الآن wgetلتنزيل أرشيف مضغوط لتثبيت Couch CMS:

sudo wget https://www.couchcms.com/kachua/download.php?auth=agJmBvEk%2FIM8aSh4XkqV5fbIxR4ghkd6Gy%2F8eL4nFCUpzoFYvddT%7CbKoInr8INleUFM9lPDT05r0dEfTqzuhb%7C0%7C0%7C0%7C1%7Cbccc27bd8eade8876d3f486bac1f4ca9

يرجى ملاحظة ما يلي: يجب عليك بالتأكيد التحقق من أحدث إصدار من خلال زيارة صفحة تنزيل Couch CMS .

قم بإدراج الدليل الحالي للتأكد من أنك قمت بتنزيل الملف بنجاح:

ls -la

الآن دعونا نعطي الملف المضغوط اسمًا أبسط:

sudo mv download.php* couchcms.zip

قم بالتثبيت unzipحتى نتمكن بالفعل من فك ضغط الملف:

sudo yum -y install unzip

الآن قم بفك ضغط الأرشيف المضغوط:

sudo unzip couchcms.zip

انقل جميع ملفات التثبيت إلى دليل جذر الويب:

sudo mv ./CouchCMS-2.0/* /var/www/html

قم بتغيير ملكية ملفات الويب لتجنب أي مشاكل في الأذونات:

sudo chown -R apache:apache *

أعد تشغيل Apache مرة أخرى:

sudo systemctl restart httpd

الآن نحن على استعداد للانتقال إلى الخطوة النهائية.

الخطوة 10: أكمل تثبيت CMS CMS

لإكمال تثبيت Couch CMS ، نحتاج إلى تحرير ملف تكوين Couch CMS ، لذا تأكد أولاً من أنك في webroot ثم أعد تسمية ملف التكوين:

sudo mv ./couch/config.example.php ./couch/config.php

بعد ذلك ، افتح config.phpالملف:

sudo vi ./couch/config.php

أضف القيم التالية:

define( 'K_GMT_OFFSET', 0 );
define( 'K_DB_NAME', 'couch_db' );
define( 'K_DB_USER', 'couch_user' );
define( 'K_DB_PASSWORD', 'UltraSecurePassword' );
define( 'K_DB_HOST', 'localhost' );

define( 'K_PRETTY_URLS', 1 );
define( 'K_USE_CACHE', 1 );
define( 'K_EMAIL_TO', 'youremail@yourdomain.com' );
define( 'K_EMAIL_FROM', 'contact@yourdomain.com' );

بمجرد إضافة قيم التكوين المناسبة ، يمكنك الحفظ والخروج config.php.

الخطوات الأخيرة لتثبيت Couch CMS بسيطة حقًا.

قم أولاً بزيارة صفحة تثبيت Couch CMS في متصفحك:

http://YOUR_VULTR_IP_ADDRESS/couch

أو إذا قمت بالفعل بتكوين إعدادات Vultr DNS الخاصة بك (ومنحت الوقت الكافي للنشر) ، يمكنك ببساطة زيارة نطاقك بدلاً من ذلك:

http://YOUR_DOMAIN/couch

ما عليك سوى إدخال التفاصيل التالية في صفحة التثبيت:

Super-Admin username: admin
Email: <your email address>
Password: <your preferred password>

ثم انقر فوق Installالزر.

ببساطة انقر Log inللمتابعة.

يمكنك الآن تسجيل الدخول إلى لوحة تحكم Couch CMS باستخدام تفاصيل تسجيل الدخول التي أدخلتها سابقًا أثناء التثبيت.

إذا لم تكن قد قمت بالفعل بإعداد Vultr DNS ، فمن المحتمل أن تكون هذه هي خطوتك التالية.

أنت الآن جاهز لبدء إضافة المحتوى وتكوين مظهر موقعك. تأكد من مراجعة وثائق Couch CMS الممتازة لمزيد من المعلومات حول كيفية إنشاء موقعك وتكوينه.

تذكر أن Couch CMS يسمح لك بأخذ مواقع الويب القديمة بتنسيق HTML و CSS وتغييرها بسهولة إلى مواقع CMS مُدارة بالكامل والتي يمكن حتى للمستخدمين غير التقنيين تحديثها بأنفسهم. على عكس معظم أنظمة CMSes الأخرى ، يتيح لك Couch CMS تحويل مواقع HTML الخاصة بك دون أي برمجة من جانب الخادم!

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد