Compare commits
39 Commits
ubuntu-dev
...
debian-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47d22200a9 | ||
|
|
b11d7b6ebc | ||
|
|
62c1e9cfc6 | ||
|
|
e8d23701e0 | ||
|
|
f0333c9b27 | ||
|
|
9c42d31518 | ||
|
|
6f47be3532 | ||
|
|
456a336150 | ||
|
|
2af22596a4 | ||
|
|
0c1542605e | ||
|
|
8e0e693fcb | ||
|
|
f4b9bdfb39 | ||
|
|
083808394a | ||
|
|
2934d7978a | ||
|
|
67435af172 | ||
|
|
e3f0427e58 | ||
|
|
4e89aa2035 | ||
|
|
0e619dd4ef | ||
|
|
2e88de6714 | ||
|
|
6342cbbd89 | ||
|
|
34b929130d | ||
|
|
f3b2e4b787 | ||
|
|
54df19f71a | ||
|
|
ebab968766 | ||
|
|
7e37fba048 | ||
|
|
adcf23c73c | ||
|
|
c686c1a915 | ||
|
|
72139c9e63 | ||
|
|
86dff989b6 | ||
|
|
9705f3bc7b | ||
|
|
9a3a4bed6f | ||
|
|
c0ddc4cf1c | ||
|
|
6e907483a2 | ||
|
|
1f4081c6ef | ||
|
|
21662b97f2 | ||
|
|
832386ff47 | ||
|
|
650002bfe8 | ||
|
|
333bf8f3c2 | ||
|
|
7784ac5607 |
@@ -1,4 +1,4 @@
|
||||
# Django Setup for Ubuntu 18.04
|
||||
# Django Setup for Debian 9, Ubuntu. 18.04, and Raspbian Stretch
|
||||
## Install
|
||||
```bash
|
||||
vim vars
|
||||
|
||||
379
install.sh
379
install.sh
@@ -1,27 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
################################################################################s
|
||||
# Dependencies
|
||||
# Installs Dependencies automatically
|
||||
################################################################################
|
||||
|
||||
# source vars
|
||||
source vars
|
||||
|
||||
# check if root
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
if [ $EUID -ne 0 ] ; then
|
||||
echo -e "This script must be run as root"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tput setaf 2
|
||||
# source vars
|
||||
source vars
|
||||
|
||||
echo -e "Installing dependencies"
|
||||
tput setaf 9
|
||||
# create necessary dirs
|
||||
if [ ! -d $logdir ] ; then
|
||||
mkdir $logdir
|
||||
fi
|
||||
fi;
|
||||
|
||||
# install dependencies
|
||||
packages=(gcc wget nginx ufw make sqlite3 bzip2 openssl libffi-dev libssl-dev libsqlite3-dev zlib1g-dev libbz2-dev)
|
||||
echo -e "\tRunning apt update";
|
||||
apt update 1> $aptlogloc 2>> $aptlogloc 3>> $aptlogloc;
|
||||
for package in ${packages[@]};
|
||||
do
|
||||
echo -e "\tInstalling $package"
|
||||
@@ -32,259 +33,201 @@ do
|
||||
fi
|
||||
done
|
||||
|
||||
# firewall
|
||||
ports=(22 80 443)
|
||||
for port in ${ports[@]};
|
||||
do
|
||||
echo -e "ufw allow $port/tcp" > $firelogloc
|
||||
ufw allow $port/tcp 1>> $firelogloc 2>> $firelogloc
|
||||
###############################################################################
|
||||
# Sqlite3
|
||||
# Download and setup Sqlite3 and modules
|
||||
################################################################################
|
||||
echo -e "Installing Sqlite3"
|
||||
|
||||
if [ ! -d sqlite ] ; then
|
||||
# fetch Sqlite
|
||||
wget -O sqlite.tar.gz $sqlink 1> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "\tfirewall failed to update port $port correctly. $firelogmsg"
|
||||
echo -e "Failed to fetch sqlite, make sure wget is installed and $pylink is what you're after. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
echo -e "\tenabling ufw"
|
||||
ufw --force enable
|
||||
|
||||
mkdir sqlite
|
||||
tar xf sqlite.tar.gz -C sqlite --strip-components=1 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to unzip sqlite. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
fi;
|
||||
|
||||
cd sqlite
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Something went wrong while unzipping. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# install Sqlite3
|
||||
echo -e "\tConfigure"
|
||||
./configure 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "./configure failed. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "\tMake"
|
||||
make 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "make failed. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "\tMake install"
|
||||
make install 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "make install failed. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd ..
|
||||
rm sqlite.tar.gz 1>> $pylogloc 2>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "\tNot removing Sqlite3 tar.gz file."
|
||||
fi
|
||||
|
||||
################################################################################
|
||||
# Python
|
||||
# Download and setup Python and modules
|
||||
################################################################################
|
||||
tput setaf 2
|
||||
echo -e "Installing Python"
|
||||
tput setaf 9
|
||||
|
||||
# fetch Python
|
||||
if [ ! -d $pyinstalldir ] ; then # if we already installed python
|
||||
wget $pylink 1> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ ! -d python ] ; then
|
||||
wget -O python.tar.gz $pylink 1> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to fetch python, make sure wget is installed and $pylink is what you're after. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
tar xf Python-3.7.0.tar.xz 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
|
||||
mkdir python
|
||||
tar xf python.tar.gz -C python --strip-components=1 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to unzip python. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
cd Python-3.7.0
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Missing python directory. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# install Python
|
||||
echo -e "\tConfigure"
|
||||
./configure --prefix $pyinstalldir 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
cd python
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Something went wrong while unzipping. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# install Python
|
||||
echo -e "\tConfigure"
|
||||
./configure 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "./configure failed. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "\tMake"
|
||||
make 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
fi
|
||||
|
||||
echo -e "\tMake"
|
||||
make 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "make failed. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "\tMake altinstall"
|
||||
make altinstall 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "make altinstall failed. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -e "\tMake install"
|
||||
make install 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "make install failed. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# upgrade pip and install virtualenv
|
||||
echo -e "\tUpgrading pip"
|
||||
/usr/src/python37/bin/python3.7 -m pip install --upgrade pip 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
python3 -m pip install --upgrade pip 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "pip upgrade failed. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "\tInstalling virtualenv"
|
||||
/usr/src/python37/bin/python3.7 -m pip install virtualenv 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
python3 -m pip install virtualenv 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "installing virtualenv failed. $pylogmsg"
|
||||
exit 1
|
||||
fi
|
||||
cd /root/
|
||||
rm Python-3.7.0.tar.xz 1>> $pylogloc 2>> $pylogloc
|
||||
rm -rf Python-3.7.0 1>> $pylogloc 2>> $pylogloc
|
||||
|
||||
cd ..
|
||||
rm python.tar.gz 1>> $pylogloc 2>> $pylogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to remove Python install files. $pylogmsg"
|
||||
echo -e "\tNot removing Python tar.gz file."
|
||||
fi
|
||||
|
||||
################################################################################
|
||||
# Django
|
||||
# Download, setup and configure Django
|
||||
################################################################################
|
||||
tput setaf 2
|
||||
echo -e "Starting Django project"
|
||||
tput setaf 9
|
||||
# create the sites directory
|
||||
echo -e "\tCreating project directory"
|
||||
mkdir /sites/ 1>> $pylogloc 2>> $pylogloc 3>> $pylogloc
|
||||
|
||||
adduser $user 1> /dev/null 2> /dev/null 3> /dev/null
|
||||
if [ ! -d "/home/$user" ] ; then
|
||||
mkdir /home/$user
|
||||
chown -R $user:$user /home/$user
|
||||
fi
|
||||
mkdir /home/$user/$projectname
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to create $projectname directory. $djamsg"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# virtual environment
|
||||
echo -e "\tCreating venv"
|
||||
cd /home/$user/$projectname
|
||||
/usr/src/python37/bin/python3.7 -m virtualenv venv 1>> $djalogloc 2>> $djalogloc 3>> $djalogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to create virtual environment. $djamsg"
|
||||
exit 1
|
||||
fi
|
||||
source venv/bin/activate 1>> $djalogloc 2>> $djalogloc 3>> $djalogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to source virtual environment. $djamsg"
|
||||
exit 1
|
||||
fi
|
||||
# ################################################################################
|
||||
# # Gunicorn
|
||||
# # configure gunicorn.conf file
|
||||
# ################################################################################
|
||||
# tput setaf 2
|
||||
# echo -e "Setting up gunicorn"
|
||||
# tput setaf 9
|
||||
# echo -e "
|
||||
# [Unit]
|
||||
# Description=gunicorn daemon
|
||||
# After=network.target
|
||||
|
||||
# pip installs
|
||||
pips=(django gunicorn psycopg2-binary)
|
||||
for pip in ${pips[@]};
|
||||
do
|
||||
echo -e "\tInstalling $pip"
|
||||
pip install $pip 1>> $djalogloc 2>> $djalogloc 3>> $djalogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to install $pip. $djamsg"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
# [Service]
|
||||
# User=$user
|
||||
# Group=www-data
|
||||
# WorkingDirectory=/home/$user/$projectname
|
||||
# ExecStart=/home/$user/$projectname/venv/bin/gunicorn --workers 3 --bind unix:/home/$user/$projectname/$projectname.sock config.wsgi:application
|
||||
# Environment=HOST=$hostname
|
||||
|
||||
if [ $usegit = False ] ; then
|
||||
# start django project in the project directory
|
||||
echo -e "\tStarting django project"
|
||||
django-admin startproject config . 1>> $djalogloc 2>> $djalogloc 3>> $djalogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to start project $projectname with django-admin. $djamsg"
|
||||
exit 1
|
||||
fi
|
||||
# [Install]
|
||||
# WantedBy=multi-user.target" > /etc/systemd/system/gunicorn.service
|
||||
# echo -e "\tStarting gunicorn"
|
||||
# systemctl daemon-reload > $gunicornlogloc
|
||||
# systemctl start gunicorn >> $gunicornlogloc
|
||||
# systemctl status gunicorn >> $gunicornlogloc
|
||||
# echo -e "\tEnabling gunicorn at startup"
|
||||
# systemctl enable gunicorn 1>> $gunicornlogloc 2>> $gunicornlogloc
|
||||
|
||||
# update allowed hosts
|
||||
echo -e "echo -e sed -i 's/ALLOWED_HOSTS = []/ALLOWED_HOSTS = ['localhost', os.environ.get('HOST')'] config/settings.py" >> $djalogloc
|
||||
# | FROM | TO |
|
||||
sed -i "s/ALLOWED_HOSTS = \[\]/ALLOWED_HOSTS = \['localhost', os.environ.get('HOST')\]/" config/settings.py
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to change ALLOWED_HOSTS. $djamsg"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "echo -e STATIC_ROOT = os.path.join(BASE_DIR, 'static') >> config//settings.py" >> $djalogloc
|
||||
echo -e "STATIC_ROOT = os.path.join(BASE_DIR, 'static')" >> config/settings.py
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to append STATIC_ROOT. $djamsg"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
# ################################################################################
|
||||
# # Nginx
|
||||
# # configure nginx
|
||||
# ################################################################################
|
||||
# tput setaf 2
|
||||
# echo -e "Configuring Nginx"
|
||||
# tput setaf 9
|
||||
# echo -e "
|
||||
# server {
|
||||
# listen 80;
|
||||
# server_name $hostname;
|
||||
|
||||
if [ $usegit = True ] ; then
|
||||
echo -e "\tCloning django project"
|
||||
ssh-agent bash -c 'ssh-add $gitkey 1>> $gitlogloc 2>> $gitlogloc 3>> $gitlogloc;
|
||||
git init 1>> $gitlogloc 2>> $gitlogloc 3>> $gitlogloc;
|
||||
git remote add origin $giturl 1>> $gitlogloc 2>> $gitlogloc 3>> $gitlogloc;
|
||||
git pull origin master 1>> $gitlogloc 2>> $gitlogloc 3>> $gitlogloc;'
|
||||
echo -e "\tInstalling pip requirements"
|
||||
pip install -r requirements.txt 1>> $gitlogloc 2>> $gitlogloc 3>> $gitlogloc
|
||||
fi
|
||||
# location = /favicon.ico { access_log off; log_not_found off; }
|
||||
# location /static/ {
|
||||
# root /home/$user/$projectname;
|
||||
# }
|
||||
|
||||
# collect static, migrate
|
||||
echo -e "\tCollecting static"
|
||||
python manage.py collectstatic 1>> $djalogloc 2>> $djalogloc 3>> $djalogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to collect static files. $djamsg"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "\tMaking migrations"
|
||||
python manage.py makemigrations 1>> $djalogloc 2>> $djalogloc 3>> $djalogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to make migrations. $djamsg"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "\tMigrating"
|
||||
python manage.py migrate 1>> $djalogloc 2>> $djalogloc 3>> $djalogloc
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to migrate. You do not survive the winter. $djamsg"
|
||||
exit 1
|
||||
fi
|
||||
deactivate
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to deactivate virtual environment, (this may not be an issue). $djamsg"
|
||||
fi
|
||||
chown -R $user:$user .
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo -e "Failed to change permissions of $projectname. $djamsg"
|
||||
exit 1
|
||||
fi
|
||||
# location / {
|
||||
# proxy_set_header Host \$http_host;
|
||||
# proxy_set_header X-Real-IP \$remote_addr;
|
||||
# proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||
# proxy_set_header X-Forwarded-Proto \$scheme;
|
||||
# proxy_pass http://unix:/home/$user/$projectname/$projectname.sock;
|
||||
# }
|
||||
# }" > /etc/nginx/conf.d/$projectname.conf
|
||||
# # set the nginx user
|
||||
# if [ ! $user = "nginx" ] ; then
|
||||
# sed -i "s/user nginx/user $user nginx/" /etc/nginx/nginx.conf
|
||||
# fi
|
||||
# echo -e "\tStarting nginx"
|
||||
# systemctl restart nginx >> $nginxlogloc
|
||||
# systemctl status nginx >> $nginxlogloc
|
||||
# echo -e "\tEnabling nginx"
|
||||
# systemctl enable nginx 1>> $nginxlogloc 2>> $nginxlogloc
|
||||
|
||||
################################################################################
|
||||
# Gunicorn
|
||||
# configure gunicorn.conf file
|
||||
################################################################################
|
||||
tput setaf 2
|
||||
echo -e "Setting up gunicorn"
|
||||
tput setaf 9
|
||||
echo -e "
|
||||
[Unit]
|
||||
Description=gunicorn daemon
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=$user
|
||||
Group=www-data
|
||||
WorkingDirectory=/home/$user/$projectname
|
||||
ExecStart=/home/$user/$projectname/venv/bin/gunicorn --workers 3 --bind unix:/home/$user/$projectname/$projectname.sock config.wsgi:application
|
||||
Environment=HOST=$hostname
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target" > /etc/systemd/system/gunicorn.service
|
||||
echo -e "\tStarting gunicorn"
|
||||
systemctl daemon-reload > $gunicornlogloc
|
||||
systemctl start gunicorn >> $gunicornlogloc
|
||||
systemctl status gunicorn >> $gunicornlogloc
|
||||
echo -e "\tEnabling gunicorn at startup"
|
||||
systemctl enable gunicorn 1>> $gunicornlogloc 2>> $gunicornlogloc
|
||||
|
||||
################################################################################
|
||||
# Nginx
|
||||
# configure nginx
|
||||
################################################################################
|
||||
tput setaf 2
|
||||
echo -e "Configuring Nginx"
|
||||
tput setaf 9
|
||||
echo -e "
|
||||
server {
|
||||
listen 80;
|
||||
server_name $hostname;
|
||||
|
||||
location = /favicon.ico { access_log off; log_not_found off; }
|
||||
location /static/ {
|
||||
root /home/$user/$projectname;
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_set_header Host \$http_host;
|
||||
proxy_set_header X-Real-IP \$remote_addr;
|
||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||
proxy_pass http://unix:/home/$user/$projectname/$projectname.sock;
|
||||
}
|
||||
}" > /etc/nginx/conf.d/$projectname.conf
|
||||
# set the nginx user
|
||||
if [ ! $user = "nginx" ] ; then
|
||||
sed -i "s/user nginx/user $user nginx/" /etc/nginx/nginx.conf
|
||||
fi
|
||||
echo -e "\tStarting nginx"
|
||||
systemctl restart nginx >> $nginxlogloc
|
||||
systemctl status nginx >> $nginxlogloc
|
||||
echo -e "\tEnabling nginx"
|
||||
systemctl enable nginx 1>> $nginxlogloc 2>> $nginxlogloc
|
||||
|
||||
tput setaf 2
|
||||
echo -e "Done! Navigate to $hostname to access the site. Logs can be found in $logdir"
|
||||
tput setaf 9
|
||||
exit 0
|
||||
# tput setaf 2
|
||||
# echo -e "Done! Navigate to $hostname to access the site. Logs can be found in $logdir"
|
||||
# tput setaf 9
|
||||
# exit 0
|
||||
33
reset.sh
33
reset.sh
@@ -1,3 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
################################################################################
|
||||
# Performs a QUICK uninstall #
|
||||
# - Does not uninstall dependencies #
|
||||
@@ -7,24 +9,17 @@
|
||||
# source vars
|
||||
source vars
|
||||
|
||||
# remove nginx conf
|
||||
tput setaf 2
|
||||
echo "Disabling nginx"
|
||||
tput setaf 9
|
||||
systemctl stop nginx 1> /dev/null 2> /dev/null
|
||||
systemctl disable nginx 1> /dev/null 2> /dev/null
|
||||
rm -f /etc/nginx/conf.d/$projectname.conf
|
||||
# source vars
|
||||
source vars
|
||||
|
||||
# remove gunicorn
|
||||
tput setaf 2
|
||||
echo "Uninstalling gunicorn"
|
||||
tput setaf 9
|
||||
systemctl disable gunicorn 1> /dev/null 2> /dev/null
|
||||
systemctl stop gunicorn 1> /dev/null 2> /dev/null
|
||||
rm -f /etc/systemd/system/gunicorn.service
|
||||
# remove python
|
||||
echo "Uninstalling Python"
|
||||
for dir in $(whereis python3 | tr " " "\n" | grep usr/local/bin | tr "\n" " ");
|
||||
do rm -r $dir;
|
||||
done;
|
||||
|
||||
# remove project
|
||||
tput setaf 2
|
||||
echo "Removing Django project"
|
||||
tput setaf 9
|
||||
rm -rf /home/$user/$projectname
|
||||
# remove sqlite
|
||||
echo "Uninstalling Sqlite3"
|
||||
for dir in $(whereis sqlite3 | tr " " "\n" | grep usr/local/bin | tr "\n" " ");
|
||||
do rm -r $dir;
|
||||
done;
|
||||
41
uninstall.sh
41
uninstall.sh
@@ -1,3 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
################################################################################
|
||||
# Performs a FULL uninstall #
|
||||
################################################################################
|
||||
@@ -5,39 +7,20 @@
|
||||
# source vars
|
||||
source vars
|
||||
|
||||
# remove nginx conf
|
||||
tput setaf 2
|
||||
echo "Disabling nginx"
|
||||
tput setaf 9
|
||||
systemctl stop nginx 1> /dev/null 2> /dev/null
|
||||
systemctl disable nginx 1> /dev/null 2> /dev/null
|
||||
rm -f /etc/nginx/conf.d/$projectname.conf
|
||||
|
||||
# remove gunicorn
|
||||
tput setaf 2
|
||||
echo "Uninstalling gunicorn"
|
||||
tput setaf 9
|
||||
systemctl disable gunicorn 1> /dev/null 2> /dev/null
|
||||
systemctl stop gunicorn 1> /dev/null 2> /dev/null
|
||||
rm -f /etc/systemd/system/gunicorn.service
|
||||
|
||||
# remove project
|
||||
tput setaf 2
|
||||
echo "Removing Django project"
|
||||
tput setaf 9
|
||||
rm -rf /home/$user/$projectname
|
||||
|
||||
# remove python
|
||||
tput setaf 2
|
||||
echo "Uninstalling python"
|
||||
tput setaf 9
|
||||
rm -rf $pyinstalldir
|
||||
echo "Uninstalling Python"
|
||||
for dir in $(whereis python3 | tr " " "\n" | grep usr/local/bin | tr "\n" " ");
|
||||
do rm -r $dir;
|
||||
done;
|
||||
|
||||
# remove sqlite
|
||||
echo "Uninstalling Sqlite3"
|
||||
for dir in $(whereis sqlite3 | tr " " "\n" | grep usr/local/bin | tr "\n" " ");
|
||||
do rm -r $dir;
|
||||
done;
|
||||
|
||||
# remove yum dependencies
|
||||
tput setaf 2
|
||||
echo "Uninstalling dependencies"
|
||||
tput setaf 9
|
||||
packages=(gcc wget nginx ufw make sqlite3 bzip2 openssl libffi-dev libssl-dev libsqlite3-dev zlib1g-dev libbz2-dev)
|
||||
for package in ${packages[@]};
|
||||
do
|
||||
echo -e "\tRemoving $package"
|
||||
|
||||
8
vars
Normal file → Executable file
8
vars
Normal file → Executable file
@@ -1,3 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# django project settings
|
||||
export user=""
|
||||
export projectname=""
|
||||
@@ -22,5 +24,9 @@ export gitlogloc=$logdir"git.log"
|
||||
export gitlogmsg="See $gitlogloc for more info."
|
||||
|
||||
# python settings
|
||||
export pylink="https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz"
|
||||
export pylink="https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz"
|
||||
export sqlink="https://sqlite.org/2019/sqlite-autoconf-3280000.tar.gz"
|
||||
export pyinstalldir="/usr/src/python37"
|
||||
|
||||
# don't change this by hand
|
||||
export packages=(gcc wget nginx make bzip2 openssl libffi-dev libssl-dev libsqlite3-dev zlib1g-dev libbz2-dev libpq-dev);
|
||||
Reference in New Issue
Block a user