كيفية تثبيت Neos CMS على FreeBSD 12
استخدام نظام مختلف؟ Neos عبارة عن منصة تطبيق محتوى مع CMS وإطار تطبيق في جوهرها. سيوضح لك هذا الدليل كيفية التثبيت
DotCMS هو نظام إدارة محتوى مفتوح المصدر على مستوى المؤسسة مكتوب بلغة Java. يحتوي على كل ميزة مطلوبة تقريبًا لإنشاء موقع ويب لعملك. يوفر RESTful API للتكامل مع خدمات أخرى مثل CRM وتطبيقات الهاتف المحمول والمزيد. ويستخدم Elasticsearch لفهرسة المحتوى في الوقت الفعلي و Redis لتنفيذ ذاكرة تخزين مؤقت متعددة المستويات.
في هذا البرنامج التعليمي ، سوف نستخدم 192.168.0.1
كعنوان IP عام cms.example.com
ولكونه اسم النطاق الموجه نحو مثيل Vultr. يرجى التأكد من استبدال كل تكرارات مثال اسم النطاق وعنوان IP العام بالحدث الفعلي.
قم بتحديث نظامك الأساسي باستخدام الدليل كيفية تحديث Ubuntu 16.04 . بمجرد تحديث نظامك ، تابع تثبيت Java.
أضف مستودع Ubuntu لـ Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
قم بتثبيت Java.
sudo apt -y install oracle-java8-installer
ستتمكن من التحقق من إصدار Java.
java -version
سترى الناتج التالي.
user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
قم بتعيين المسار الافتراضي لـ Java عن طريق تثبيت الحزمة التالية.
sudo apt -y install oracle-java8-set-default
يمكنك التحقق من JAVA_HOME
تعيين ذلك.
echo $JAVA_HOME
يجب أن ترى ما يلي.
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
إذا كنت لا ترى أي إخراج على الإطلاق ، فستحتاج إلى تسجيل الخروج من shell الحالي وتسجيل الدخول مرة أخرى.
بشكل افتراضي ، يتم تكوين dotCMS لاستخدام محرك قاعدة بيانات H2. محرك قاعدة بيانات H2 هو محرك قاعدة بيانات ملف ثابت. لا ينصح باستخدامه في الإنتاج. في هذا البرنامج التعليمي ، سنستخدم خادم PostgreSQL لتخزين قاعدة بيانات dotCMS.
PostgreSQL هو نظام قاعدة بيانات كائني ، معروف باستقراره وسرعته. يحتوي مستودع Ubuntu الافتراضي على إصدار قديم من PostgreSQL ، لذا أضف مستودع PostgreSQL.
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
قم بتثبيت خادم قاعدة بيانات PostgreSQL.
sudo apt -y install postgresql
قم بتشغيل خادم PostgreSQL وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start postgresql
sudo systemctl enable postgresql
قم بتغيير كلمة المرور لمستخدم 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.3.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:/opt/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: /usr
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
.
افتح متصفحك المفضل وتصفح إلى 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 --home /opt/dotcms -gecos "dotCMS User" --disabled-password --disabled-login 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.
قم بتثبيت Nginx.
sudo apt -y install nginx
قم بتشغيل Nginx وتمكينه من البدء تلقائيًا في وقت التمهيد.
sudo systemctl start nginx
sudo systemctl enable nginx
أضف مستودع Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
قم بتثبيت Certbot ، وهو تطبيق العميل لـ Let's Encrypt CA.
sudo apt -y install certbot
ملاحظة: للحصول على شهادات من Let's Encrypt CA ، يجب توجيه النطاق الذي سيتم إنشاء الشهادات من أجله إلى الخادم. إذا لم يكن الأمر كذلك ، قم بإجراء التغييرات اللازمة على سجلات DNS للمجال وانتظر DNS للنشر قبل إجراء طلب الشهادة مرة أخرى. يتحقق Certbot من سلطة المجال قبل تقديم الشهادات.
إنشاء شهادات SSL.
sudo certbot certonly --webroot -w /var/www/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/sites-available/dotcms
تعبئة الملف.
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;
}
}
قم بتنشيط التكوين.
sudo ln -s /etc/nginx/sites-available/dotcms /etc/nginx/sites-enabled/dotcms
أعد تشغيل خادم الويب 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 ، وهو إطار تطبيق ويب معروف
استخدام نظام مختلف؟ dotCMS هو نظام إدارة محتوى من فئة مفتوحة المصدر مفتوح بلغة جافا. أنه يحتوي تقريبا على كل ميزة مطلوبة ر
استخدام نظام مختلف؟ 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. قراءة هذه المادة لمعرفة المزيد