كيفية تثبيت Directus 6.4 CMS على FreeBSD 11 FAMP VPS

يعد Directus 6.4 CMS نظامًا قويًا ومرنًا ومجانيًا ومفتوح المصدر لإدارة المحتوى بدون رأس (CMS) يوفر للمطورين واجهة ويب بسيطة وبديهية لإدارة محتوى قاعدة البيانات باستخدام بنى مخصصة تمامًا. تم بناء نظام إدارة المحتوى التقليدي كمنصات مغلقة خصيصًا لنشر وإدارة مواقع الويب بسرعة - عادةً ما تكون مواقع ومدونات بسيطة. ومع ذلك ، يتم استهلاك محتوى اليوم من قبل مجموعة أكبر بكثير من التطبيقات ، بما في ذلك منصات الويب المعقدة ، والتطبيقات الأصلية ، والأجهزة القابلة للارتداء ، والأكشاك ، وأجهزة إنترنت الأشياء ، وغيرها من المشاريع التي تعتمد على البيانات. يتيح Directus 6.4 Headless CMS إدارة المحتوى بشكل مستقل عن المكان الذي سيتم استخدامه فيه. من خلال فصل وتأليف محتوى ملائم للتطبيق ،

في هذا البرنامج التعليمي سنقوم بتثبيت Directus 6.4 CMS على FreeBSD 11 FAMP VPS باستخدام خادم الويب Apache و PHP 7.1 وقاعدة بيانات MariaDB.

المتطلبات الأساسية

  • نسخة خادم نظيفة Vultr FreeBSD 11 مع وصول SSH

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

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

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

ssh root@YOUR_VULTR_IP_ADDRESS

و sudoلم يتم تثبيت الأوامر الافتراضية في المثال 11 الخادم Vultr فري، لذلك سنقوم أولا تثبيت sudo:

pkg install sudo

أضف الآن مستخدمًا جديدًا يسمى user1(أو اسم المستخدم المفضل لديك):

adduser user1

و adduserسوف قيادة يطالبك الكثير من التفاصيل لحساب المستخدم، وذلك ببساطة اختيار الإعدادات الافتراضية بالنسبة لمعظمهم، عندما كان من المنطقي أن تفعل ذلك. عندما يُطلب منك ما إذا كان Invite user1 into any other groups?يجب عليك الدخول wheelلإضافتها user1إلى wheelالمجموعة.

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

visudo

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

# %wheel        ALL=(ALL)       ALL

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

يمكننا التحقق من user1عضوية المجموعة باستخدام groupsالأمر:

groups user1

إذا user1لم يكن عضوًا في wheelالمجموعة ، يمكنك استخدام هذا الأمر لتحديث user1عضوية المجموعة:

pw group mod wheel -m user1 

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

su - user1

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

whoami

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

sudo /etc/rc.d/sshd restart

الخروج من 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: تحديث نظام FreeBSD 11

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

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

sudo freebsd-update fetch
sudo freebsd-update install
sudo pkg update
sudo pkg upgrade

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

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

sudo pkg install apache24

أدخل yعندما يُطلب منك ذلك.

الآن استخدم sysrcالأمر لتمكين خدمة Apache للتنفيذ تلقائيًا في وقت التمهيد:

sudo sysrc apache24_enable=yes

يقوم sysrcالأمر بتحديث /etc/rc.confملف التكوين ، لذلك إذا كنت تريد التحقق من تحديث التكوين يدويًا ، يمكنك ببساطة فتح /etc/rc.confالملف باستخدام محرر المحطة الطرفية المفضل لديك:

vi /etc/rc.conf

ابدأ الآن خدمة Apache:

sudo service apache24 start

يمكنك التحقق بسرعة من تشغيل apache عن طريق زيارة عنوان IP أو مجال مثيل الخادم في المستعرض الخاص بك:

http://YOUR_VULTR_IP_ADDRESS/

سترى صفحة FreeBSD Apache الافتراضية التي تعرض النص:

It works!

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

sudo vi /usr/local/etc/apache24/httpd.conf

و DocumentRootسوف خيار التكوين تبدو هذه:

DocumentRoot "/usr/local/www/apache24/data"

نحتاج الآن إلى تمكين mod_rewriteوحدة Apache. يمكننا القيام بذلك من خلال البحث في ملف تكوين Apache الافتراضي عن المصطلح mod_rewrite.

بشكل افتراضي ، mod_rewriteسيتم التعليق على وحدة Apache (مما يعني أنها معطلة). سيبدو خط التكوين في مثيل Vultr FreeBSD 11 نظيفًا كما يلي:

#LoadModule rewrite_module libexec/apache24/mod_rewrite.so

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

LoadModule rewrite_module libexec/apache24/mod_rewrite.so

نحتاج الآن إلى تحرير Directoryتوجيه Apache في نفس ملف التكوين بحيث mod_rewriteيعمل بشكل صحيح مع Directus CMS.

ابحث عن قسم ملف التكوين الذي يبدأ بـ <Directory "/usr/local/www/apache24/data">ويتغير AllowOverride noneإلى AllowOverride All. ستبدو النتيجة النهائية (مع إزالة جميع التعليقات) كما يلي:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

