كيفية تثبيت وتكوين CyberPanel على خادم CentOS 7 الخاص بك
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
Leanote هو بديل مجاني وخفيف الوزن ومفتوح المصدر لـ Evernote ، مكتوب بلغة Golang. مع وضع تجربة المستخدم في الاعتبار ، يوفر Leanote للمستخدمين الكثير من الميزات العملية ، بما في ذلك الدعم عبر الأنظمة الأساسية ، والكتابة في بناء جملة MarkDown ، والتدوين العام أو الخاص ، وجمع المعرفة ومشاركتها ، والتعاون الجماعي.
في هذه المقالة ، سأوجهك خلال إعداد خادم Leanote على مثيل خادم CentOS 7. لأغراض أمنية ، HTTPS support
سيتم أيضًا تفعيل تمكين استخدام شهادة Let's Encrypt SSL و Nginx.
203.0.113.1
.leanote
.leanote.example.com
الذي يتم الإشارة إليه إلى مثيل الخادم المذكور أعلاه.عند تشغيل نسخة جديدة من خادم Vultr CentOS 7 ، يوصى دائمًا بإعداد ملف مبادلة لضمان عمل النظام بسلاسة. على سبيل المثال ، إن إنشاء ملف مبادلة بحجم 2048 ميجابايت مناسب لجهاز يحتوي على 2 جيجابايت من الذاكرة.
sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -m
ملاحظة: إذا كنت تستخدم حجم خادم مختلفًا ، فقد تحتاج إلى تعديل حجم ملف المبادلة.
قم بتنزيل واستخراج أحدث إصدار ثابت من Leanote لنظام Linux 64 بت:
cd
wget https://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz
كما هو مطلوب من Leanote ، يجب أن يكون MongoDB NoSQL DBMS في مكانه قبل أن تتمكن من إعداد خادم Leanote بنجاح.
إنشاء الريبو MongoDB 4.0 YUM على النحو التالي:
cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
قم بتثبيت جميع مكونات وأدوات MongoDB باستخدام إصدار MongoDB 4.0 YUM الذي تم إنشاؤه سابقًا:
sudo yum install -y mongodb-org
بشكل افتراضي ، يستخدم MongoDB 27017
المنفذ عند العمل ، وهو أمر غير مسموح به إذا كان SELinux في enforcing
الوضع على جهاز CentOS 7. استخدم الأمر التالي لتأكيد وضع SELinux الحالي:
sudo getenforce
في مثيل خادم Vultr CentOS 7 ، يتم تعطيل SELinux افتراضيًا. لذا سيكون ناتج الأمر أعلاه:
Disabled
في هذه الحالة ، لا تتردد في تخطي التعليمات التالية حول تكوين SELinux والمضي قدمًا.
ومع ذلك ، إذا كنت تقوم بتشغيل مثيل خادم CentOS 7 الأصلي ، فسيكون إخراج الأمر أعلاه هو Enforcing
. تحتاج إلى تنفيذ أي من الخيارات الثلاثة أدناه قبل أن تتمكن من بدء خدمة MongoDB وتمكينها.
الخيار 1: السماح لـ MongoDB باستخدام 27017
المنفذ
sudo semanage port -a -t mongod_port_t -p tcp 27017
الخيار 2: تعطيل SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sudo shutdown -r now
الخيار 3: قم بتغيير SELinux إلى permissive
الوضع
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sudo shutdown -r now
ابدأ تشغيل خدمة MongoDB واجعلها تبدأ بعد إعادة تشغيل النظام:
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
استخدم الأوامر أدناه لاستيراد بيانات Leanote الأولية إلى MongoDB:
rm /home/leanote/leanote/mongodb_backup/leanote_install_data/.DS_Store
mongorestore --host localhost -d leanote --dir /home/leanote/leanote/mongodb_backup/leanote_install_data/
لأغراض أمنية ، تحتاج إلى تمكين التحكم في الوصول إلى MongoDB مباشرة بعد تشغيل خدمة MongoDB وتشغيلها. لهذا الغرض ، تحتاج إلى إنشاء حسابين على الأقل من مستخدمي MongoDB: حساب مسؤول مستخدم وحساب مسؤول قاعدة بيانات. ستحتاج أيضًا إلى تعديل تكوين MongoDB.
أدخل هيكل MongoDB:
mongo --host 127.0.0.1:27017
قم بالتبديل إلى admin
قاعدة البيانات:
use admin
إنشاء مسؤول مستخدم باسم useradmin
كلمة مرور useradminpassword
:
db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
ملاحظة: من المفترض أن يقوم مسؤول المستخدم useradmin
بإدارة جميع مستخدمي MongoDB ، لذا فمن الحكمة اختيار كلمة مرور قوية. بالطبع ، نصيحة أكثر أمانًا هي استبدال useradmin
اسم مستخدم يصعب تخمينه.
قم بالتبديل إلى leanote
قاعدة البيانات:
use leanote
إنشاء مسؤول قاعدة بيانات يسمى leanoteadmin
كلمة مرور leanoteadminpassword
:
db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })
ملاحظة : مرة أخرى ، يوصى باختيار اسم مستخدم أقل شهرة وكلمة مرور يصعب تخمينها.
بعد إنشاء مستخدمي MongoDB ، يمكنك تأكيد النتائج:
use admin
db.auth("useradmin", "useradminpassword")
قم بتأكيد مسؤول قاعدة البيانات:
use leanote
db.auth("leanoteadmin", "leanoteadminpassword")
كلاهما سيخرج 1
كتأكيد.
اخرج من قاعدة MongoDB:
exit
لتمكين التحكم في الوصول إلى MongoDB ، تحتاج أيضًا إلى إلحاق سطرين بملف التكوين MongoDB /etc/mongod.conf
، كما يلي:
sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo ' authorization: enabled' >> /etc/mongod.conf"
قم بإعادة تشغيل خدمة MongoDB حتى تصبح التعديلات نافذة المفعول:
sudo systemctl restart mongod.service
من الآن فصاعدًا ، يمكنك فقط استخدام useradmin
حسابي المستخدم للوصول إلى MongoDB وإدارته ، لإدارة جميع مستخدمي MongoDB leanoteadmin
وإدارة leanote
قاعدة البيانات فقط.
النسخ الاحتياطي لملف تكوين Leanote /home/leanote/leanote/conf/app.conf
:
cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak
استخدم vi
المحرر لفتح ملف تكوين Leanote:
vi app.conf
ابحث عن الأسطر التالية واحدة تلو الأخرى:
site.url=http://localhost:9000
db.username= # if not exists, please leave it blank
db.password= # if not exists, please leave it blank
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y
استبدلها ، على التوالي ، كما هو موضح أدناه:
site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
ملاحظة: لأغراض أمنية ، app.secret
يجب أن تكون قيمة المعلمة سلسلة عشوائية 64 بت مختلفة عن السلسلة الأصلية. تأكد من استبدال القيمة بقيمة E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
عشوائية 64 بت الخاصة بك.
احفظ واخرج:
:wq!
تعديل قواعد جدار الحماية للسماح بحركة مرور TCP الواردة على المنفذ 9000
:
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service
ابدأ Leanote باستخدام البرنامج النصي الرسمي:
cd /home/leanote/leanote/bin
bash run.sh
عند المشاهدة Listening on.. 0.0.0.0:9000
، قم http://leanote.example.com:9000
بتوجيه متصفح الويب المفضل لديك لبدء استخدام موقع Leanote.
استخدم حساب مسؤول Leanote الافتراضي لتسجيل الدخول:
admin
abc123
لأغراض أمنية ، يجب تغيير كلمة المرور الافتراضية فور تسجيل الدخول.
HTTPS
الوصولفي الوقت الحالي ، يمكنك بالفعل الوصول إلى خادم Leanote باستخدام بروتوكول HTTP ، وهو بروتوكول أقل أمانًا. لتحسين أمان النظام ، يمكنك التمكين من HTTPS
خلال نشر كل من شهادة Let's Encrypt SSL و Nginx proxy العكسي على جهازك.
قبل أن تتمكن من الحصول على شهادة Let's Encrypt SSL ، تحتاج إلى إعداد اسم المضيف و FQDN على جهازك بشكل صحيح.
أولاً ، اضغط على CTRL+ Cلإيقاف البرنامج النصي Leanote run.sh
.
بعد ذلك ، قم بإعداد اسم المضيف و FQDN على النحو التالي:
sudo hostnamectl set-hostname leanote
cat <<EOF | sudo tee /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 leanote.example.com leanote
EOF
يمكنك تأكيد النتائج أيضًا:
hostname
hostname -f
منع حركة المرور الواردة على المنفذ 9000
والسماح لحركة المرور الواردة على منافذ ل HTTP
و HTTPS
الخدمات:
sudo firewall-cmd --permanent --remove-port=9000/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
تثبيت الأداة المساعدة Certbot:
sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot
التقدم بطلب للحصول على شهادة Let's Encrypt SSL للمجال leanote.example.com
:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d leanote.example.com
سيتم حفظ الشهادة والسلسلة على النحو التالي:
/etc/letsencrypt/live/leanote.example.com/fullchain.pem
سيتم حفظ ملف المفتاح الخاص على النحو التالي:
/etc/letsencrypt/live/leanote.example.com/privkey.pem
بشكل افتراضي ، تنتهي صلاحية شهادة Let's Encrypt SSL في غضون ثلاثة أشهر. يمكنك إعداد وظيفة cron ، كما هو موضح أدناه ، للتجديد التلقائي لشهادات Let's Encrypt الخاصة بك:
sudo crontab -e
اضغط Iللدخول إلى insert
الوضع ، ثم أدخل السطر التالي:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
احفظ واخرج:
:wq!
ستحاول وظيفة cron هذه تجديد شهادة Let's Encrypt كل يوم عند الظهر.
قم بتثبيت Nginx باستخدام EPEL YUM repo:
sudo yum install -y nginx
قم بإنشاء ملف تكوين لـ Leanote:
cat <<EOF | sudo tee /etc/nginx/conf.d/leanote.conf
# Redirect HTTP to HTTPS
server {
listen 80;
server_name leanote.example.com;
return 301 https://\$server_name\$request_uri;
}
server {
# Setup HTTPS certificates
listen 443 default ssl;
server_name leanote.example.com;
ssl_certificate /etc/letsencrypt/live/leanote.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/leanote.example.com/privkey.pem;
# Proxy to the Leanote server
location / {
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 https;
proxy_set_header X-Forwarded-Host \$http_host;
proxy_set_header Host \$http_host;
proxy_max_temp_file_size 0;
proxy_pass http://127.0.0.1:9000;
proxy_redirect http:// https://;
}
}
EOF
أعد تشغيل Nginx من أجل تنفيذ التعديلات:
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
قم بتعديل site.url
الإعداد في ملف تكوين Leanote:
cd /home/leanote/leanote/conf/
vi app.conf
ابحث عن السطر التالي:
site.url=http://leanote.example.com:9000
استبدلها:
site.url=https://leanote.example.com
احفظ واخرج:
:wq!
قم بتشغيل البرنامج النصي Leanote مرة أخرى:
cd /home/leanote/leanote/bin
bash run.sh
الآن ، قم بتوجيه متصفح الويب المفضل لديك إلى http://leanote.example.com/
، وستجد أنه HTTPS
تم تنشيط البروتوكول تلقائيًا. ما عليك سوى تسجيل الدخول باسم admin
المستخدم باستخدام كلمة المرور الجديدة التي أعددتها سابقًا أو تسجيل حسابات مستخدمين جديدة للتعاون الجماعي.
مرة أخرى ، اضغط على CTRL+ Cلإيقاف البرنامج النصي Leanote. سوف نحبط هذا البرنامج النصي لاحقًا.
wkhtmltopdf
البرنامجيختار Leanote استخدام wkhtmltopdf
البرنامج لتصدير صفحات HTML كملفات PDF. التثبيت wkhtmltopdf
:
cd
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum localinstall -y wkhtmltox-0.12.5-1.centos7.x86_64.rpm
which wkhtmltopdf
لا تنس إرسال wkhtmltopdf
المسار الثنائي /usr/local/bin/wkhtmltopdf
في Export PDF
القسم في لوحة تحكم مشرف الويب في Leanote عند تشغيل Leanote وتشغيله مرة أخرى.
ملاحظة: إذا وجدت أحرفًا غير قابلة للقراءة في ملفات PDF التي تم تصديرها ، يمكنك محاولة إصلاح المشكلة عن طريق إضافة ملفات الخطوط المطلوبة إلى /usr/share/fonts/
الدليل.
من أجل إبقاء موقع Leanote الخاص بك متصلاً بالإنترنت ، يمكنك استخدام أداة المشرف المساعدة لبدء البرنامج النصي Leanote تلقائيًا في حالة تعطله.
تثبيت المشرف باستخدام YUM:
sudo yum install -y supervisor
إنشاء .ini
ملف مشرف بسيط لـ Leanote:
cat <<EOF | sudo tee /etc/supervisord.d/leanote.ini
[program:leanote]
command=bash /home/leanote/leanote/bin/run.sh
directory=/home/leanote/leanote/bin/
priority=999
autostart=true
autorestart=true
user=leanote
redirect_stderr=true
EOF
ابدأ خدمة المشرف ، بالإضافة إلى خدمة Leanote:
sudo supervisord -c /etc/supervisord.conf
قم بتأكيد حالة خدمة Leanote:
sudo supervisorctl status leanote
سيشبه الإخراج ما يلي:
leanote RUNNING pid 3707, uptime 0:02:36
استخدام نظام مختلف؟ مقدمة تعد CyberPanel واحدة من أولى لوحات التحكم في السوق مفتوحة المصدر وتستخدم OpenLiteSpeed. ما هذا
أكتوبر هو نظام إدارة محتوى مفتوح المصدر يعتمد على Laravel PHP Framework. مع واجهة أنيقة وبنية وحدات موجزة
RockMongo هي أداة إدارة MongoDB على الويب تشبه أداة إدارة MySQL: phpMyAdmin. سيغطي هذا البرنامج التعليمي عملية التثبيت
Lets Chat هو تطبيق دردشة مفتوح المصدر مصمم لتوفير خدمة الرسائل ذاتية الاستضافة للفرق الصغيرة. يعتمد Lets Chat على NodeJS و MongoDB
استخدام نظام مختلف؟ Taiga هو تطبيق مجاني ومفتوح المصدر لإدارة المشاريع. على عكس أدوات إدارة المشاريع الأخرى ، يستخدم Taiga زيادة
استخدام نظام مختلف؟ المتطلبات الأساسية مثيل خادم Vultr CentOS 7. مستخدم sudo. الخطوة 1: تحديث النظام أولاً ، قم بتحديث خادم النظام الخاص بك إلى th
استخدام نظام مختلف؟ Netdata هي نجمة صاعدة في مجال مراقبة مقاييس النظام في الوقت الفعلي. مقارنة بالأدوات الأخرى من نفس النوع ، Netdata:
DreamFactory هو برنامج مفتوح المصدر يمكنه تحويل أي قاعدة بيانات إلى منصة RESTful API. يمكن نشر DreamFactory على منصات مختلفة. في ثي
استخدام نظام مختلف؟ في هذا البرنامج التعليمي ، سأشرح لك كيفية إعداد خادم Starbound على CentOS 7. المتطلبات الأساسية يجب أن تمتلك هذه اللعبة عليك
Go (تُعرف أيضًا باسم Golang) هي لغة برمجة مكتوبة بشكل ثابت ومجمعة على شكل حرف C تم تطويرها بواسطة Google. جعلت البساطة وتعدد الاستخدامات ب
Django هو إطار Python شائع لكتابة تطبيقات الويب. مع Django ، يمكنك بناء التطبيقات بشكل أسرع ، دون إعادة اختراع العجلة. إذا كنت تريد
مرحبًا بك في برنامج تعليمي Vultr آخر. هنا ، ستتعلم كيفية تثبيت خادم SAMP وتشغيله. تمت كتابة هذا الدليل الخاص بـ CentOS 6. المتطلبات الأساسية التي ستحتاج إليها
Revive Adserver هو نظام عرض إعلانات مجاني ومفتوح المصدر يمكن استخدامه لإدارة الإعلانات على مواقع الويب و / أو التطبيقات و / أو مشغلات الفيديو. في هذه المقالة ،
استخدام نظام مختلف؟ Elgg هو محرك تواصل اجتماعي مفتوح المصدر يسمح بإنشاء بيئات اجتماعية مثل الشبكات الاجتماعية في الحرم الجامعي
استخدام نظام مختلف؟ الشتات هو شبكة اجتماعية مفتوحة المصدر تدرك الخصوصية. في هذا البرنامج التعليمي ، ستتعلم كيفية إعداد وتكوين po Diaspora po
نظرة عامة تهدف هذه المقالة إلى مساعدتك في إنشاء مجموعة Kubernetes وتشغيلها باستخدام kubeadm في لمح البصر. سيقوم هذا الدليل بنشر خادمين في
استخدام نظام مختلف؟ مقدمة Sails.js هو إطار عمل MVC لـ Node.js ، مشابه لـ Ruby on Rails. يجعل لتطوير التطبيقات الحديثة ver
استخدام نظام مختلف؟ يمكن استخدام NGINX كخادم HTTP / HTTPS أو خادم وكيل عكسي أو خادم وكيل بريد أو موازن تحميل أو فاصل TLS أو ذاكرة تخزين مؤقت
استخدام نظام مختلف؟ dotCMS هو نظام إدارة محتوى من فئة مفتوحة المصدر مفتوح بلغة جافا. أنه يحتوي تقريبا على كل ميزة مطلوبة ر
مقدمة في هذا البرنامج التعليمي ، سيتم تثبيت PufferPanel على Vultr VPS. PufferPanel هي لوحة تحكم مفتوحة المصدر مجانية للاستخدام لإدارتك
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد