Skip to content

Commit

Permalink
review install scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
HamoudaAmine committed Jan 22, 2019
1 parent 87a3400 commit e3ad03b
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 74 deletions.
1 change: 1 addition & 0 deletions backend/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,4 @@ https://github.com/PnX-SI/UsersHub-authentification-module/archive/1.2.0.zip
six==1.11.0
SQLAlchemy==1.1.13
Werkzeug==0.14.1
gunicorn==19.9.0
32 changes: 17 additions & 15 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,6 @@ Ce serveur doit aussi disposer de :
Installation de l'environnement logiciel
========================================

Le script ``install_env.sh`` va automatiquement installer les outils nécessaires à l'application s'ils ne sont pas déjà sur le serveur :

- PostgreSQL 9.6+
- PostGIS
- Nginx
- Python 3

Cela installera les logiciels nécessaires au fonctionnement de l'application

**1. Récupérer la dernière version de GeoPaysages sur le dépôt (https://github.com/PnX-SI/GeoPaysages/releases)**

Ces opérations doivent être faites avec l'utilisateur courant (autre que ``root``), ``monuser`` dans l'exemple :
Expand Down Expand Up @@ -61,6 +52,16 @@ Vous pouvez renommer le dossier qui contient l'application (dans un dossier ``/h


**2. Se placer dans le dossier qui contient l'application et lancer l'installation de l'environnement serveur :**

Le script ``install_env.sh`` va automatiquement installer les outils nécessaires à l'application s'ils ne sont pas déjà sur le serveur :

- PostgreSQL 9.6+
- PostGIS
- Nginx
- Python 3

Cela installera les logiciels nécessaires au fonctionnement de l'application

::

cd /home/monuser/geopaysages
Expand All @@ -71,6 +72,7 @@ Vous pouvez renommer le dossier qui contient l'application (dans un dossier ``/h
Installation de la base de données
==================================


**1. Configuration de la BDD :**

Modifier le fichier de configuration de la BDD et de son installation automatique ``install_configuration/settings.ini``.
Expand Down Expand Up @@ -171,9 +173,9 @@ Configuration de Nginx

Copiez/collez-y ces lignes en renseignant les bons chemins et le bon port :
::

directory=/home/monuser/GeoPaysages/backend
command=/home/monuser/venv/bin/gunicorn app:app -b localhost:8000
[program:oppv_vanoise]
directory=/home/monuser/geopaysages/backend
command=/home/monuser/geopaysages/venv/bin/gunicorn app:app -b localhost:8000
autostart=true
autorestart=true

Expand All @@ -193,18 +195,18 @@ Copiez/collez-y ces lignes en renseignant les bons chemins et le bon port :

server {
listen 80;
server_name vps587786.ovh.net;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:8000;
}
location /pictures {
alias /home/oppv/data/images/;
alias /home/monuser/data/images/;
}

location /app_admin {
alias /home/oppv/app_admin;
alias /home/monuser/app_admin;
try_files $uri$args $uri$args/ /app_admin/index.html;
}
}
Expand Down
4 changes: 2 additions & 2 deletions install_app.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ mkdir -p ../data/notice-photo
echo "Installing requirements..."
pip install -r ./backend/requirements.txt



echo "Creating configuration files "
cp ./backend/config.py.tpl ./backend/config.py

deactivate
10 changes: 6 additions & 4 deletions install_backoffice.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ nvm install 8.10.0
echo " ############"
echo "Installation des paquets npm"
npm install -g @angular/cli@7.0.5

cd ./front-backOffice/
npm install
npm install

# Creation du map config
sudo cp src/app/config.ts.tpl src/app/config.ts
cp src/app/config.ts.tpl src/app/config.ts

