كيفية تثبيت MODX CMS و Nginx على CentOS 7

MODX هو نظام مجاني ومفتوح المصدر لإدارة المحتوى مكتوب بلغة PHP. يستخدم MySQL أو MariaDB لتخزين قاعدة البيانات الخاصة به. تم تصميم MODX للأعمال التي يكون فيها الحفاظ على موقع الويب أمرًا بالغ الأهمية. يوفر المرونة للمطورين لإنشاء موقع ويب عن طريق اختيار التصميم والهيكل الخاص بهم. كما يحتوي على WYSIWYGمحرر للمستخدمين غير التقنيين في العمل. بصرف النظر عن كونه مرنًا ، يمكن تحسينه للحصول على سرعة فائقة.

تمت كتابة هذا البرنامج التعليمي لـ MODX 2.6.1 وقد يعمل أيضًا على إصدارات أحدث.

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

في هذا البرنامج التعليمي ، سنستخدم modx.example.comكاسم المجال الموجه نحو مثيل Vultr. يرجى التأكد من استبدال جميع حالات اسم النطاق المثال بالاسم الفعلي.

قم بتحديث نظامك الأساسي باستخدام الدليل كيفية تحديث CentOS 7 . بمجرد تحديث النظام الخاص بك ، انتقل إلى تثبيت التبعيات.

قم بتثبيت Nginx

Nginx هو خادم إنتاج ويب لتشغيل تطبيقات الويب. قم بتثبيت Nginx.

sudo yum -y install epel-release
sudo yum -y install nginx

قم بتشغيل Nginx وتمكينه من التشغيل تلقائيًا في وقت التمهيد.

sudo systemctl start nginx
sudo systemctl enable nginx

تثبيت PHP 7.2

يدعم MODX جميع إصدارات PHP فوق 5.4. سنقوم بتثبيت أحدث إصدار متوفر من PHP. استخدام PHP 7.2 سيضمن السرعة القصوى والأمن. إضافة وتمكين مستودع Remi لأن PHP الإصدار 7.2 غير متوفر في YUMالمخزون الافتراضي .

sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72

قم بتثبيت PHP الإصدار 7.2 مع الوحدات المطلوبة من قبل MODX.

sudo yum -y install php php-zlib php-mysqli php-curl php-json php-cli php-pear php-gd php-openssl php-xml php-mbstring php-fpm ImageMagick

قم بتحرير ملف تكوين PHP المحمل.

sudo nano /etc/php.ini

ابحث عن السطر التالي. فك التعليق وتعيين المنطقة الزمنية المناسبة.

date.timezone = Asia/Kolkata
;Replace "Asia/Kolkata" with your appropriate time zone

أيضًا ، قم بتعيين حد ذاكرة مناسب على السطر التالي. إعداده -1سيعطي ذاكرة متوفرة غير محدودة للنص.

memory_limit = -1

بعد ذلك ، ابحث عن السطر التالي وقم بتعيين قيمته إلى 0بعد إلغاء التثبيت.

cgi.fix_pathinfo=0

احفظ الملف وافتح php-fpmملف التهيئة.

sudo nano /etc/php-fpm.d/www.conf

ابحث عن القائمة listen = 127.0.0.1:9000، وعلق عليها وألحق سطرًا جديدًا كما هو موضح أدناه.

;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sock

أيضا ، قم بتغيير المستخدمين كما هو موضح أدناه.

listen.owner = nginx
listen.group = nginx

...

user = nginx
group = nginx

احفظ الملف وابدأ php-fpmوتمكينه من البدء تلقائيًا في وقت التمهيد.

sudo systemctl restart php-fpm
sudo systemctl enable php-fpm

توفير أذونات الكتابة إلى دليل الجلسة.

sudo mkdir /var/lib/php/session
sudo chmod -R 777 /var/lib/php/session

الآن ، انتقل إلى تثبيت MariaDB.

قم بتثبيت MariaDB

MariaDB هي شوكة في MySQL. أضف مستودع MariaDB إلى نظامك. YUMيحتوي المستودع الافتراضي على إصدار أقدم من MariaDB.

echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo

قم بتثبيت MariaDB.

sudo yum -y install mariadb mariadb-server

قم بتشغيل MariaDB وتمكينه من البدء تلقائيًا في وقت التمهيد.

sudo systemctl start mariadb
sudo systemctl enable mariadb

