منوعات تقنية

كيفية إنشاء Office 365 الخاص بك مستضاف ذاتيًا باستخدام Cryptpad


Cryptpad هو برنامج مجموعة مكتب مفتوح المصدر يمكنك استضافته بنفسك على الخادم الخاص بك. إنه مشابه لـ Office 365 الذي يسمح لك بالوصول إلى مجموعة Office مباشرة من المستعرض. يتمثل الاختلاف الرئيسي في أن Cryptpad يركز على خصوصية المستخدم ويسمح لك بإنشاء ومشاركة المستندات دون التعرض لخطر تسريب أي معلومات شخصية.

يوضح هذا البرنامج التعليمي كيفية تثبيت Cryptpad على الخادم الخاص بك ، وكيف يعمل Cryptpad وكيف يمكنك إنشاء حساب المستخدم الأول الخاص بك.

ما هو Cryptpad ولماذا يجب استخدامه؟

Cryptpad عبارة عن مجموعة مكتبية عبر الإنترنت توفر لك بديلاً موجهًا نحو الخصوصية لتحرير المستندات التعاوني. على غرار الأجنحة عبر الإنترنت ، مثل Office 365 ومحرّر مستندات Google ، يتيح لك إنشاء المستندات ومشاركتها مع أشخاص آخرين عبر الإنترنت.

واحدة من أكبر مزايا Cryptpad على Office 365 هي أنه مشفر بالكامل من طرف إلى طرف. لا يمكن لأحد سواك أنت والمتعاونين الوصول إلى المستند الذي تقوم بتحريره ، مما قد يكون مفيدًا عند مشاركة المستندات التي تحتوي على معلومات حساسة مع أشخاص آخرين.

تتفوق Cryptpad أيضًا على Office 365 من حيث أنه يمكنك استضافتها بشكل كامل على أجهزتك الخاصة. هذا مفيد بشكل خاص إذا كنت قلقًا بشأن تخزين معلوماتك على مزود تابع لجهة خارجية.

هل تعرف: يمكنك بسهولة مشاركة مستند محرر مستندات Google عبر البريد الإلكتروني.

متطلبات

قبل أن تتمكن من تثبيت Cryptpad ، تحتاج إلى التأكد من أن لديك الموارد التالية جاهزة:

  • آلة يمكن الوصول إليها من شبكة خارجية
  • 2 غيغابايت على الأقل من ذاكرة الوصول العشوائي و 20 غيغابايت من السعة التخزينية
  • يشير اسم المجال (واسم المجال الفرعي) إلى عنوان IP الخاص بخادمك

ملحوظة: تم إنشاء هذا البرنامج التعليمي على Ubuntu VPS من Digitalocean.

نافذة تعرض معلومات قطرة Digitalocean.

نصيحة: بينما سيعمل Cryptpad من خادم VPS للأوراق المالية ، يوصي مطوروه بشدة بتأمين خادم Linux الخاص بك أيضًا قبل تثبيت البرنامج.

تثبيت Cryptpad

  1. قم بتثبيت تبعيات Cryptpad:
sudo gpasswd -a www-data ramces
sudo apt install git nodejs npm nginx certbot python3-certbot-nginx
نافذة طرفية توضح تبعيات Cryptpad.
  1. استنساخ الكود المصدري للبرنامج من مستودعه:
git clone https://github.com/xwiki-labs/cryptpad.git cryptpad
نافذة طرفية تظهر استنساخ git.
  1. ادخل إلى المستودع وانتقل إلى آخر فرع:
cd cryptpad
git checkout -b 5.2.1
نافذة طرفية تعرض مفتاح git الفرعي.
  1. يستخدم npm لتثبيت Bower ، مدير الحزم الذي يساعد في تثبيت بعض المكتبات التي يحتاجها Cryptpad.
sudo npm install -g bower
نافذة طرفية توضح عملية تثبيت التعريشة.
  1. قم بتثبيت برنامج Cryptpad الثنائي عن طريق تشغيل كليهما npm و bower داخل المستودع.
npm install
bower install
نافذة طرفية توضح عملية تثبيت Cryptpad.

جيد ان تعلم: لست بحاجة إلى Microsoft Office لفتح ملف docx وعرضه. تعرف على طرق أخرى لفتح ملف docx لديك.

تكوين شهادة SSL

