recent
أخبار ساخنة

شرح تثبيت Bolt CMS مع Nginx على Ubuntu ... كـ content management ... بالخطوات

الصفحة الرئيسية

شرح تثبيت Bolt CMS مع Nginx على Ubuntu ... content management ... بالخطوات

 

Bolt هو نظام إدارة المحتوى (content management) مجاني ومفتوح المصدر (open-source) وبسيط يعتمد على PHP.

مصمم لسهولة الاستخدام ويساعدك على إنشاء مواقع ويب ذات محتوى قوي وديناميكي بسهولة.

إنه مبني على Silex microframework وهو بديل رائع لمن يبحثون عن نظام PHP حديث.

هو الأنسب لإنشاء مواقع بتنسيق HTML5 باستخدام الترميز الحديث(modern markup).

سنشرح هنا تثبيت Bolt CMS مع Nginx و Let's Encrypt SSL على Ubuntu 20.04.

شاهد خطوات تثبيت Bolt CMS بالفيديو




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

خادم يعمل بنظام التشغيل Ubuntu 20.04.

اسم مجال (domain name) يشير إلى عنوان IP الخاص بالخادم.

إعداد كلمة مرور الـ  root للخادم.


يوصى دائمًا بتحديث نظامك بأحدث إصدار من الحزم.

يمكنك تحديثه بالأمر التالي:

apt-get update -y


قم بتثبيت التبعيات الأخرى عن طريق تشغيل الأمر التالي:

apt-get install software-properties-common gnupg2 unzip git -y


تثبيت LEMP Server

أولاً ، قم بتثبيت خادم Nginx و MariaDB عن طريق تشغيل الأمر التالي:

apt-get install nginx mariadb-server -y


سنحتاج إلى تثبيت PHP الإصدار 7.2 في الخادم الخاص.

بشكل افتراضي يأتي Ubuntu 20.04 مع الإصدار 7.4 من PHP.

لذلك سوف نحتاج إلى إضافة مستودع Ondrej PHP.

يمكنك إضافة مستودع PHP بالأمر التالي:

add-apt-repository ppa:ondrej/php


قم بتحديث المستودع وتثبيت PHP والإضافات الأخرى المطلوبة باستخدام الأمر التالي:


apt-get update -y

apt-get install php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-zip php7.2-pgsql php7.2-sqlite3 php7.2-curl php7.2-gd php7.2-mysql php7.2-intl php7.2-json php7.2-opcache php7.2-xml -y

إنشاء قاعدة بيانات Bolt

سنحتاج إلى إنشاء قاعدة بيانات ومستخدم لـ Bolt.

قم بتسجيل الدخول إلى MariaDB باستخدام الأمر التالي:

mysql


قم بإنشاء قاعدة بيانات ومستخدم باستخدام الأمر التالي:


MariaDB [(none)]> CREATE DATABASE boltdb;

MariaDB [(none)]> CREATE USER 'bolt'@'localhost' IDENTIFIED BY 'password';


امنح جميع الصلاحيات لقاعدة بيانات Bolt باستخدام الأمر التالي:

MariaDB [(none)]> GRANT ALL ON boltdb.* TO 'bolt'@'localhost';


امسح الصلاحيات واخرج من MariaDB shell باستخدام الأمر التالي:

MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> EXIT;

تحميل Bolt CMS

سنحتاج إلى تنزيل أحدث إصدار من Bolt CMS من مستودع Git.

يمكنك تنزيله إلى المجلد  Nginx عن طريق تشغيل الأمر التالي:


cd /var/www/html

git clone https://github.com/bolt/bolt.git


قم بتغيير المجلد إلى bolt وانسخ نموذج ملف الإعدادات:

cd bolt

cp app/config/config.yml.dist app/config/config.yml


 قم بتعديل ملف config.yml وحدد إعدادات قاعدة البيانات الخاصة بك:

nano app/config/config.yml


قم بإزالة سطر قاعدة بيانات sqlite الافتراضي وإضافة الأسطر التالية:

database:

     driver: mysql

     username: bolt

     password: password

     databasename: boltdb

     host: localhost

     prefix: prefix_

احفظ وأغلق الملف عند الانتهاء.

سنحتاج إلى تثبيت Composer.

يمكنك تثبيته بالأمر التالي:

wget -O composer-setup.php https://getcomposer.org/installer

php composer-setup.php --install-dir=/usr/local/bin --filename=composer


بمجرد تثبيت Composer ستحصل على النتيجة التالية:

All settings correct for using Composer

Downloading...

Composer (version 2.0.2) successfully installed to: /usr/local/bin/composer

Use it: php /usr/local/bin/composer


قم بتثبيت تبعيات PHP المطلوبة لـ Bolt CMS باستخدام الأمر التالي:

composer install


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

chown -R www-data:www-data /var/www/html/bolt

chmod -R 755 /var/www/html/bolt

إعدادات Nginx لـ Bolt

سنحتاج إلى إنشاء ملف إعداد مضيف افتراضي(virtual host) لـ  Nginx لـ Bolt CMS.

 يمكنك إنشائه بالأمر التالي:

nano /etc/nginx/sites-available/bolt.conf


أضف الأسطر التالية:

server { 

   listen 80; 

   root /var/www/html/bolt; 

   index  index.php index.html index.htm; 

   server_name  bolt.example.com; 

   location / { 

   try_files           $uri $uri/ /index.php?$query_string; 

   } 

location ~ [^/]\.php(/|$) { 

   try_files            /index.php =404; 

   fastcgi_split_path_info  ^(.+\.php)(/.+)$; 

   fastcgi_index            index.php; 

   fastcgi_pass             unix:/var/run/php/php7.2-fpm.sock; 

   include                  fastcgi_params; 

   fastcgi_param   PATH_INFO       $fastcgi_path_info; 

   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 

   } 

  location = /bolt { 

   try_files                $uri /index.php?$query_string; 

  } 

  location ^~ /bolt/ { 

   try_files                 $uri /index.php?$query_string; 

  } 

}


احفظ وأغلق الملف عند الانتهاء.

 ثم قم بتمكين ملف Nginx virtual host باستخدام الأمر التالي:

ln -s /etc/nginx/sites-available/bolt.conf /etc/nginx/sites-enabled/bolt.conf


بعد ذلك ، تحقق من حالة  Nginx بحثًا عن أي خطأ باستخدام الأمر التالي:

nginx -t


سترى النتيجةالتالية:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful


أعد تشغيل خدمة Nginx لتطبيق التغييرات:

systemctl restart nginx


الوصول إلى Bolt CMS

افتح متصفح الويب الخاص بك واكتب عنوان URL 

http://bolt.example.com 

 ستتم إعادة توجيهك إلى الصفحة التالية:




أدخل اسم المستخدم وكلمة المرور والبريد الإلكتروني الذي تريده.

انقر على Create the first user.

ستشاهد لوحة معلومات Bolt CMS في الصفحة التالية:




انقر فوق View site.

ستشاهد صفحة موقع Bolt CMS:




تأمين BoltCMS باستخدام Let's Encrypt SSL

قم بتثبيت Certbot Let's Encrypt في الخادم الخاص بك باستخدام الأمر التالي:

apt-get install python3-certbot-nginx -y


قم بتأمين موقع الويب الخاص بك باستخدام Let's Encrypt SSL عن طريق تشغيل الأمر التالي:

certbot --nginx -d bolt.example.com


سيُطلب منك تقديم عنوان بريد إلكتروني صالح وقبول مدة الخدمة:

Saving debug log to /var/log/letsencrypt/letsencrypt.log

Plugins selected: Authenticator nginx, Installer nginx

Enter email address (used for urgent renewal and security notices) (Enter 'c' to

cancel): hitjethva@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Please read the Terms of Service at

https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must

agree in order to register with the ACME server at

https://acme-v02.api.letsencrypt.org/directory

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Would you be willing to share your email address with the Electronic Frontier

Foundation, a founding partner of the Let's Encrypt project and the non-profit

organization that develops Certbot? We'd like to send you email about our work

encrypting the web, EFF news, campaigns, and ways to support digital freedom.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(Y)es/(N)o: Y

Obtaining a new certificate

Performing the following challenges:

http-01 challenge for bolt.example.com

Waiting for verification...

Cleaning up challenges

Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/bolt.conf


اختر ما إذا كنت تريد إعادة توجيه حركة مرور HTTP إلى HTTPS:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

1: No redirect - Make no further changes to the webserver configuration.

2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for

new sites, or if you're confident your site works on HTTPS. You can undo this

change by editing your web server's configuration.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2


اكتب 2 واضغط على Enter لإنهاء التثبيت.

سترى النتيجة التالية:

Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/bolt.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Congratulations! You have successfully enabled https://bolt.example.com

You should test your configuration at:

https://www.ssllabs.com/ssltest/analyze.html?d=bolt.example.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:

 - Congratulations! Your certificate and chain have been saved at:

   /etc/letsencrypt/live/bolt.example.com/fullchain.pem

   Your key file has been saved at:

   /etc/letsencrypt/live/bolt.example.com/privkey.pem

   Your cert will expire on 2020-10-30. To obtain a new or tweaked

   version of this certificate in the future, simply run certbot again

   with the "certonly" option. To non-interactively renew *all* of

   your certificates, run "certbot renew"

 - Your account credentials have been saved in your Certbot

   configuration directory at /etc/letsencrypt. You should make a

   secure backup of this folder now. This configuration directory will

   also contain certificates and private keys obtained by Certbot so

   making regular backups of this folder is ideal.

 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate

   Donating to EFF:                    https://eff.org/donate-le

 - We were unable to subscribe you the EFF mailing list because your

   e-mail address appears to be invalid. You can try again later by

   visiting https://act.eff.org.


تم تأمين موقع BoltCMS الخاص بك باستخدام Let's Encrypt SSL.

يمكنك الوصول إليه بأمان باستخدام العنوان https://bolt.example.com


google-playkhamsatmostaqltradent