قبل تكوين قاعدة البيانات ، ستحتاج إلى تأمين MariaDB.

sudo mysql_secure_installation

ستتم مطالبتك بكلمة مرور جذر MariaDB الحالية. بشكل افتراضي ، لا توجد كلمة مرور جذرية في تثبيت MariaDB جديد. اضغط على Enterمفتاح " " للمتابعة. قم بتعيين كلمة مرور قوية rootلمستخدم خادم MariaDB وأجب " Y" على جميع الأسئلة الأخرى التي يتم طرحها. الأسئلة المطروحة ذاتيّة.

قم بتسجيل الدخول إلى هيكل MySQL كجذر.

mysql -u root -p

أدخل كلمة المرور لمستخدم الجذر MariaDB لتسجيل الدخول.

قم بتشغيل الاستعلامات التالية لإنشاء قاعدة بيانات ومستخدم قاعدة بيانات لتثبيت MODX.

CREATE DATABASE modx_data CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'modx_user'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON modx_data.* TO 'modx_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

يمكنك استبدال اسم قاعدة البيانات واسم modx_dataالمستخدم modx_userوفقًا لاختيارك. يرجى التأكد من التغيير StrongPasswordإلى كلمة مرور قوية للغاية.

قم بتثبيت MODX

قم بتنزيل أرشيف MODX zip.

wget https://modx.com/download/direct?id=modx-2.6.1-pl.zip -O modx.zip

يمكنك دائمًا البحث عن رابط أحدث إصدار من التطبيق على صفحة تنزيل MODX .

قم بتثبيت فك الضغط.

sudo yum -y install unzip

استخرج الأرشيف في دليل webroot لـ Nginx.

sudo unzip modx.zip -d /usr/share/nginx/

قم بتغيير اسم الدليل.

cd /usr/share/nginx/
sudo mv modx-*/ modx/

أيضا ، إعادة تسمية ht.accessالملف .htaccess.

sudo mv /usr/share/nginx/modx/ht.access /usr/share/nginx/modx/.htaccess

إنشاء دليل ذاكرة التخزين المؤقت لجلسة العمل وتوفير الملكية لمستخدم nginx.

sudo mkdir /usr/share/nginx/modx/core/cache
sudo chown nginx:nginx /usr/share/nginx/modx/core/cache

أخيرًا ، قم بإنشاء ملف تكوين فارغ وقم بتوفير الأذونات المناسبة.

sudo touch /usr/share/nginx/modx/core/config/config.inc.php
sudo chown -R nginx:nginx /usr/share/nginx/

السماح لحركة المرور على منافذ 80و 443من خلال جدار الحماية.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

إنشاء مضيف افتراضي

لاستضافة موقع MODX الخاص بك ، قم بإنشاء مضيف افتراضي جديد.

sudo nano /etc/nginx/conf.d/modx.example.com.conf

تعبئة الملف.

server {
        listen 80;
        server_name modx.example.com;
        root /usr/share/nginx/modx;
        index index.php;
        client_max_body_size 30M;
        location / {
                root /usr/share/nginx/modx;
                if (!-e $request_filename) {
                        rewrite ^/(.*)$ /index.php?q=$1 last;
                }
        }
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_ignore_client_abort on;
                fastcgi_param  SERVER_NAME $http_host;
        }

        location ~ /\.ht {
                deny  all;
        }
}

اختبار تكوين خادم الويب Nginx.

sudo nginx -t

سترى الناتج التالي.

[user@vultr nginx]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

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

sudo systemctl restart nginx

تغليف

قبل أن تتمكن من الوصول إلى التثبيت ، ستحتاج إلى إكمال التثبيت عبر مثبت الويب. الوصول إلى التثبيت على شبكة الإنترنت على http://modx.example.com/setup. سترى واجهة لتغيير لغة التثبيت.

اختر اللغة حسب تفضيلاتك وفي الصفحة التالية ، حدد New Installationخيار "". في الصفحة التالية ، قم بتقديم بيانات اعتماد قاعدة بيانات MySQL أو MariaDB وقم بإنشاء حساب مسؤول جديد. أخيرًا ، انقر فوق Installالزر " " وسيكتب المثبت بياناته في قاعدة البيانات.

في هذه المرحلة ، أنت جاهز لإنشاء موقعك على الويب من لوحة التحكم الإدارية.

اترك تعليقاً

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