بمجرد أن يكون Cryptpad في جهازك ، يمكنك تشغيل Certbot لإنشاء شهادة لمثيلك:

sudo certbot certonly --standalone

سيؤدي ذلك إلى ظهور مطالبة تطلب عنوان بريدك الإلكتروني.

نافذة طرفية توضح أن certbot يطلب عنوان بريد إلكتروني.

ستطلب الأداة المساعدة Certbot المجالات التي تريد ربطها بشهادتك. أدخل كلاً من الجذر والمجال الفرعي.

قسم من نافذة طرفية تظهر أن certbot يسأل عن أسماء المجال.

قم بإنشاء ملف معلمة Diffie-Hellman للمثيل الخاص بك. هذا إجراء أمني يطلبه المطورون للتأكد من أن المثيل الخاص بك آمن.

sudo openssl dhparam -out /etc/nginx/dhparam.pem 4096

جيد ان تعلم: يمكنك معرفة المزيد حول OpenSSL و TLS من خلال إنشاء شهادة موقعة ذاتيًا.

تكوين Nginx

لتكوين Nginx لخدمة Cryptpad لنطاقك ، يمكنك الاستفادة من مثال ملف التكوين الذي قدمه المطورون.

sudo cp /home/$USER/cryptpad/docs/example.nginx.conf /etc/nginx/conf.d/cryptpad.conf
نافذة طرفية تعرض أمر نسخ القالب.

قم بتعديل ملف التكوين الجديد الخاص بك باستخدام محرر نصوص.

sudo nano /etc/nginx/conf.d/cryptpad.conf

قم بتغيير بعض المتغيرات لجعل هذا الملف يعمل. أولاً ، قم بالتعليق على include letsencrypt-webroot; خط.

جزء من نافذة طرفية يظهر تعطيل خط webroot.

بعد ذلك ، قم بتعديل ملف $main_domain و $sandbox_domain المتغيرات. يجب أن يحتوي الأول على مجال الجذر الخاص بك ، بينما يجب أن يحتوي الأخير على المجال الفرعي الخاص بك.

قسم من نافذة طرفية يظهر متغيرات المجال.

تعديل أيضا $api_domain و $files_domain. على عكس ما سبق ، ما عليك سوى تغييرها إلى مجال جذر جهازك.

قسم من نافذة طرفية يعرض مجموعة أخرى من متغيرات المجال.

غير ال server_name متغير لكل من الجذر والمجال الفرعي.

قسم من نافذة المحطة يعرض متغير اسم الخادم.

يتغير ssl_certificate و ssl_certificate_key إلى موقع شهادة SSL الخاصة بك.

قسم من نافذة طرفية يعرض متغيرات مسار SSL.

أخيرًا ، استبدل قيمة root متغير مع موقع مستودع Cryptpad الخاص بك.

قسم من نافذة طرفية يعرض متغير جذر المثيل.

تكوين Cryptpad

استخدم مثال ملف التكوين الذي قدمه المطورون عن طريق تشغيل:

cp /home/$USER/cryptpad/config/config.example.js /home/$USER/cryptpad/config/config.js

افتحه باستخدام محرر نصوص وقم بتغيير ملف httpUnsafeOrigin: متغير إلى مجال الجذر الخاص بك.

قسم من نافذة طرفية يظهر مجال الجذر.

غير ال httpSafeOrigin: متغير إلى المجال الفرعي الخاص بك.

قسم من نافذة المحطة يعرض النطاق الفرعي.

أضف السطر التالي من التعليمات البرمجية مباشرةً بعد ملف httpSafeOrigin: عامل.

adminEmail: 'working_email@address.here',
قسم من نافذة المحطة يعرض البريد الإلكتروني للمسؤول.

إنشاء خدمة SystemD

من الممكن أيضًا ربط Cryptpad بخدمة SystemD للسماح لك بتشغيلها أثناء بدء تشغيل النظام عن طريق تشغيل ما يلي:

nano /home/$USER/cryptpad/docs/cryptpad.service

كتلة التعليمات البرمجية أدناه هي نسخة قمت بتعديلها للعمل مع جهازي.

[Unit]
Description=Cryptpad Service
 
# Replace the username values with your own username.
 
[Service]
ExecStart=/bin/node /home/ramces/cryptpad/server.js
WorkingDirectory=/home/ramces/cryptpad
 