الآن قم بحفظ ملف تكوين Apache والخروج منه.

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

sudo service apache24 restart

الخطوة 4: تثبيت PHP 7.1

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

sudo pkg install php71 mod_php71 php71-gd php71-mbstring php71-mysqli php71-xml php71-curl php71-ctype php71-tokenizer php71-simplexml php71-dom php71-session php71-iconv php71-hash php71-json php71-fileinfo php71-pdo php71-pdo_mysql php71-zlib php71-openssl php71-zip php71-phar 

FreeBSD 11 يمنحنا خيار استخدام تطوير php.iniأو إنتاج php.ini. نظرًا لأننا سنقوم بتثبيت Directus على خادم ويب عام ، فسنستخدم إصدار الإنتاج. أولاً ، النسخ الاحتياطي php.ini-production:

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.backup

ثم رابط ناعم php.ini-productionإلى php.ini:

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

نحتاج إلى تكوين Apache لاستخدام PHP بالفعل ، لذلك دعونا ننشئ ملفًا جديدًا يسمى php.confفي Includesدليل Apache :

sudo vi /usr/local/etc/apache24/Includes/php.conf

أدخل النص التالي في الملف الذي تم إنشاؤه حديثًا:

<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

حفظ وإنهاء الملف.

الآن دعونا نعيد تشغيل Apache حتى يتمكن من إعادة تحميل تغييرات التكوين:

sudo service apache24 restart

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

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

قم بتثبيت أحدث إصدار من خادم قاعدة بيانات MariaDB:

sudo pkg install mariadb102-server mariadb102-client

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

sudo sysrc mysql_enable="yes"
sudo service mysql-server start

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

sudo mysql_secure_installation

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

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

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

sudo mysql -u root -p

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

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

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

يمكنك استبدال اسم قاعدة البيانات واسم directus_dbالمستخدم directus_userبشيء أكثر ترضيك ، إذا كنت تفضل ذلك. تأكد أيضًا من استبدال "UltraSecurePassword" بكلمة مرور آمنة بالفعل.

الخطوة 7: تثبيت ملفات Directus CMS

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

cd /usr/local/www/apache24/data

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

pwd

استخدم الآن wgetلتنزيل حزمة تثبيت Directus CMS:

sudo wget https://github.com/directus/directus/releases/download/6.4.4/directus-build-6.4.4-20171120114156.zip

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

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

ls -la

إزالة index.html:

sudo rm index.html

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

sudo unzip directus-build-6.4.4-20171120114156.zip

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

sudo mv directus-build-6.4.4-20171120114156/* /usr/local/www/apache24/data

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

sudo chown -R www:www * ./

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

sudo service apache24 restart

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

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

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

للوصول إلى صفحة تثبيت Directus CMS ، أدخل عنوان IP لمثيل Vultr في شريط عنوان المتصفح ، متبوعًا بـ /installation/index.php:

http://YOUR_VULTR_IP_ADDRESS/installation/index.php

معظم خيارات التثبيت ذاتية التفسير ، ولكن فيما يلي بعض المؤشرات لمساعدتك:

  1. حدد لغتك وانقر على Nextالزر للمتابعة.

  2. أدخل Project Nameتفاصيل تسجيل دخول المسؤول المناسبة كما هو موضح أدناه:

    PROJECT NAME:           <project name>  
    ADMIN EMAIL:            <admin email>
    ADMIN PASSWORD:         <admin password>    
    

    انقر Nextللمتابعة.

  3. أدخل الآن قيم قاعدة البيانات التالية:

    DATABASE TYPE:          MySQL/Percona
    HOST:                   localhost
    PORT:                   3306
    USER:                   directus_user
    PASSWORD:               UltraSecurePassword
    DATABASE NAME:          directus_db                 
    INITIAL SCHEMA:         None Clean Database
    

    انقر Nextللمتابعة.

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

    بمجرد إصلاح أي مشكلات مهمة والتحقق من أن كل شيء يعمل على ما يرام ، ما Installعليك سوى النقر عليه لإنهاء التثبيت.

بمجرد اكتمال التثبيت ، ستتم إعادة توجيهك إلى صفحة تسجيل دخول المسؤول. إذا لم تتم إعادة توجيهك ، يمكنك إدخال عنوان تسجيل دخول المسؤول يدويًا:

http://YOUR_VULTR_IP_ADDRESS/login.php

لأسباب أمنية ، تأكد من حذف /installation/الدليل من دليل webroot:

sudo rm -rf ./installation/

أنت الآن جاهز لبدء إضافة المحتوى الخاص بك وتهيئة Headless CMS للعمل مع تطبيقاتك المختلفة. تأكد من مراجعة وثائق Directus CMS الممتازة للحصول على مزيد من المعلومات حول كيفية تكوين Directus CMS وربطها بالتطبيقات والأطر المختلفة.



Leave a Comment

نظرة ثاقبة على 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. قراءة هذه المادة لمعرفة المزيد