# build app
ng build --prod --base-href /app_admin/
sudo cp dist/front-backOffice /home/oppv/app_admin/
sudo cp Staticfile /home/oppv/app_admin/
mkdir -p ../../app_admin
cp -r ./dist/front-backOffice/* ../../app_admin/
cp Staticfile ../../app_admin/
46 changes: 15 additions & 31 deletions install_configuration/oppvdb.sql
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@ SET default_tablespace = '';

SET default_with_oids = false;

CREATE SCHEMA IF NOT EXISTS geopaysages ;
--
-- TOC entry 184 (class 1259 OID 23880460)
-- Name: cor_site_stheme; Type: TABLE; Schema: geopaysages; Owner: oppvuser; Tablespace:
-- Name: cor_site_stheme; Type: TABLE; Schema: geopaysages; Tablespace:
--

CREATE TABLE cor_site_stheme_theme(
Expand All @@ -32,11 +33,10 @@ CREATE TABLE cor_site_stheme_theme(
);


ALTER TABLE geopaysages.cor_site_stheme_theme OWNER TO oppvuser;

--
-- TOC entry 190 (class 1259 OID 23952913)
-- Name: cor_stheme_theme; Type: TABLE; Schema: geopaysages; Owner: oppvuser; Tablespace:
-- Name: cor_stheme_theme; Type: TABLE; Schema: geopaysages; Tablespace:
--

CREATE TABLE cor_stheme_theme (
Expand All @@ -47,11 +47,10 @@ CREATE TABLE cor_stheme_theme (
);


ALTER TABLE geopaysages.cor_stheme_theme OWNER TO oppvuser;

--
-- TOC entry 189 (class 1259 OID 23880661)
-- Name: dico_licence_photo; Type: TABLE; Schema: geopaysages; Owner: oppvuser; Tablespace:
-- Name: dico_licence_photo; Type: TABLE; Schema: geopaysages; Tablespace:
--

CREATE TABLE dico_licence_photo (
Expand All @@ -61,11 +60,9 @@ CREATE TABLE dico_licence_photo (
);


ALTER TABLE geopaysages.dico_licence_photo OWNER TO oppvuser;

--
-- TOC entry 185 (class 1259 OID 23880465)
-- Name: dico_stheme; Type: TABLE; Schema: geopaysages; Owner: oppvuser; Tablespace:
-- Name: dico_stheme; Type: TABLE; Schema: geopaysages; Tablespace:
--

CREATE TABLE dico_stheme (
Expand All @@ -74,11 +71,9 @@ CREATE TABLE dico_stheme (
);


ALTER TABLE geopaysages.dico_stheme OWNER TO oppvuser;

--
-- TOC entry 186 (class 1259 OID 23880478)
-- Name: dico_theme; Type: TABLE; Schema: geopaysages; Owner: oppvuser; Tablespace:
-- Name: dico_theme; Type: TABLE; Schema: geopaysages; Tablespace:
--

CREATE TABLE dico_theme (
Expand All @@ -87,11 +82,10 @@ CREATE TABLE dico_theme (
);


ALTER TABLE geopaysages.dico_theme OWNER TO oppvuser;

--
-- TOC entry 211 (class 1259 OID 23981446)
-- Name: t_photo; Type: TABLE; Schema: geopaysages; Owner: oppvuser; Tablespace:
-- Name: t_photo; Type: TABLE; Schema: geopaysages; Tablespace:
--

CREATE TABLE t_photo (
Expand All @@ -107,11 +101,9 @@ CREATE TABLE t_photo (
);


ALTER TABLE geopaysages.t_photo OWNER TO oppvuser;

--
-- TOC entry 188 (class 1259 OID 23880590)
-- Name: t_serie; Type: TABLE; Schema: geopaysages; Owner: oppvuser; Tablespace:
-- Name: t_serie; Type: TABLE; Schema: geopaysages; Tablespace:
--


Expand All @@ -131,19 +123,12 @@ CREATE TABLE t_site (
);


ALTER TABLE geopaysages.t_site OWNER TO oppvuser;

CREATE TABLE conf (
key character varying,
value character varying
);


ALTER TABLE geopaysages.conf OWNER TO oppvuser;




INSERT INTO geopaysages.conf (key, value) VALUES ('external_links', '[{
"label": "Site du Parc national de Vanoise",
"url": "http://www.vanoise-parcnational.fr"
Expand All @@ -163,15 +148,14 @@ INSERT INTO geopaysages.conf (key, value) VALUES ('zoom_map', '18');
--
-- TOC entry 3814 (class 0 OID 21076)
-- Dependencies: 254
-- Data for Name: communes; Type: TABLE DATA; Schema: geopaysages; Owner: oppvuser
-- Data for Name: communes; Type: TABLE DATA; Schema: geopaysages;
--
CREATE TABLE communes (
code_commune character varying PRIMARY KEY,
nom_commune character varying
);


ALTER TABLE geopaysages.communes OWNER TO oppvuser;

INSERT INTO geopaysages.communes (code_commune, nom_commune) VALUES ('73023', 'Aussois');
INSERT INTO geopaysages.communes (code_commune, nom_commune) VALUES ('73026', 'Avrieux');
Expand Down Expand Up @@ -206,41 +190,41 @@ ALTER TABLE ONLY t_photo

--
-- TOC entry 3142 (class 2606 OID 23981459)
-- Name: t_photo_fk2; Type: FK CONSTRAINT; Schema: geopaysages; Owner: oppvuser
-- Name: t_photo_fk2; Type: FK CONSTRAINT; Schema: geopaysages;
--

ALTER TABLE ONLY t_photo
ADD CONSTRAINT t_photo_fk2 FOREIGN KEY (id_licence_photo) REFERENCES dico_licence_photo(id_licence_photo);

--
-- Name: t_photo_fk3; Type: FK CONSTRAINT; Schema: geopaysages; Owner: oppvuser
-- Name: t_photo_fk3; Type: FK CONSTRAINT; Schema: geopaysages;
--
ALTER TABLE ONLY t_photo
ADD CONSTRAINT t_photo_fk3 FOREIGN KEY (id_role) REFERENCES utilisateurs.t_roles(id_role);

--
-- Name: cor_site_stheme_theme_fk1; Type: FK CONSTRAINT; Schema: geopaysages; Owner: oppvuser
-- Name: cor_site_stheme_theme_fk1; Type: FK CONSTRAINT; Schema: geopaysages;
--

ALTER TABLE ONLY cor_site_stheme_theme
ADD CONSTRAINT cor_site_stheme_theme_fk1 FOREIGN KEY (id_site) REFERENCES t_site(id_site);

--
-- Name: cor_site_stheme_theme_fk2; Type: FK CONSTRAINT; Schema: geopaysages; Owner: oppvuser
-- Name: cor_site_stheme_theme_fk2; Type: FK CONSTRAINT; Schema: geopaysages;
--

ALTER TABLE ONLY cor_site_stheme_theme
ADD CONSTRAINT cor_site_stheme_theme_fk2 FOREIGN KEY (id_stheme_theme) REFERENCES cor_stheme_theme(id_stheme_theme);

--
-- Name: cor_stheme_themee_fk1; Type: FK CONSTRAINT; Schema: geopaysages; Owner: oppvuser
-- Name: cor_stheme_themee_fk1; Type: FK CONSTRAINT; Schema: geopaysages;
--

ALTER TABLE ONLY cor_stheme_theme
ADD CONSTRAINT cor_stheme_theme_fk1 FOREIGN KEY (id_stheme) REFERENCES dico_stheme(id_stheme);

--
-- Name: cor_stheme_theme_fk2; Type: FK CONSTRAINT; Schema: geopaysages; Owner: oppvuser
-- Name: cor_stheme_theme_fk2; Type: FK CONSTRAINT; Schema: geopaysages;
--

ALTER TABLE ONLY cor_stheme_theme
Expand Down
31 changes: 16 additions & 15 deletions install_db.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ function database_exists () {
}

# Suppression du fichier de log d'installation si il existe déjà puis création de ce fichier vide.
rm -f /var/log/install_db.log
touch /var/log/install_db.log
rm -f ./var/log/install_db.log
touch ./var/log/install_db.log

# Si la BDD existe, je verifie le parametre qui indique si je dois la supprimer ou non

Expand All @@ -32,7 +32,7 @@ then
if $drop_apps_db
then
echo "Suppression de la BDD..."
sudo -n -u postgres -s dropdb $db_name &>> /var/log/install_db.log
sudo -n -u postgres -s dropdb $db_name &>> ./var/log/install_db.log
else
echo "La base de données existe et le fichier de settings indique de ne pas la supprimer."
fi
Expand All @@ -43,25 +43,26 @@ if ! database_exists $db_name
then

echo "Création de la BDD..."
sudo -u postgres psql -c "CREATE USER $owner_geopaysages WITH PASSWORD '$owner_geopaysages_pass' " &>> /var/log/install_db.log
sudo -u postgres psql -c "CREATE USER $user_pg WITH PASSWORD '$user_pg_pass' " &>> /var/log/install_db.log
sudo -u postgres psql -c "CREATE USER $owner_geopaysages WITH PASSWORD '$owner_geopaysages_pass' " &>> ./var/log/install_db.log
sudo -u postgres psql -c "CREATE USER $user_pg WITH PASSWORD '$user_pg_pass' " &>> ./var/log/install_db.log
sudo -n -u postgres -s createdb $db_name
sudo -n -u postgres -s psql -c "ALTER DATABASE $db_name OWNER TO $owner_geopaysages ;"
echo "Ajout de postGIS et pgSQL à la base de données"
sudo -n -u postgres -s psql -d $db_name -c "CREATE EXTENSION IF NOT EXISTS postgis;" &>> /var/log/install_db.log
sudo -n -u postgres -s psql -d $db_name -c "CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog; COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';" &>> /var/log/install_db.log
sudo -n -u postgres -s psql -d $db_name -c 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp";' &>> /var/log/install_db.log
sudo -n -u postgres -s psql -d $db_name -c "CREATE EXTENSION IF NOT EXISTS postgis;" &>> ./var/log/install_db.log
sudo -n -u postgres -s psql -d $db_name -c "CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog; COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';" &>> ./var/log/install_db.log
sudo -n -u postgres -s psql -d $db_name -c 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp";' &>> ./var/log/install_db.log

# Création des schémas de la BDD
echo "Création de la structure de la BDD..."
cp install_configuration/oppvdb.sql /tmp/oppvdb.sql
cp install_configuration/userHubDB.sql /tmp/userHubDB.sql
sudo sed -i "s/oppvuser/$user_pg/g" /tmp/oppvdb.sql
echo "" &>> /var/log/install_db.log
echo "" &>> /var/log/install_db.log
echo "--------------------" &>> /var/log/install_db.log
echo "" &>> /var/log/install_db.log
sudo -n -u postgres -s psql -d $db_name -f /tmp/userHubDB.sql &>> /var/log/install_db.log
sudo -n -u postgres -s psql -d $db_name -f /tmp/oppvdb.sql &>> /var/log/install_db.log
echo "" &>> ./var/log/install_db.log
echo "" &>> ./var/log/install_db.log
echo "--------------------" &>> ./var/log/install_db.log
echo "" &>> ./var/log/install_db.log

export PGPASSWORD=$user_pg_pass;psql -h $db_host -U $owner_geopaysages -d $db_name -f /tmp/userHubDB.sql &>> ./var/log/install_db.log
export PGPASSWORD=$user_pg_pass;psql -h $db_host -U $owner_geopaysages -d $db_name -f /tmp/oppvdb.sql &>> ./var/log/install_db.log


fi
9 changes: 2 additions & 7 deletions install_env.sh
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
#!/bin/bash

# Make sure only root can run our script

if [ "$(id -u)" != "0" ]; then
echo "This script must be run as root" 1>&2
exit 1
fi

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install unzip
Expand All @@ -16,5 +9,7 @@ sudo apt-get install python3-venv
sudo systemctl stop apache2
sudo apt-get install nginx supervisor

mkdir -p ./var/log/
sudo mkdir -p /var/log/oppv_vanoise


2 comments on commit e3ad03b

@camillemonchicourt
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Est-ce que ce commit règle les 3 dernières issues relatives à l'installation ?

@HamoudaAmine
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oui

Please sign in to comment.