Picoshare هو تطبيق ويب خفيف الوزن وسهل الوصول لمشاركة الملفات لنظام Linux. يوفر واجهة سهلة الاستخدام حيث يمكنك تحميل الملفات ومشاركتها من خادمك الخاص. ستوضح لك هذه المقالة كيفية تثبيت Picoshare ومشاركة الملفات عبر الإنترنت باستخدام Docker في Ubuntu Linux.
لماذا تستخدم Picoshare لمشاركة الملفات عبر الإنترنت
من أهم نقاط البيع التي يتميز بها PicoShare أنه من السهل نشره على أي منصة تعتمد على Linux. وبمساعدة Docker، يمكنك مشاركة الملفات عبر الإنترنت مع PicoShare دون القلق بشأن تبعيات Linux وتوافق البرامج.
من بين نقاط البيع الأخرى لبرنامج PicoShare أنه لا يتلاعب بالملفات التي تقوم بتحميلها إلى منصته. وهذا يجعله مفيدًا لمشاركة الصور ومقاطع الفيديو، حيث يمكنك التأكد من أن الخادم لن يعيد ترميز الوسائط الخاصة بك أثناء تحميلها.
أخيرًا، يأتي PicoShare مع القدرة على تكرار تخزين الملفات الخاص به إلى حلول تخزين كائنات خارجية. على سبيل المثال، يمكنك ربط دلو Amazon S3 المتوافق بخادم PicoShare الخاص بك وإنشاء نسخة احتياطية 1:1 لمحتويات الخادم الخاص بك. وهذا يجعل من السهل استعادة البيانات عند الترحيل من نظام إلى آخر.
تثبيت المتطلبات الأساسية لـ PicoShare
افتراض: تم تنفيذ هذا البرنامج التعليمي على جهاز كمبيوتر يعمل بنظام التشغيل Ubuntu 24.04 مزود بذاكرة وصول عشوائي (RAM) بسعة 2 غيغابايت على الأقل ومساحة قرص تبلغ 50 غيغابايت. ستحتاج إلى اسم نطاق يمكنك إنشاء سجلات “A” له. وأخيرًا، ستستخدم هذه المقالة DigitalOcean Spaces لتخزين الكائنات المتوافق مع S3.
ملحوظة:على الرغم من أن الإرشادات الواردة هنا خاصة بنظام Ubuntu، إلا أنها يجب أن تعمل أيضًا مع معظم توزيعات Linux.
الخطوة الأولى في تثبيت PicoShare هي الحصول على Docker وNginx لنظامك المضيف (بالنسبة لتوزيعات Linux الأخرى، إليك كيفية تثبيت Docker على أنظمة Linux الخاصة بك). للبدء، احصل على مفتاح التوقيع لمستودع مشروع Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
قم بإنشاء ملف مستودع apt جديد باستخدام محرر النصوص المفضل لديك:
sudo nano /etc/apt/sources.list.d/docker.list
قم بلصق سطر التعليمات البرمجية التالي داخل ملف المستودع الجديد الخاص بك:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable
احفظ ملف المستودع الخاص بك، ثم قم بتحديث قوائم مستودع النظام والحزم الحالية:
sudo apt update && sudo apt upgrade
تثبيت Docker وDocker Compose وNginx باستخدام apt في Ubuntu:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
إنشاء نسخة احتياطية للتخزين السحابي لـ PicoShare
انتقل إلى موفر التخزين السحابي المتوافق مع S3، ثم أنشئ دلو تخزين جديد. في هذه الحالة، أستخدم مساحات ديجيتال أوشن لذلك سوف انقر إنشاء -> تخزين كائنات المساحات على شاشة لوحة القيادة الخاصة بي.
حدد موقع مركز البيانات للتخزين المتوافق مع S3، ثم حدد المربع تمكين شبكة CDN مربع الاختيار.
قم بتوفير اسم لدلو Spaces الجديد الخاص بك، ثم انقر فوق إنشاء دلو المساحات لتنشيطه.
انقر على أيقونة النسخ في مربع النص “نقطة النهاية الأصلية” ولصقه في ملف نصي منفصل.
قم بالتمرير عبر الشريط الجانبي الأيسر من لوحة معلومات DigitalOcean الخاصة بك، ثم انقر فوق واجهة برمجة التطبيقات فئة.
انقر على مفاتيح المساحات علامة التبويب، ثم حدد إنشاء مفتاح جديد.
قم بتوفير اسم لمفتاحك الجديد، ثم انقر فوق إنشاء مفتاح الوصول.
انسخ كلاً من “مفتاح الوصول” و”المفتاح السري” من الصفحة وألصقهما في ملف النص الخاص بك.
تثبيت وتشغيل PicoShare
قم بإنشاء مجلد جديد لـ PicoShare داخل دليل المستخدم الرئيسي، ثم انتقل إلى داخله:
mkdir ~/picoshare && cd ~/picoshare
استخدم محرر النصوص المفضل لديك لإنشاء ملف Compose لـ PicoShare:
nano ./docker-compose.yml
قم بلصق كتلة التعليمات البرمجية التالية داخل ملف .yml الجديد الخاص بك:
version: "3.2" services: picoshare: image: mtlynch/picoshare environment: - PORT=4001 - PS_SHARED_SECRET=RANDOM PASSWORD HERE - LITESTREAM_BUCKET="YOUR BUCKET NAME" - LITESTREAM_ENDPOINT="YOUR ORIGIN ENDPOINT HERE" - LITESTREAM_ACCESS_KEY_ID="YOUR BUCKET ACCESS ID HERE" - LITESTREAM_SECRET_ACCESS_KEY="YOUR BUCKET SECRET HERE" ports: - 4001:4001 command: -db /data/store.db volumes: - ./data:/data
استبدل قيمة المتغير “PS_SHARED_SECRET” بكلمة مرور طويلة وعشوائية بدرجة كافية. ستكون هذه كلمة المرور لواجهة الويب الخاصة بـ PicoShare.
ملحوظة: يمكنك إنشاء كلمة مرور عشوائية خاصة بك عن طريق تشغيل: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1
في جلسة طرفية منفصلة.
قم بتغيير قيمة المتغير “LITESTREAM_BUCKET” باسم دلو Spaces الخاص بك.
انسخ جزء المنطقة واسم المجال الخاص بنقطة النهاية الخاصة بك، ثم ألصقه كقيمة للمتغير “LITESTREAM_ENDPOINT”.
استبدل قيم كل من المتغيرين “LITESTREAM_ACCESS_KEY_ID” و”LITESTREAM_SECRET_ACCESS_KEY_ID” بمفتاح الوصول والمفتاح السري لدلو DigitalOcean Spaces.
احفظ ملف docker-compose.yml، ثم قم بتشغيل الأمر التالي لبناء وتشغيل مثيل PicoShare:
sudo docker compose up -d
في ملحوظة جانبية: يمكنك أيضًا استخدام Docker وDocker Compose لاستضافة خادم Minecraft بسرعة على جهاز Linux الخاص بك.
تأمين PicoShare باستخدام وكيل عكسي SSL
في هذه المرحلة، أصبح لديك الآن PicoShare قيد التشغيل على المنفذ 4001 على جهازك المحلي. وللوصول إليه بأمان على الإنترنت، تحتاج إلى التأكد من تشفير جميع الاتصالات به عبر SSL.
ابدأ بإنشاء سجل “A” جديد لاسم المجال الخاص بك يشير إلى عنوان IPv4 لخادم PicoShare الخاص بك. في حالتي، سأقوم بإنشاء سجل “A” بقيمة “picoshare”.
قم بتثبيت حزمة snap “core” على نظام Ubuntu الخاص بك:
احصل على حزمة snap certbot من مؤسسة الحدود الإلكترونية (EFF):
sudo snap install certbot --classic
قم بإنشاء ملف تكوين موقع Nginx جديد باستخدام محرر النصوص المفضل لديك:
sudo nano /etc/nginx/sites-available/picoshare
قم بلصق كتلة التعليمات البرمجية التالية داخل ملف تكوين موقعك:
server { server_name SUBDOMAIN.YOUR-ROOT.DOMAIN; location / { proxy_pass http://127.0.0.1:4001; proxy_http_version 1.1; proxy_redirect off; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; client_max_body_size 0m; } }
احفظ ملف تكوين موقعك، ثم قم بإنشاء رابط رمزي من الدليل “/etc/nginx/sites-available/” إلى المجلد “/etc/nginx/sites-enabled/”:
sudo ln -s /etc/nginx/sites-available/picoshare /etc/nginx/sites-enabled/
تأكد من ملف تكوين Nginx الخاص بك بحثًا عن أي أخطاء، ثم ابدأ تشغيل برنامج خادم الويب Nginx باستخدام systemctl
:
nginx -t sudo systemctl enable --now nginx.service
قم بتسجيل خادم PicoShare الخاص بك باستخدام أداة certbot التابعة لـ EFF:
sudo certbot register --agree-tos -m YOUR-EMAIL@ADDRESS.HERE
إنشاء شهادة SSL جديدة تشير إلى اسم نطاق الخادم الخاص بك:
sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN
جيد ان تعلم: تعرف على كيفية حماية HTTPS لبياناتك عبر الإنترنت من خلال إنشاء شهادة SSL الخاصة بك باستخدام OpenSSL.
اختبار PicoShare وتحميل ملفك الأول
افتح متصفح الويب، ثم انتقل إلى المجال الفرعي الخاص بك لتحميل صفحة PicoShare.
انقر على تسجيل الدخول في الزاوية اليمنى العليا من الصفحة.
قم بتوفير قيمة “PS_SHARED_SECRET” على عبارة المرور مربع النص، ثم انقر فوق المصادقة لتسجيل الدخول.
تحقق مما إذا كان بإمكانك حفظ البيانات على خادم PicoShare الخاص بك عن طريق النقر فوق رفع اضغط على الزر، ثم حدد ملف عينة من خلال قائمة الاختيار.
انسخ الرابط الأول الذي يعيده الخادم للمستخدم الذي تريد مشاركة ملفك معه.
تمكين عمليات التحميل المؤقتة للضيوف على PicoShare
بصرف النظر عن عمليات التحميل التي يرسلها المستخدمون، يمكنك أيضًا إنشاء روابط مؤقتة تسمح للمستخدمين المجهولين بتحميل ملفات فردية على الخادم الخاص بك. قد يكون هذا مفيدًا إذا كان لديك شخص يحتاج إلى مشاركة الملفات معك ولكنه لا يستطيع تحميل الملفات إلى خدمة سحابية عادية.
ابدأ بالنقر على روابط الضيوف الفئة الموجودة على الصفحة الرئيسية لـ PicoShare.
انقر على خلق جديد إبداع جديد الزر الموجود أعلى جدول نظرة عامة على الروابط الفارغ.
قم بتوفير التفاصيل الأساسية لرابط التحميل الخاص بك. في حالتي، سأضع علامة “MakeTechEasier” عليه وأضبط تاريخ انتهاء الصلاحية على “أبدًا” مع حد أقصى لحجم الملف يبلغ 100 ميجابايت وحد أقصى إجمالي يبلغ 10 عمليات تحميل.
انقر يخلق لتوليد رابط الضيف المؤقت لمثيل PicoShare الخاص بك.
انقر على أيقونة النسخ على الجانب الأيمن من رابط الضيف، ثم قم بإرسال محتوى الحافظة الخاصة بك إلى المستلم المقصود.
إن نشر وتأمين PicoShare لمشاركة الملفات عبر الإنترنت باستخدام Linux هو مجرد الخطوة الأولى لاستعادة خصوصيتك الرقمية عبر الإنترنت. تعرف على كيفية حماية نفسك بشكل أكبر من خلال استضافة خادم عناوين البريد الإلكتروني الخاص بك باستخدام SimpleLogin.