Menu
Home
About
Our Role
Goals
The Team
Roadmap
Tokenomics
How To Buy
Knowledge Base
Contacts
Sitemap & Links
A.I.
Chart
Shop
IMMORTALITY
🏠
⬇️
Running SearXNG on Linux Mint
New name
B
I
U
S
link
image
code
HTML
list
Show page
Syntax
Google's practices of censorship and shadowbanning contribute to a less informed society and a weakened education system. To mitigate these effects, consider using searXNG. Here are the steps to install it on Linux Mint. You need a working python environment as searxng is written in python. {pre} sudo apt install redis-server apache2 python3 -y {/pre} {pre} sudo ln -s /usr/bin/python3 /usr/bin/python {/pre} First thing to do is create a searxng user and log into it. {pre} sudo userdel -r searxng {/pre} {pre} sudo useradd -m -s /bin/bash searxng sudo passwd searxng sudo usermod -aG sudo searxng sudo su - searxng {/pre} Download SearXNG. Clone it to the /tmp folder and not the home folder. {pre} git clone https://github.com/searxng/searxng.git cd searxng echo "export SEARXNG_SRC=$HOME/searxng" >> ~/.bashrc source ~/.bashrc {/pre} The docs are available at https://docs.searxng.org/ The only supported operating systems are... {pre} ubuntu-*|debian-*) # For uWSGI debian uses the LSB init process; for each configuration # file new uWSGI daemon instance is started with additional option. service uwsgi status "${SERVICE_NAME}" ;; arch-*) systemctl --no-pager -l status "uwsgi@${SERVICE_NAME%.*}" ;; fedora-*) {/pre} You then need to change every instances of {pre} ubuntu-*|debian-*) {/pre} to {pre} ubuntu-*|debian-*|linuxmint-*) {/pre} The file it gets its Linux installation name is /etc/os-release variable ID {pre} echo $(source /etc/os-release; echo "$ID"); {/pre} or {pre} cat /etc/os-release {/pre} the files in reference are... {br} # ./utils/searxng.sh # ./utils/lib.sh # ./utils/lib_redis.sh {br} Here are some fast sed commands to do just that... {pre} find . -type f -exec sed -i 's/ubuntu|debian)/ubuntu|debian|linuxmint)/g' {} + {/pre} {pre} find . -type f -exec sed -i 's/ubuntu-\*|debian-\*)/ubuntu-\*|debian-\*|linuxmint-\*)/g' {} + {/pre} Then make the directory in /usr/local {pre} sudo mkdir -p /usr/local/searxng sudo chown searxng:searxng /usr/local/searxng {/pre} Then run the installation script... {pre} sudo -H ./utils/searxng.sh install all {/pre} Disable the searxng user login {pre} sudo usermod searxng -s /sbin/nologin {/pre} {pre} http://url/searxng {/pre} Some commands: * sudo rm -rf /usr/local/searxng * sudo rm -rf /usr/local/searxng-redis * sudo userdel searxng * sudo groupdel searxng * usermod searxng -s /sbin/bash {pre} # -- coding: utf-8; mode: apache -- LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so LoadModule proxy_uwsgi_module /usr/lib/apache2/modules/mod_proxy_uwsgi.so # LoadModule setenvif_module /usr/lib/apache2/modules/mod_setenvif.so # # SetEnvIf Request_URI /searxng dontlog # CustomLog /dev/null combined env=dontlog <VirtualHost *:80> ServerName search.imtcoin.com #<Location /searxng> <Location /> Require all granted Order deny,allow Deny from all # Allow from fd00::/8 192.168.0.0/16 fe80::/10 127.0.0.0/8 ::1 Allow from all # add the trailing slash RedirectMatch 308 /searxng$ /searxng/ ProxyPreserveHost On ProxyPass unix:/usr/local/searxng/run/socket|uwsgi://uwsgi-uds-searxng/ ProxyPassReverse / # see flaskfix.py RequestHeader set X-Scheme %{REQUEST_SCHEME}s # RequestHeader set X-Script-Name /searxng # see limiter.py RequestHeader set X-Real-IP %{REMOTE_ADDR}s RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s </Location> # uWSGI serves the static files and in settings.yml we use:: # # ui: # static_use_hash: true # # Alias /searxng/static/ /usr/local/searxng/searxng-src/searx/static/ RewriteEngine on RewriteCond %{SERVER_NAME} =search.imtcoin.com RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] </VirtualHost> <VirtualHost *:443> ServerName search.imtcoin.com #<Location /searxng> <Location /> Require all granted Order deny,allow Deny from all # Allow from fd00::/8 192.168.0.0/16 fe80::/10 127.0.0.0/8 ::1 Allow from all # add the trailing slash RedirectMatch 308 /searxng$ /searxng/ ProxyPreserveHost On ProxyPass unix:/usr/local/searxng/run/socket|uwsgi://uwsgi-uds-searxng/ ProxyPassReverse / # see flaskfix.py RequestHeader set X-Scheme %{REQUEST_SCHEME}s # RequestHeader set X-Script-Name /searxng # see limiter.py RequestHeader set X-Real-IP %{REMOTE_ADDR}s RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s </Location> SSLEngine on ErrorLog ${APACHE_LOG_DIR}/search.imtcoin.com-ssl-error.log CustomLog ${APACHE_LOG_DIR}/search.imtcoin.com-ssl-access.log combined Include /etc/letsencrypt/options-ssl-apache.conf # uWSGI serves the static files and in settings.yml we use:: # # ui: # static_use_hash: true # # Alias /searxng/static/ /usr/local/searxng/searxng-src/searx/static/ SSLCertificateFile /etc/letsencrypt/live/search.imtcoin.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/search.imtcoin.com/privkey.pem </VirtualHost> {/pre}
Password
Summary of changes
📜
⏱️
⬆️