소개
Searx는 개인 정보 보호와 사용자의 검색 자유를 중요시하는 오픈 소스 메타 검색 엔진입니다. 이 블로그에서는 시스템 엔지니어와 시니어 개발자의 관점에서 Searx에 대해 살펴보겠습니다. Searx는 사용자들이 자체 서버에서 검색 엔진을 호스팅 할 수 있어 웹 검색 결과의 개인화를 피하고, 추적을 피할 수 있는 장점이 있습니다. 또한 오픈 소스 프로젝트로서, 개발자들은 소스 코드를 확인하고 기여하여 프로젝트를 발전시킬 수 있습니다.
장점
개인 정보 보호 강화: Searx는 사용자의 검색 활동을 추적하지 않기 때문에 개인 정보 보호를 보장합니다.
중앙 서버가 개입하지 않고 사용자가 직접 검색을 수행하기 때문에, 사용자의 검색 쿼리와 기록이 수집되지 않습니다.
- 사용자 정의 가능: Searx를 자체 서버에 호스팅하면 검색 결과와 관련된 데이터의 제어권을 사용자가 가지게 됩니다. 사용자는 자신의 선호 검색 엔진을 구성하거나, 원하는 기능과 확장을 추가하여 맞춤형 검색 환경을 구축할 수 있습니다.
- 다중 검색 엔진 지원: Searx는 여러 검색 엔진(구글, Bing, DuckDuckGo 등)의 결과를 집계하여 제공하기 때문에 다양한 검색 결과를 한곳에서 얻을 수 있습니다.
단점
- 검색 성능: 자체 서버에서 운영하는 경우, 검색 속도와 성능이 중앙 집중형 검색 엔진보다 느릴 수 있습니다. 서버 성능에 따라 검색 결과에 소요되는 시간이 달라질 수 있습니다.
- 설정 및 관리 복잡성: Searx를 운영하려면 서버 설정과 관리에 대한 기술적 지식이 필요합니다. 처음 설치 및 구성하는 과정은 복잡할 수 있으며, 유지 보수도 주기적으로 필요합니다.
설치
$ sudo -H apt-get install -y \
python3-dev python3-babel python3-venv \
uwsgi uwsgi-plugin-python3 \
git build-essential libxslt-dev zlib1g-dev libffi-dev libssl-dev \
shellcheck
$ sudo -H useradd --shell /bin/bash --system \
--home-dir "/usr/local/searx" \
--comment 'Privacy-respecting metasearch engine' searx
$ sudo -H mkdir "/usr/local/searx"
$ sudo -H chown -R "searx:searx" "/usr/local/searx"
$ sudo -H -u searx -i
(searx)$ git clone "https://github.com/searx/searx.git" "/usr/local/searx/searx-src"
(searx)$ python3 -m venv "/usr/local/searx/searx-pyenv"
(searx)$ echo ". /usr/local/searx/searx-pyenv/bin/activate" >> "/usr/local/searx/.profile"
$ sudo -H -u searx -i
(searx)$ command -v python && python --version
/usr/local/searx/searx-pyenv/bin/python
Python 3.8.1
# update pip's boilerplate ..
pip install -U pip
pip install -U setuptools
pip install -U wheel
pip install -U pyyaml
# jump to searx's working tree and install searx into virtualenv
(searx)$ cd "/usr/local/searx/searx-src"
(searx)$ pip install -e .
$ sudo -H mkdir -p "/etc/searx"
$ sudo -H cp "/usr/local/searx/searx-src/utils/templates/etc/searx/use_default_settings.yml" \
"/etc/searx/settings.yml"
# enable debug ..
$ sudo -H sed -i -e "s/debug : False/debug : True/g" "/etc/searx/settings.yml"
# start webapp
$ sudo -H -u searx -i
(searx)$ cd /usr/local/searx/searx-src
(searx)$ export SEARX_SETTINGS_PATH="/etc/searx/settings.yml"
(searx)$ python searx/webapp.py
# disable debug
$ sudo -H sed -i -e "s/debug : True/debug : False/g" "/etc/searx/settings.yml"
'devOps' 카테고리의 다른 글
해킹 방지를 위한 Nginx 설정 (0) | 2023.07.31 |
---|---|
SSH 보안 강화, fail2ban 으로 알아보기 (0) | 2023.07.30 |
Jenkins로 CI/CD 구축하기: 우분투 환경에서 자동화된 빌드 및 배포 (0) | 2023.07.16 |
DevOps란 무엇이며 왜 중요한가요? (0) | 2023.05.23 |