كيفية استضافة ومشاركة الملفات الكبيرة عبر الإنترنت باستخدام PicoShare في Linux
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 جيجابايت. ستحتاج إلى اسم مجال يمكنك من خلاله إنشاء سجلات “أ” لهذا المجال. وأخيرًا، ستستخدم هذه المقالة 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
قم بإنشاء ملف مستودع مناسب جديد باستخدام محرر النصوص المفضل لديك:
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، ثم قم بإنشاء حاوية تخزين جديدة. في هذه الحالة، أنا أستخدم DigitalOcean Spaces لذا سأقوم بالنقر إنشاء -> تخزين كائنات المسافات على شاشة لوحة القيادة الخاصة بي.
حدد موقع مركز البيانات للتخزين المتوافق مع S3، ثم حدد المربع تمكين CDN خانة الاختيار.
قم بتوفير اسم لحاوية Spaces الجديدة الخاصة بك، ثم انقر فوق إنشاء دلو المسافات لتهيئته.
انقر على أيقونة النسخ في مربع النص Origin Endpoint والصقه في ملف نصي منفصل.
قم بالتمرير خلال الشريط الجانبي الأيسر للوحة تحكم 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”.
قم بتثبيت الحزمة المفاجئة “الأساسية” على نظام Ubuntu الخاص بك:
قم بإحضار حزمة certbot snap من Electronic Frontier Foundation (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.
حقوق الصورة: أليخاندرو إسكاميلا عبر Unsplash وPicoShare Github. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.
اشترك في نشرتنا الإخبارية!
يتم تسليم أحدث البرامج التعليمية لدينا مباشرة إلى صندوق البريد الوارد الخاص بك