Bolt هو نظام إدارة المحتوى (content management) مجاني ومفتوح المصدر (open-source) وبسيط يعتمد على PHP.
مصمم لسهولة الاستخدام ويساعدك على إنشاء مواقع ويب ذات محتوى قوي وديناميكي بسهولة.
إنه مبني على Silex microframework وهو بديل رائع لمن يبحثون عن نظام PHP حديث.
هو الأنسب لإنشاء مواقع بتنسيق HTML5 باستخدام الترميز الحديث(modern markup).
شاهد خطوات تثبيت Bolt CMS بالفيديو
المتطلبات الأساسية
اسم مجال (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
يمكنك تنزيله إلى المجلد 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
يمكنك إنشائه بالأمر التالي:
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
http://bolt.example.com
ستتم إعادة توجيهك إلى الصفحة التالية:
أدخل اسم المستخدم وكلمة المرور والبريد الإلكتروني الذي تريده.
انقر على Create the first user.
ستشاهد لوحة معلومات Bolt CMS في الصفحة التالية:
انقر فوق View site.
ستشاهد صفحة موقع Bolt CMS:
تأمين BoltCMS باستخدام Let's Encrypt SSL
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