Restart=always
RestartSec=2
 
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=ramces
User=ramces
Group=ramces
Environment='PWD="/home/ramces/cryptpad"'
LimitNOFILE=1000000
 
[Install]
WantedBy=multi-user.target
نافذة طرفية تعرض قالب خدمة systemd.

احفظ هذا الملف واخرج منه ، ثم انسخه إلى مجلد خدمة SystemD:

sudo cp /home/$USER/cryptpad/docs/cryptpad.service /etc/systemd/system/cryptpad.service

أعد تحميل SystemD لتمكين ملف الخدمة الخاص بك:

sudo systemctl daemon-reload
sudo systemctl enable cryptpad
sudo systemctl start cryptpad
sudo systemctl reload nginx

تشغيل Cryptpad

إذا تم كل شيء بشكل صحيح ، فيجب أن تكون قادرًا على الوصول إلى Cryptpad من خلال مجال الجذر الخاص بك.

نافذة تعرض تثبيت cryptpad يعمل.

إنشاء حساب المسؤول الخاص بك في Cryptpad

بينما يمكنك استخدام Cryptpad بدون حساب ، فمن الممارسات الجيدة إنشاء مستخدم مسؤول للسماح لك بإدارة المثيل الخاص بك من خلال واجهة الويب الخاصة به.

  1. اضغط على “تسجيل” في الصفحة الرئيسية لـ Cryptpad.
قم بتثبيت رابط زر التسجيل Cryptpad Linux 32
  1. أدخل اسم المستخدم وكلمة المرور لإنشاء حساب جديد.
صفحة توضح عملية إنشاء المستخدم الأساسية.
  1. بمجرد تسجيل الدخول ، انقر فوق الزر “قائمة المستخدم” في الزاوية العلوية اليمنى من الصفحة.
صفحة تعرض واجهة Cryptpad الأساسية.
  1. انقر فوق “إعدادات”.
قسم من الصفحة يعرض قائمة مستخدم Cryptpad.
  1. انسخ محتويات مربع النص “مفتاح التوقيع العام”.
قسم من الصفحة يعرض المفتاح العام لحساب المستخدم الخاص بي.
  1. ارجع إلى مجلد المستودع وافتح ملف التكوين الخاص بك:
nano /home/$USER/cryptpad/config/config.js

بحث عن adminKeys: متغير والصق مفتاح التوقيع الخاص بك بين قوسين مربعين:

قم بتثبيت Cryptpad Linux 37 Config File Admin Key
  1. أعد تحميل مثيل Cryptpad الخاص بك من خلال SystemD:
sudo systemctl restart cryptpad
صفحة تعرض شاشة إدارة Cryptpad الأساسية.

أسئلة مكررة

لماذا أحصل على صفحة فارغة عندما أحاول الاتصال بـ Cryptpad؟

ترجع هذه المشكلة على الأرجح إلى عدم انتشار سجل DNS الخاص بجهازك عبر خوادم DNS الرئيسية. يمكنك إصلاح ذلك عن طريق تقليل قيمة TTL في صفحة سجل DNS الخاصة بنطاقك إلى 3600.

كيف أقوم بتحديث Cryptpad بعد تثبيته؟

يمكنك تحديث Cryptpad بالانتقال إلى المستودع الخاص بك والتشغيل git pull. سيؤدي هذا إلى تنزيل جميع أحدث ملفات المصدر لـ Cryptpad. بعد ذلك ، تحتاج أيضًا إلى الجري npm update && bower update لتحديث ملفاتك الثنائية.

رصيد الصورة: Unsplash. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.

رمسيس أحمر
رمسيس أحمر

Ramces كاتب تقني عاش مع أجهزة الكمبيوتر طوال حياته. إنه قارئ غزير الإنتاج وطالب في الأنثروبولوجيا ، وهو شخصية غريبة الأطوار يكتب مقالات عن Linux وأي شيء * لا شىء.

اشترك في نشرتنا الإخبارية!

يتم تسليم أحدث دروسنا مباشرة إلى صندوق الوارد الخاص بك

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى
sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto sekolahtoto Sekolahtoto Sekolahtoto sekolahtoto sekolahtoto situs toto Sekolahtoto Sekolahtoto SEKOLAHTOTO Sekolahtoto situs toto Situs togel