القائمة الرئيسية

الصفحات

كيفية إنشاء محرك بحث باستخدام SearxNG




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

    لماذا تثبيت SearXNG

    تجعل محركات البحث تصفح الويب واكتشافه أمرًا مريحًا للغاية. ومع ذلك ، فإن استخدام محرك بحث عام له ثمن - تستخدم شركات البحث الحديثة مثل Google بيانات البحث الخاصة بك لإنشاء ملف تعريف عالي الدقة عنك.

    Searxng تثبيت 03 Google Myactivity

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

    تثبيت Searxng 04 عينة من المعلومات المصنفة

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

    ماذا ستحتاج

    يتطلب منك SearXNG أن يكون لديك بعض الأشياء جاهزة قبل أن تتمكن من تثبيتها:

    • اسم مجال مؤهل بالكامل (FQDN) : لاستخدام SearXNG ، تحتاج إلى استضافته من خلال خادم ويب مناسب مع مجال.
    • جهاز يمكن الوصول إليه من خارج شبكتك المنزلية : يمكن أن يكون هذا إما جهاز كمبيوتر في منزلك يحتوي على عنوان IP ثابت أو خادم خاص افتراضي (VPS) تستأجره حاليًا.
    • وصول الجذر إلى جهازك : هذا لأن SearXNG يتطلب منك تثبيت بعض أدوات النظام لتكوينه واستضافته بشكل صحيح.

    يركز هذا البرنامج التعليمي فقط على تثبيت وإعداد SearXNG على Debian 11 VPS من DigitalOcean .

    Searxng قم بتثبيت 05 Digitalocean Droplet

    تثبيت تبعيات SearXNG

    قبل أن تتمكن من تثبيت SearXNG ، تحتاج إلى إنشاء حساب مستخدم منفصل في نظامك:

    sudo useradd -s  / bin / bash  -d  / home / searx -m  -G  sudo searx
     sudo  passwd searx
    تثبيت Searxng 06 إنشاء مستخدم جديد

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

    بمجرد الانتهاء من ذلك ، تحتاج إلى التبديل إلى حساب المستخدم الجديد عن طريق التشغيل su searxمن هناك ، يمكنك الآن تثبيت جميع التبعيات الضرورية لـ SearXNG:

    sudo  apt  install  git nginx iptables iptables-persistent ufw certbot python3-certbox-nginx
    تثبيت Searxng 07 تثبيت التبعيات

    تكوين جدار الحماية الخاص بك

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

    Searxng قم بتثبيت 08 تثبيت قواعد جدار الحماية

    يمكنك استخدام كل من المنافذ التي يحتاجها SearXNG وتمكينها فقط iptables:ufw

    sudo iptables -I INPUT -m state -state NEW -p tcp -dport  80  -j ACCEPT
     sudo iptables -I INPUT -m state --state NEW -p tcp --dport  443  -j ACCEPT
     sudo netfilter-persistent save
     sudo ufw يسمح 80 
    sudo ufw allow 443
    • ينشئ الأمران iptablesقاعدة جديدة تقبل أي اتصالات HTTP و HTTPS جديدة واردة إلى جهازك. وهذا بدوره يسمح لنظامك بخدمة صفحة الويب SearXNG للمستخدمين.
    • يحفظ الأمر ويعيد netfilter-persistentتحميل أي تغييرات تجريها على جدار الحماية الخاص بك. هذا يضمن أن جهازك لديه الإعدادات الصحيحة بين عمليات إعادة تشغيل النظام.
    • أخيرًا ، ufwيتأكد الأمران من أن أي اتصال حالي في كل من HTTP و HTTPS يظل مفتوحًا طوال مدة الجلسة.

    الاستنساخ والتثبيت SearXNG

    الشيء التالي الذي عليك القيام به هو تنزيل SearXNG وتثبيته على جهازك. يقدم مطورو البرنامج نص تثبيت بسيطًا يتعامل مع معظم خطوات التكوين المعقدة.

    Searxng تثبيت 09 صفحة Searxng Github

    يمكنك الحصول على نص التثبيت هذا عن طريق استنساخ مستودع GitHub الخاص بالبرنامج :

    git clone https: // github.com / searxng / searxng searxng &&  cd searxng
    Searxng قم بتثبيت مستودع 10 Git Clone

    بمجرد اكتمال الاستنساخ ، يمكنك بدء عملية التثبيت:

    sudo  -H . / utils / searxng.sh تثبيت جميع ملفات

    على الرغم من أن هذه العملية تلقائية إلى حد كبير ، إلا أن هناك حالات يطلب فيها البرنامج النصي تأكيد التغييرات التي يجريها. على سبيل المثال ، عندما يطبع البرنامج النصي SearXNG قائمة بالبرامج التي سيتم تثبيتها ، فأنت بحاجة إلى الضغط Yللمتابعة.

    تثبيت 11 نموذج موجه من Searxng

    تكوين SearXNG

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

    Searxng تثبيت 12 محرك بحث قيد التشغيل

    في الوقت الحالي ، يدعم SearXNG رسميًا كلاً من Apache و Nginx. يركز هذا القسم على تكوين SearXNG كخدمة مستقلة باستخدام Nginx.

    تكوين Nginx

    أولاً ، تحتاج إلى إنشاء ملف تكوين جديد ضمن “/ etc / nginx / sites-available /”:

    sudo  nano  / etc / nginx / sites-available / searxng

    تحتاج بعد ذلك إلى كتابة كتلة خادم داخل الملف الذي سيحتوي على تكوين خادم الويب. على سبيل المثال ، هذه كتلة أساسية أستخدمها لمثيل SearXNG الخاص بي:

    الخادم {
     
        # الموانئ. 
        استمع 80 _
        استمع [ :: ] : 80 ؛
     
        # اسم المضيف.
        server_name yetanothersearxserver.xyz ؛
     
        # تسجيل. 
        access_log / dev / null ؛
        error_log   / dev / null ؛
     
        # إعادة توجيه Searx. 
        location /  { 
            uwsgi_pass unix: /// usr / local / searxng / run / socket ؛
     
            تشمل uwsgi_params ؛
     
            مضيف uwsgi_param HTTP_HOST              $ ؛
            uwsgi_param HTTP_CONNECTION        $ http_connection ؛
     
            # see flaskfix.py uwsgi_param مخطط 
            HTTP_X_SCHEME          $ ؛
            uwsgi_param HTTP_X_SCRIPT_NAME     / searxng ؛
     
            # see limiter.py 
            uwsgi_param HTTP_X_REAL_IP         $ remote_addr ؛
            uwsgi_param HTTP_X_FORWARDED_FOR   $ proxy_add_x_forwarded_for ؛
     
        } 
    }
    • تخبر المتغيرات Nginx أن listenخادم الويب هذا يبث خدمة في المنفذ 80. من المهم تغيير هذه القيمة إذا كنت تقوم بالفعل بتشغيل مضيف افتراضي مختلف في نظامك.
    • هو متغير يجب server_nameأن يحتوي على FQDN يشير إلى جهازك. في حالتي ، يستخدم خادم الويب "yetanothersearxserver.xyz."
    • يخبر كل من المتغيرات access_logو error_logNginx مكان حفظ أي معلومات حول استعلامات البحث الخاصة بك. على سبيل المثال ، فإن ضبطه على "/ dev / null" يضمن عدم حفظ أي سجلات في الجهاز.
    • أخيرًا ، locationيخبر الحظر Nginx بما يجب فعله عندما يتصل المستخدم بخادم الويب.
    قم بتثبيت 13 نموذج لتكوين Nginx من Searxng

    تثبيت SSL وتمكين SearXNG

    الشيء التالي الذي عليك القيام به هو إنشاء شهادة SSL لمثيل SearXNG الخاص بك. يؤدي القيام بذلك إلى التأكد من أن كل اتصال تقوم به إلى موقع الويب الخاص بك آمن.

    ثبت Searxng 14 نموذج لشهادة Ssl

    يمكنك بسهولة تمكين SSL مجانًا من خلال الاشتراك في certbot من Lets Encrypt . على سبيل المثال ، يمكنني تشغيل الأمر التالي لإصدار شهادة لمضيف SearXNG الخاص بي:

    certbot --nginx yetanothersearxserver.xyz

    يمكنك الآن تمكين موقع الويب الخاص بك من خلال Nginx عن طريق إنشاء ارتباط رمزي لمجلد "sites_enabled" لخادم الويب:

    sudo  ln  -s  / etc / nginx / sites-available / searx / etc / nginx / sites-enabled /

    بمجرد الانتهاء ، تحتاج إلى إعادة تحميل كل من SearXNG و Nginx لتطبيق التكوينات الخاصة بك وتمكينها:

    sudo systemctl إعادة تحميل nginx
     sudo خدمة uwsgi إعادة تشغيل searxng

    تهانينا! أنت تعرف الآن كيفية إنشاء واستضافة محرك البحث الخاص بك باستخدام SearXNG.

    أسئلة مكررة

    هل من الممكن تحديث SearXNG بمجرد تثبيته؟

    نعم! بينما لا يمكنك تثبيت SearXNG من خلال مدير الحزم التقليدي ، فمن الممكن تحديث وترحيل محرك البحث من سطر الأوامر. على سبيل المثال ، يمكنك تحديث SearXNG عن طريق تشغيل الأمر التالي sudo /home/$USER/searxng/utils/searxng.sh instance update:.

    يخبرني نص التثبيت أن Redis غير متوفر. هل فشل التثبيت الخاص بي؟

    لا ، ولكن من المرجح أن يتسبب هذا الخطأ في أن يكون مثيل SearXNG غير مستقر. هذا لأن فشل Redis في SearXNG يعني أنه يعمل في نظام غير SystemD وأن البرنامج الخفي لتصفية مكافحة الروبوت لا يعمل.

    لإصلاح ذلك ، تحتاج إلى إلغاء تثبيت SearXNG عن طريق تشغيل الأمر التالي sudo /home/$USER/searxng/utils/searxng.sh remove all:. أخيرًا ، تحتاج أيضًا إلى التأكد من أنك تستخدم SystemD عن طريق تشغيل ما يلي sudo systemctl --version:.

    هل من الممكن رؤية ما تقوم به SearXNG حاليًا؟

    نعم! في حين أن SearXNG عبارة عن برنامج خفي بدون رأس يعمل في الخلفية ، فمن الممكن التحقق مما يفعله حاليًا. هذا مفيد في الحالات التي يواجه فيها SearXNG بعض المشكلات وأنت غير متأكد من سبب هذه المشكلات. على سبيل المثال ، يمكنني النقر على شاشة تصحيح أخطاء SearXNG عن طريق تشغيل الأمر التالي sudo /home/$USER/searxng/utils/searxng.sh instance inspect:.

    أنت الان في اول موضوع

    تعليقات