كيفية تثبيت Neos CMS على FreeBSD 12
استخدام نظام مختلف؟ Neos عبارة عن منصة تطبيق محتوى مع CMS وإطار تطبيق في جوهرها. سيوضح لك هذا الدليل كيفية التثبيت
dotCMS هو نظام إدارة محتوى من فئة مفتوحة المصدر مفتوح بلغة جافا. يحتوي على كل ميزة مطلوبة تقريبًا لإنشاء موقع ويب لعملك. يوفر RESTful API للتكامل مع الخدمات الأخرى مثل CRM وتطبيقات الهاتف المحمول والمزيد. ويستخدم برنامج Elasticsearch لفهرسة المحتوى في الوقت الفعلي و Redis لتنفيذ ذاكرة التخزين المؤقت متعددة المستويات.
تمت كتابة هذه المقالة لـ dotCMS 4.2.2 ، ومع ذلك فإن الإرشادات المقدمة قد تعمل مع الإصدارات الأحدث أيضًا.
في هذا البرنامج التعليمي ، سوف نستخدم 192.168.0.1
كعنوان IP عام cms.example.com
ولكونه اسم النطاق الموجه نحو مثيل Vultr. يرجى التأكد من استبدال كل تكرارات مثال اسم النطاق وعنوان IP العام بالحدث الفعلي.
قم بتحديث نظامك الأساسي باستخدام الدليل كيفية تحديث CentOS 7 . بمجرد تحديث نظامك ، تابع تثبيت Java.
يمكن تثبيت OpenJDK بسهولة حيث تتوفر الحزمة في مستودع YUM الافتراضي.
sudo yum -y install java-1.8.0-openjdk-devel
إذا تم تثبيت Java بشكل صحيح ، فستتمكن من التحقق من إصداره.
java -version
ستحصل على ناتج مماثل.
[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
قبل أن يتسنى لنا مواصلة المضي قدما، فإننا سوف تحتاج إلى إعداد JAVA_HOME
و JRE_HOME
متغيرات البيئة. ابحث عن المسار المطلق لـ Java القابل للتنفيذ على نظامك.
readlink -f $(which java)
سترى مخرجات مماثلة.
[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java
الآن، تعيين JAVA_HOME
و JRE_HOME
متغيرات البيئة وفقا لمسار دليل جافا.
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre" >> ~/.bash_profile
تنفيذ bash_profile
الملف.
source ~/.bash_profile
يمكنك الآن تشغيل echo $JAVA_HOME
الأمر للتأكد من تعيين متغير البيئة.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
بشكل افتراضي ، يتم تكوين dotCMS لاستخدام محرك قاعدة بيانات H2. محرك قاعدة بيانات H2 هو محرك قاعدة بيانات ملف ثابت. لا ينصح باستخدامه في الإنتاج. في هذا البرنامج التعليمي ، سنستخدم خادم PostgreSQL لتخزين قاعدة بيانات dotCMS.
PostgreSQL هو نظام قاعدة بيانات علائقية للكائنات ومعروف باستقراره وسرعته. أضف مستودع أحدث إصدار من PostgreSQL إلى النظام.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
قم بتثبيت خادم قاعدة بيانات PostgreSQL.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
تهيئة قاعدة البيانات.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
قم بتشغيل خادم PostgreSQL وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
قم بتغيير كلمة المرور لمستخدم PostgreSQL الافتراضي.
sudo passwd postgres
قم بتسجيل الدخول باسم مستخدم PostgreSQL الافتراضي.
sudo su - postgres
قم بإنشاء مستخدم PostgreSQL جديد لـ dotCMS.
createuser dotcms
يوفر PostgreSQL psql
shell لتشغيل الاستعلامات على خادم قاعدة البيانات. قم بالتبديل إلى غلاف PostgreSQL.
psql
قم بتعيين كلمة مرور للمستخدم الذي تم إنشاؤه حديثًا لقاعدة بيانات dotCMS.
ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';
استبدل كلمة مرور مستخدم قاعدة البيانات بكلمة مرور DBPassword
آمنة. إنشاء قاعدة بيانات جديدة لتثبيت dotCMS.
CREATE DATABASE dotcms OWNER dotcms;
اخرج من psql
القشرة.
\q
قم بالتبديل إلى sudo
المستخدم.
exit
قم بتنزيل أرشيف dotCMS.
wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.2.2.tar.gz
يمكنك دائمًا العثور على رابط أحدث إصدار من التطبيق في صفحة تنزيل dotCMS .
قم بإنشاء دليل جديد لتخزين ملفات dotCMS واستخراجها فيه.
sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms
افتح ملف تكوين قاعدة البيانات.
cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml
ابحث عن H2
الكتلة.
<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
قم بتعليق H2
القسم بالكامل عن طريق استبدال محدد التعليق -->
من بداية القسم حتى نهاية القسم. يجب أن تبدو كما يلي.
<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->
قم بإلغاء تعليق قسم PostgreSQL بإزالة محدد التعليق -->
من نهاية القسم ووضعه على الالتفاف العلوي POSTGRESQL
. أيضا، والعثور على username=
و password=
واستبدال القيم الموجودة مع اسم المستخدم وكلمة المرور للمستخدم قاعدة البيانات كيو الخاص بك. إذا كنت قد استخدمت اسم قاعدة بيانات بخلاف dotcms
ذلك ، فستحتاج إلى تغيير اسم قاعدة البيانات فيه url=
. بمجرد التكوين ، يجب أن تبدو كتلة PostgreSQL في الملف كما يلي.
<!-- POSTGRESQL -->
<Resource name="jdbc/dotCMSPool" auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost/dotcms"
username="dotcms" password="DBPassword" maxTotal="60" maxIdle="10" maxWaitMillis="60000"
removeAbandonedOnBorrow="true" removeAbandonedOnMaintenance="true" removeAbandonedTimeout="60" logAbandoned="true"
timeBetweenEvictionRunsMillis="30000" validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
تقديم إذن التنفيذ لجميع الملفات القابلة للتنفيذ.
sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh
تم تثبيت dotCMS الآن على الخادم الخاص بك. لتشغيل التطبيق على الفور ، قم بتنفيذ ما يلي.
cd /opt/dotcms
sudo bin/startup.sh
سترى الإخراج التالي عند بدء تشغيل الخادم بنجاح.
[user@vultr dotcms]$ sudo bin/startup.sh
Using DOTCMS_HOME = /opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT
Using DOTSERVER = dotcms
Using CATALINA_PID = /tmp/dotcms.pid
Using JAVA_OPTS = -Djava.awt.headless=true -Xverify:none -Dfile.encoding=UTF8 -server -XX:+DisableExplicitGC -XX:MaxMetaspaceSize=512m -Xmx1G -XX:+UseG1GC -javaagent:/opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/byte-buddy-agent-1.6.12.jar -Ddotserver=dotcms
Using CATALINA_BASE: /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_HOME: /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_TMPDIR: /opt/dotcms/dotserver/tomcat-8.0.18/temp
Using JRE_HOME: /
Using CLASSPATH: /opt/dotcms/dotserver/tomcat-8.0.18/bin/bootstrap.jar:/opt/dotcms/dotserver/tomcat-8.0.18/bin/tomcat-juli.jar
Using CATALINA_PID: /tmp/dotcms.pid
Tomcat started.
سيبدأ الأمر أعلاه خادم الويب Tomcat لخدمة التطبيق على المنفذ 8080
. للتحقق مما إذا كان موقع dotCMS يعمل ، اسمح بالمنفذ المطلوب من 8080
خلال جدار حماية النظام.
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
افتح متصفحك المفضل وتصفح إلى http://192.168.0.1:8080
. يجب أن ترى أن التطبيق يقوم بتشغيل موقع ويب تجريبي. إذا كنت لا ترى موقعك على الويب ، فالرجاء الانتظار حتى يستغرق بدء التشغيل الأول لخادم dotCMS دقيقتين أثناء كتابة البيانات في قاعدة بيانات PostgreSQL وإنشاء ذاكرة التخزين المؤقت. يمكنك أيضًا التحقق من سجلات بدء التشغيل.
tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log
يمكن بدء خادم dotCMS مباشرة باستخدام البرنامج النصي لبدء التشغيل المقدم في حزمة المثبت. من باب الراحة ، يجب عليك إعداد ملف وحدة Systemd لخادم dotCMS. سيضمن ذلك بدء تشغيل خادم التطبيق تلقائيًا عند إعادة تشغيل النظام وإخفاقه.
قم بإيقاف تشغيل خادم dotCMS باستخدام البرنامج النصي لإيقاف التشغيل.
sudo bin/shutdown.sh
قم بإنشاء مستخدم غير مميز لتشغيل خادم dotCMS ، لأسباب أمنية.
sudo adduser -d /opt/dotcms -s /sbin/nologin dotcms
قم بتوفير ملكية الملفات لمستخدم dotCMS.
sudo chown -R dotcms:dotcms /opt/dotcms
إنشاء خدمة Systemd جديدة.
sudo nano /etc/systemd/system/dotcms.service
تعبئة الملف.
[Unit]
Description=dotCMS service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/dotcms/bin/startup.sh
ExecStop=/opt/dotcms/bin/shutdown.sh
User=dotcms
Group=dotcms
Restart=always
[Install]
WantedBy=multi-user.target
قم بتشغيل التطبيق وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start dotcms
sudo systemctl enable dotcms
تأكد من أن الخدمة قيد التشغيل.
sudo systemctl status dotcms
بشكل افتراضي ، يستمع خادم dotCMS على المنفذ 8080
. وسوف تكوين إنجن إكس باسم وكيل عكسي بحيث يمكن الوصول إلى التطبيق عبر معيار HTTP
و HTTPS
الموانئ. سنقوم أيضًا بتكوين Nginx لاستخدام SSL الذي تم إنشاؤه باستخدام Let's Encrypt free SSL.
قم بتثبيت خادم الويب Nginx.
sudo yum -y install nginx
قم بتشغيل خادم الويب وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start nginx
sudo systemctl enable nginx
قم بتثبيت Certbot ، وهو تطبيق عميل لـ Let's Encrypt CA.
sudo yum -y install certbot
قبل أن تتمكن من طلب الشهادات، سوف تحتاج للسماح للموانئ 80
و 443
أو معيار HTTP
و HTTPS
الخدمات من خلال جدار الحماية. أيضًا ، قم بإزالة المنفذ 8080
من قائمة استثناءات جدار الحماية لأنه لم يعد مطلوبًا.
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
ملاحظة: للحصول على شهادات من Let's Encrypt CA ، يجب توجيه النطاق الذي سيتم إنشاء الشهادات من أجله إلى الخادم. إذا لم يكن الأمر كذلك ، قم بإجراء التغييرات اللازمة على سجلات DNS للمجال وانتظر DNS للنشر قبل إجراء طلب الشهادة مرة أخرى. يتحقق Certbot من سلطة المجال قبل تقديم الشهادات.
إنشاء شهادات SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d cms.example.com
من المرجح أن يتم تخزين الشهادات التي تم إنشاؤها /etc/letsencrypt/live/cms.example.com/
. تنتهي صلاحية شهادات التشفير في غضون 90 يومًا ، وبالتالي يوصى بإعداد التجديد التلقائي للشهادات باستخدام وظائف Cron.
افتح ملف مهمة كرون.
sudo crontab -e
أضف السطر التالي في نهاية الملف.
30 5 * * * /usr/bin/certbot renew --quiet
سيتم تشغيل وظيفة cron المذكورة أعلاه كل يوم الساعة 5:30 صباحًا. إذا كانت الشهادة مستحقة للانتهاء ، فسيتم تجديدها تلقائيًا.
قم بإنشاء ملف كتلة خادم جديد لموقع dotCMS.
sudo nano /etc/nginx/conf.d/cms.example.com.conf
تعبئة الملف.
server {
listen 80;
server_name cms.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name cms.example.com;
ssl_certificate /etc/letsencrypt/live/cms.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cms.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/dotcms.access.log;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8080;
proxy_read_timeout 90;
proxy_redirect http://localhost:8080 https://cms.example.com;
}
}
أعد تشغيل خادم الويب Nginx حتى تصبح التغييرات سارية المفعول.
sudo systemctl restart nginx
تطبيق dotCMS مثبت الآن على خادمك لاستخدامه في الإنتاج. قم بالوصول إلى لوحة القيادة الإدارية على العنوان التالي.
https://cms.example.com/dotAdmin
قم بتسجيل الدخول باستخدام حساب المسؤول الأولي ، [email protected]
و admin
. قم بتغيير كلمة المرور الافتراضية فور تسجيل الدخول.
مبروك ، نظام إدارة المحتوى dotCMS مثبت الآن على الخادم الخاص بك. يمكنك تعديل الموقع التجريبي أو يمكنك البدء في بناء موقعك من الصفر.
استخدام نظام مختلف؟ Neos عبارة عن منصة تطبيق محتوى مع CMS وإطار تطبيق في جوهرها. سيوضح لك هذا الدليل كيفية التثبيت
استخدام نظام مختلف؟ Omeka Classic 2.4 CMS هو نظام نشر رقمي مجاني ومفتوح المصدر ونظام إدارة المحتوى (CMS) لمشاركة الصور الرقمية
استخدام نظام مختلف؟ BlogoText CMS هو نظام إدارة محتوى (CMS) بسيط وخفيف الوزن ومفتوح المصدر ومحرك مدونة بسيط
استخدام نظام مختلف؟ WonderCMS هو ملف CMS مفتوح المصدر وسريع وصغير مكتوب بلغة PHP. يتم استضافة كود مصدر WonderCMS على جيثب. فيل هذا الدليل
استخدام نظام مختلف؟ Neos عبارة عن منصة تطبيق محتوى مع CMS وإطار تطبيق في جوهرها. سيوضح لك هذا الدليل كيفية التثبيت
استخدام نظام مختلف؟ Directus 6.4 CMS هو نظام إدارة محتوى بلا محتوى قوي ومرن ومفتوح المصدر ومفتوح المصدر يوفر للمطورين
استخدام نظام مختلف؟ ProcessWire CMS 3.0 هو نظام إدارة محتوى بسيط ومرن وقوي ومجاني ومفتوح المصدر (CMS). ProcessWire CMS 3.
في هذا البرنامج التعليمي ، سنقوم بإعداد خادم ويب باستخدام وكيل عكسي. نظام إدارة المحتوى الذي سنستخدمه هو Keystone.js ، وهو إطار تطبيق ويب معروف
استخدام نظام مختلف؟ Automad هو نظام إدارة محتوى مفتوح المصدر (CMS) ومحرك قوالب مكتوب بلغة PHP. كود مصدر أوتوماد i
استخدام نظام مختلف؟ PyroCMS هو CMS مفتوح المصدر مكتوب بلغة PHP. يتم استضافة شفرة مصدر PyroCMS على GitHub. في هذا الدليل ، تمشي جيدًا عبر الكل
استخدام نظام مختلف؟ ProcessWire CMS 3.0 هو نظام إدارة محتوى بسيط ومرن وقوي ومجاني ومفتوح المصدر (CMS). ProcessWire CMS 3.
استخدام نظام مختلف؟ مقدمة Tiki Wiki CMS Groupware ، والمعروف أيضًا باسم Tiki ، هو نظام إدارة محتوى ويكي مجاني ومفتوح المصدر. ميزة Tikis
استخدام نظام مختلف؟ مقدمة BoltWire هو نظام إدارة محتوى مجاني وخفيف الوزن مكتوب بلغة PHP. مقارنة بمعظم إدارة المحتوى الأخرى
استخدام نظام مختلف؟ Omeka Classic 2.4 CMS هو نظام نشر رقمي مجاني ومفتوح المصدر ونظام إدارة المحتوى (CMS) لمشاركة الصور الرقمية
استخدام نظام مختلف؟ PyroCMS هو CMS مفتوح المصدر مكتوب بلغة PHP. يتم استضافة شفرة مصدر PyroCMS على GitHub. في هذا الدليل تمشي جيدًا عبر الكل
استخدام نظام مختلف؟ PyroCMS هو CMS مفتوح المصدر مكتوب بلغة PHP. يتم استضافة شفرة مصدر PyroCMS على GitHub. في هذا الدليل تمشي جيدًا عبر الكل
استخدام نظام مختلف؟ ProcessWire CMS 3.0 هو نظام إدارة محتوى بسيط ومرن وقوي ومجاني ومفتوح المصدر (CMS). ProcessWire CMS 3.
استخدام نظام مختلف؟ Microweber هو سحب مفتوح المصدر وإفلات CMS ومتجر عبر الإنترنت. يتم استضافة شفرة مصدر Microweber على GitHub. هذا الدليل سيظهر لك
استخدام نظام مختلف؟ Microweber هو سحب مفتوح المصدر وإفلات CMS ومتجر عبر الإنترنت. يتم استضافة شفرة مصدر Microweber على GitHub. هذا الدليل سيظهر لك
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد