كيفية استضافة ومشاركة الملفات الكبيرة عبر الإنترنت باستخدام PicoShare في Linux


Picoshare هو تطبيق ويب لمشاركة الملفات خفيف الوزن ويمكن الوصول إليه بسهولة لنظام التشغيل Linux. فهو يوفر واجهة سهلة الاستخدام حيث يمكنك تحميل ومشاركة الملفات من الخادم الخاص بك. ستوضح لك هذه المقالة كيفية تثبيت Picoshare ومشاركة الملفات عبر الإنترنت باستخدام Docker في Ubuntu Linux.

لماذا نستخدم Picoshare لمشاركة الملفات عبر الإنترنت

واحدة من أكبر نقاط البيع في PicoShare هي أنه من السهل نشرها على أي نظام أساسي يعتمد على Linux. بمساعدة Docker، يمكنك مشاركة الملفات عبر الإنترنت باستخدام PicoShare دون القلق بشأن تبعيات Linux وتوافق البرامج.

نقطة بيع أخرى في PicoShare هي أنها لا تتعامل مع الملفات التي تقوم بتحميلها على نظامها الأساسي. وهذا يجعله مفيدًا لمشاركة الصور ومقاطع الفيديو، حيث يمكنك التأكد من أن الخادم لن يقوم بإعادة تشفير الوسائط الخاصة بك أثناء تحميلها.

لقطة شاشة لـ 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 وما إذا كانت الحاوية ستستخدم CDN الخاص بـ DigitalOcean.

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

لقطة شاشة توضح مطالبة مربع النص باسم Spaces وموقعها

انقر على أيقونة النسخ في مربع النص Origin Endpoint والصقه في ملف نصي منفصل.

لقطة شاشة توضح موقع أيقونة النسخ على لوحة تحكم Spaces.

قم بالتمرير خلال الشريط الجانبي الأيسر للوحة تحكم DigitalOcean، ثم انقر فوق واجهة برمجة التطبيقات فئة.

لقطة شاشة توضح موقع فئة API في صفحة لوحة المعلومات.

انقر على مفاتيح المساحات علامة التبويب، ثم حدد توليد مفتاح جديد.

أدخل اسمًا لمفتاحك الجديد، ثم انقر فوق إنشاء مفتاح الوصول.

انسخ كلاً من “مفتاح الوصول” و”المفتاح السري” من الصفحة والصقه في ملفك النصي.

لقطة شاشة توضح موقع مفتاح الوصول والمفتاح السري لحاوية Spaces.

تثبيت وتشغيل 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.

محطة تعرض كلمة المرور المشتركة التي تم إنشاؤها عشوائيًا لمثيل PicoShare.

ملحوظة: يمكنك إنشاء كلمة المرور العشوائية الخاصة بك عن طريق تشغيل: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1 في جلسة طرفية منفصلة.

قم بتغيير قيمة المتغير “LITESTREAM_BUCKET” باسم مجموعة Spaces الخاصة بك.

محطة طرفية تعرض القيمة المناسبة للحاوية المتوافقة مع S3.

انسخ جزء المنطقة واسم المجال لنقطة النهاية الخاصة بك، ثم الصقه كقيمة لمتغير “LITESTREAM_ENDPOINT”.

لقطة شاشة توضح التنسيق المناسب لمتغير نقطة النهاية المتوافق مع S3.

استبدل قيم كل من متغيرات “LITESTREAM_ACCESS_KEY_ID” و”LITESTREAM_SECRET_ACCESS_KEY_ID” بمفتاح الوصول والمفتاح السري لحاوية DigitalOcean Spaces.

لقطة شاشة توضح مفتاح الوصول إلى Spaces والمفتاح السري لمثيل PicoShare.

احفظ ملف 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
محطة تعرض التحقق من التكوين والأمر systemctl لبدء تشغيل خادم الويب Nginx.

قم بتسجيل خادم 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 المقصودة.

لقطة شاشة توضح الصفحة المقصودة لـ PicoShare التي تعمل على VPS.

انقر على تسجيل الدخول الزر الموجود في الزاوية اليمنى العليا للصفحة.

قم بتوفير قيمة “PS_SHARED_SECRET” على عبارة المرور مربع النص، ثم انقر فوق مصادقة لتسجيل الدخول.

لقطة شاشة توضح مطالبة تسجيل الدخول لـ PicoShare.

تحقق مما إذا كان بإمكانك حفظ البيانات على خادم PicoShare الخاص بك عن طريق النقر فوق رفع زر، ثم حدد ملف نموذجي من خلال قائمة المنتقي.

لقطة شاشة توضح موقع زر التحميل في لوحة التحكم الداخلية.

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

لقطة شاشة توضح موقع الرابط الأول القابل للمشاركة في مثيل PicoShare.

تمكين تحميلات الضيف المؤقتة على PicoShare

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

ابدأ بالنقر على روابط الضيف الفئة على الصفحة الرئيسية لـ PicoShare.

لقطة شاشة توضح موقع

انقر على خلق جديد إبداع جديد الزر الموجود أعلى جدول نظرة عامة على الرابط الفارغ مباشرةً.

قم بتوفير التفاصيل الأساسية لرابط تحميل الضيف الخاص بك. في حالتي، سأسميه “MakeTechEasier” وأضبط انتهاء الصلاحية على “أبدًا” بحد أقصى لحجم الملف يبلغ 100 ميجابايت وحد إجمالي يبلغ 10 عمليات تحميل.

لقطة شاشة تعرض نموذج رابط الضيف المكتمل.

انقر يخلق لإنشاء رابط الضيف المؤقت لمثيل PicoShare الخاص بك.

انقر على أيقونة النسخ على الجانب الأيمن من رابط الضيف، ثم أرسل محتوى الحافظة الخاصة بك إلى المستلم المقصود.

لقطة شاشة توضح موقع أيقونة النسخ على شاشة روابط الضيف.

يعد نشر PicoShare وتأمينه لمشاركة الملفات عبر الإنترنت باستخدام Linux مجرد خطوة أولى لاستعادة خصوصيتك الرقمية عبر الإنترنت. تعرف على كيفية حماية نفسك بشكل أكبر من خلال استضافة خادم الأسماء المستعارة للبريد الإلكتروني الخاص بك باستخدام SimpleLogin.

حقوق الصورة: أليخاندرو إسكاميلا عبر Unsplash وPicoShare Github. جميع التعديلات ولقطات الشاشة بواسطة Ramces Red.

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

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

رمسيس الأحمر

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

اترك تعليقاً

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

زر الذهاب إلى الأعلى