SearXNG هو محرك بحث ميتا قوي يمكنك استضافته في أي مكان. على عكس محركات البحث التقليدية ، فإن SearXNG عبارة عن مجمع محركات. هذا يعني أنه بدلاً من معالجة عمليات البحث بنفسه ، فإنه يستخدم محركات أخرى للقيام بالبحث عنها. علاوة على ذلك ، فإن SearXNG خفيف الوزن بشكل لا يصدق وسهل الإعداد ، ويمكنك استضافته على نظام بسيط مثل Raspberry Pi!
لماذا تثبيت SearXNG
تجعل محركات البحث تصفح الويب واكتشافه أمرًا مريحًا للغاية. ومع ذلك ، فإن استخدام محرك بحث عام له ثمن – تستخدم شركات البحث الحديثة مثل Google بيانات البحث الخاصة بك لإنشاء ملف تعريف عالي الدقة عنك.
يمكن أن يشعر هذا السلوك بالتطفل على الأفراد الذين يرغبون في إبقاء عمليات البحث الخاصة بهم سرية ومجهولة . على سبيل المثال ، قد لا يرغب الصحفيون الذين يكتبون عن مواضيع حساسة ومثيرة للجدل في ربط استعلامات البحث الخاصة بهم بأسمائهم.
تتمثل إحدى طرق التعامل مع مشكلة الخصوصية هذه في تثبيت واستضافة مثيل SearXNG الخاص بك. هذا يضمن أنك فقط ستتمكن من الوصول إلى سجلات البحث الخاصة بك.
ماذا ستحتاج
يتطلب منك SearXNG أن يكون لديك بعض الأشياء جاهزة قبل أن تتمكن من تثبيتها:
- اسم مجال مؤهل بالكامل (FQDN) : لاستخدام SearXNG ، تحتاج إلى استضافته من خلال خادم ويب مناسب مع مجال.
- جهاز يمكن الوصول إليه من خارج شبكتك المنزلية : يمكن أن يكون هذا إما جهاز كمبيوتر في منزلك يحتوي على عنوان IP ثابت أو خادم خاص افتراضي (VPS) تستأجره حاليًا.
- وصول الجذر إلى جهازك : هذا لأن SearXNG يتطلب منك تثبيت بعض أدوات النظام لتكوينه واستضافته بشكل صحيح.
يركز هذا البرنامج التعليمي فقط على تثبيت وإعداد SearXNG على Debian 11 VPS من DigitalOcean .
تثبيت تبعيات SearXNG
قبل أن تتمكن من تثبيت SearXNG ، تحتاج إلى إنشاء حساب مستخدم منفصل في نظامك:
sudo useradd -s / bin / bash -d / home / searx -m -G sudo searx sudo passwd searx
يتيح لك القيام بذلك عزل جميع الأوامر والملفات عند تثبيت SearXNG وتكوينه. يمكن أن يكون هذا مفيدًا بشكل خاص إذا كنت تنوي استضافة محرك البحث على VPS بخدمات متعددة.
بمجرد الانتهاء من ذلك ، تحتاج إلى التبديل إلى حساب المستخدم الجديد عن طريق التشغيل su searx
. من هناك ، يمكنك الآن تثبيت جميع التبعيات الضرورية لـ SearXNG:
sudo apt install git nginx iptables iptables-persistent ufw certbot python3-certbox-nginx
تكوين جدار الحماية الخاص بك
في حين أن هذه ليست خطوة ضرورية ، فإن تكوين جدار الحماية الخاص بك يضمن أن أي نظام خارجي سيكون قادرًا فقط على الوصول إلى المنافذ المصرح بها من قبلك. يمكن أن يساعد ذلك في منع أي جهات ضارة من إغراق جهازك بطلبات لا نهاية لها.
يمكنك استخدام كل من المنافذ التي يحتاجها 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 وتثبيته على جهازك. يقدم مطورو البرنامج نص تثبيت بسيطًا يتعامل مع معظم خطوات التكوين المعقدة.
يمكنك الحصول على نص التثبيت هذا عن طريق استنساخ مستودع GitHub الخاص بالبرنامج :
git clone https: // github.com / searxng / searxng searxng && cd searxng
بمجرد اكتمال الاستنساخ ، يمكنك بدء عملية التثبيت:
sudo -H . / utils / searxng.sh تثبيت جميع ملفات
على الرغم من أن هذه العملية تلقائية إلى حد كبير ، إلا أن هناك حالات يطلب فيها البرنامج النصي تأكيد التغييرات التي يجريها. على سبيل المثال ، عندما يطبع البرنامج النصي SearXNG قائمة بالبرامج التي سيتم تثبيتها ، فأنت بحاجة إلى الضغط Yللمتابعة.
تكوين SearXNG
بمجرد تشغيل SearXNG على جهازك ، تحتاج إلى تكوين خادم ويب يقوم ببثه ، لأن محرك البحث هو مجرد عملية تأخذ الطلبات وتنشر النتائج. هذا يعني أنه بدون خادم ويب مناسب ، لا يمكن التفاعل مع SearXNG واستخدامه.
في الوقت الحالي ، يدعم 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_log
Nginx مكان حفظ أي معلومات حول استعلامات البحث الخاصة بك. على سبيل المثال ، فإن ضبطه على “/ dev / null” يضمن عدم حفظ أي سجلات في الجهاز. - أخيرًا ،
location
يخبر الحظر Nginx بما يجب فعله عندما يتصل المستخدم بخادم الويب.
تثبيت SSL وتمكين SearXNG
الشيء التالي الذي عليك القيام به هو إنشاء شهادة SSL لمثيل SearXNG الخاص بك. يؤدي القيام بذلك إلى التأكد من أن كل اتصال تقوم به إلى موقع الويب الخاص بك آمن.
يمكنك بسهولة تمكين 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
:.
اكتشاف المزيد من موقع شعاع للمعلوماتية
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.