first commit

This commit is contained in:
root 2014-05-10 09:54:15 +00:00
commit 7eb4b9aca8
5 changed files with 131 additions and 0 deletions

11
conf/nginx.conf Normal file
View File

@ -0,0 +1,11 @@
location PATHTOCHANGE {
if ($scheme = http) {
rewrite ^ https://$server_name$request_uri? permanent;
}
try_files $uri @searx;
}
location @searx {
uwsgi_pass unix:///tmp/searx.sock;
include uwsgi_params;
}

29
conf/searx.ini Normal file
View File

@ -0,0 +1,29 @@
[uwsgi]
# Who will run the code
uid = www-data
gid = www-data
# Number of workers
workers = 4
# The right granted on the created socket
chmod-socket = 666
# Plugin to use and interpretor config
single-interpreter = true
master = true
plugin = python
# Application base folder
base = /opt/searx
# Module to import
module = searx.webapp
# Virtualenv and python path
virtualenv = /opt/searx/searx-ve/
pythonpath = /opt/searx/
chdir = /opt/searx/searx/
# The variable holding flask application
callable = app

32
manifest.json Normal file
View File

@ -0,0 +1,32 @@
{
"name": "Searx",
"id": "searx",
"description": {
"en": "A privacy-respecting, hackable metasearch engine"
},
"developer": {
"name": "beudbeud"
"email": "beudbeud@beudibox.fr",
"url": "https://github.com/asciimoo/searx/"
},
"multi_instance": "true",
"arguments": {
"install" : [
{
"name": "domain",
"ask": {
"en": "Choose a domain for searx"
},
"example": "domain.org"
},
{
"name": "path",
"ask": {
"en": "Choose a path for searx"
},
"example": "/searx",
"default": "/searx"
}
]
}
}

46
scripts/install Normal file
View File

@ -0,0 +1,46 @@
#!/bin/bash
# Retrieve arguments
domain=$1
path=$2
# Check domain/path availability
sudo yunohost app checkurl $domain$path -a searx
sudo yunohost app setting searx skipped_uris -v "$path"
if [[ ! $? -eq 0 ]]; then
exit 1
fi
# Check depends installation
sudo apt-get install git build-essential libxslt-dev python-dev python-virtualenv python-pybabel zlib1g-dev
# Init virtualenv
sudo virtualenv /searx
sudo bash -c "source /opt/searx/bin/activate && pip install -r requirements.txt"
#Configuration Searx
sudo cp ../conf/settings.yml /opt/searx/
sudo sed -i "s@CHANGEPATH@$path@g" /opt/searx/settings.yml
# Set permissions to searx directory
#sudo chown -R www-data. /opt/searx/
# Copy uwsgi config
sudo cp ../conf/searx.ini /etc/uwsgi/apps-available/
sudo ln -s /etc/uwsgi/apps-available/searx.ini /etc/uwsgi/apps-enabled/
# Modify Nginx configuration file and copy it to Nginx conf directory
sudo sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf
sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/searx.conf
# Fix permission
#sudo chmod 755 /etc/searx/
#sudo find /opt/yunohost/searx/ -type d -exec chmod 2755 {} \;
#sudo find /opt/yunohost/searx/ -type f -exec chmod g+r,o+r {} \;
#sudo chmod 644 /etc/searx/*
## Reload Nginx and regenerate SSOwat conf
sudo service nginx reload
sudo service uwsgi restart
#sudo yunohost app setting searx skipped_uris -v "/"
sudo yunohost app ssowatconf

13
scripts/remove Normal file
View File

@ -0,0 +1,13 @@
#!/bin/bash
domain=$(sudo yunohost app setting searx domain)
sudo rm -Rf /opt/searx
sudo rm -f /etc/uwsgi/apps-enabled/searx.ini
sudo rm -f /etc/uwsgi/apps-available/searx.ini
sudo rm -f /etc/nginx/conf.d/$domain.d/searx.conf
sudo service uwsgi stop
sudo killall uwsgi
sudo service uwsgi start
sudo service nginx reload
sudo yunohost app ssowatconf