SearXNG는 어디에서나 호스팅할 수 있는 강력한 메타 검색 엔진입니다. 기존 검색 엔진과 달리 SearXNG는 엔진 수집기입니다. 즉, 검색을 자체적으로 처리하는 대신 다른 엔진을 사용하여 검색을 수행합니다. 또한 SearXNG는 매우 가볍고 설정이 간편하며 Raspberry Pi처럼 간단한 시스템에서 호스팅할 수 있습니다!
SeaXNG를 설치해야 하는 이유
검색 엔진은 웹을 탐색하고 발견하는 것을 매우 편리하게 만듭니다. 그러나 공개 검색 엔진을 사용하면 대가가 따릅니다. Google과 같은 최신 검색 회사는 검색 데이터를 사용하여 매우 정확한 프로필을 만듭니다.
이 동작은 검색을 비공개로 익명으로 유지하려는 개인에게 방해가 될 수 있습니다. 예를 들어 민감하고 논쟁의 여지가 있는 주제에 대해 보도하는 언론인은 검색어를 자신의 이름과 연결하고 싶지 않을 수 있습니다.

이 개인 정보 문제를 처리하는 한 가지 방법은 자체 SearXNG 인스턴스를 설치하고 호스팅하는 것입니다. 이렇게 하면 사용자만 검색 로그에 액세스할 수 있습니다.
필요한 것
SearXNG를 설치하려면 몇 가지 준비가 필요합니다.
- FQDN(정규화된 도메인 이름): SearXNG를 사용하려면 도메인이 있는 적절한 웹 서버를 통해 호스팅해야 합니다.
- 홈 네트워크 외부에서 액세스할 수 있는 시스템: 고정 IP 주소가 있는 집의 컴퓨터이거나 현재 임대 중인 전용 VPS(가상 사설 서버)일 수 있습니다.
- 컴퓨터에 대한 루트 액세스: 이는 SearXNG를 올바르게 구성하고 호스팅하기 위해 일부 시스템 도구를 설치해야 하기 때문입니다.
이 튜토리얼은 Debian 11 VPS에서 SearXNG를 설치하고 설정하는 데만 초점을 맞춥니다. 디지털오션.

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

방화벽 구성
필수 단계는 아니지만 방화벽을 구성하면 외부 시스템이 사용자가 승인한 포트에만 액세스할 수 있습니다. 이렇게 하면 악의적인 행위자가 끝없는 요청으로 시스템을 넘치게 하는 것을 방지할 수 있습니다.

둘 다 사용할 수 있습니다 iptables 그리고 ufw SearXNG에 필요한 포트만 활성화하려면:
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 allow 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 install all
이 프로세스는 대부분 자동이지만 스크립트에서 변경 사항을 확인하도록 요청하는 경우가 있습니다. 예를 들어, SearXNG 스크립트가 설치할 프로그램 목록을 인쇄할 때 다음을 눌러야 합니다. 와이 계속하다.

SearXNG 구성
검색 엔진이 요청을 받고 결과를 게시하는 프로세스일 뿐이기 때문에 SearXNG가 컴퓨터에 있으면 이를 브로드캐스트할 웹 서버를 구성해야 합니다. 즉, 적절한 웹 서버가 없으면 SearXNG와 상호 작용하고 사용할 수 없습니다.

현재 SearXNG는 공식적으로 Apache와 Nginx를 모두 지원합니다. 이 섹션은 Nginx를 사용하여 독립형 서비스로 SearXNG를 구성하는 데 중점을 둡니다.
Nginx 구성
먼저 “/etc/nginx/sites-available/” 아래에 새 구성 파일을 만들어야 합니다.
sudo nano /etc/nginx/sites-available/searxng
그런 다음 웹 서버의 구성을 포함할 파일 내부에 서버 블록을 작성해야 합니다. 예를 들어 다음은 내 SearXNG 인스턴스에 사용하는 기본 블록입니다.
server { # Ports. listen 80; listen [::]:80; # Hostname. server_name yetanothersearxserver.xyz; # Logging. access_log /dev/null; error_log /dev/null; # Searx Redirect. location / { uwsgi_pass unix:///usr/local/searxng/run/socket; include uwsgi_params; uwsgi_param HTTP_HOST $host; uwsgi_param HTTP_CONNECTION $http_connection; # see flaskfix.py uwsgi_param HTTP_X_SCHEME $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; } }
- 그만큼
listen변수는 이 웹 서버가 포트 80에서 서비스를 브로드캐스트한다는 것을 Nginx에 알려줍니다. 시스템에서 이미 다른 가상 호스트를 실행 중인 경우 이 값을 변경하는 것이 중요합니다. - 그만큼
server_name컴퓨터를 가리키는 FQDN을 포함해야 하는 변수입니다. 제 경우에는 웹 서버가 “yetanothersearxserver.xyz”를 사용합니다. - 둘 다
access_log그리고error_log변수는 Nginx에 검색어에 대한 정보를 저장할 위치를 알려줍니다. 예를 들어 “/dev/null”로 설정하면 시스템에 로그가 저장되지 않습니다. - 마지막으로,
location블록은 사용자가 웹 서버에 연결할 때마다 수행할 작업을 Nginx에 알려줍니다.

SSL 설치 및 SearXNG 활성화
다음으로 해야 할 일은 SearXNG 인스턴스에 대한 SSL 인증서를 생성하는 것입니다. 이렇게 하면 웹사이트에 대한 모든 연결이 안전하게 보호됩니다.

에 가입하여 SSL을 무료로 쉽게 활성화할 수 있습니다. 암호화하자의 인증서봇. 예를 들어 다음 명령을 실행하여 내 SearXNG 호스트에 대한 인증서를 발급할 수 있습니다.
certbot --nginx yetanothersearxserver.xyz
이제 웹 서버의 “sites_enabled” 폴더에 대한 심볼릭 링크를 만들어 Nginx를 통해 웹사이트를 활성화할 수 있습니다.
sudo ln -s /etc/nginx/sites-available/searx /etc/nginx/sites-enabled/
완료되면 SearXNG와 Nginx를 모두 다시 로드하여 구성을 적용하고 활성화해야 합니다.
sudo systemctl reload nginx sudo service uwsgi restart searxng
축하합니다! 이제 SearXNG를 사용하여 자신의 검색 엔진을 만들고 호스팅하는 방법을 알게 되었습니다.
자주 묻는 질문
SeaXNG를 설치하면 업데이트할 수 있습니까?
예! 기존 패키지 관리자를 통해 SearXNG를 설치할 수 없지만 명령줄에서 검색 엔진을 업데이트하고 마이그레이션할 수 있습니다. 예를 들어 다음 명령을 실행하여 SearXNG를 업데이트할 수 있습니다. sudo /home/$USER/searxng/utils/searxng.sh instance update.
설치 스크립트에서 Redis를 사용할 수 없다고 나옵니다. 내 설치가 실패했습니까?
아니요. 하지만 이 오류로 인해 SearXNG 인스턴스가 불안정해질 가능성이 높습니다. 이는 SearXNG의 Redis 오류가 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.
우리의 활동을 지원해주세요 ❤️
이 글이 마음에 드셨다면, 앞으로도 좋은 콘텐츠를 계속 발행할 수 있도록 팁을 남겨주세요.




















