- Romain PIERRE
- Mathys MONELLO
- Yannis YOASSI PATIPE
- Abdurahman EL CALIFA KANIT BENSAIDI
- Mise en place de la base de données PostgreSQL
- Mise en place de l'application web Apache/PHP/PostgreSQL en local
Cette partie explique comment mettre en place le serveur PostgreSQL et notre base de données. Ce mode d'emploi a été conçue et testé pour Ubuntu.
sudo apt-get install postgresql
sudo -u postgres psql
Une fois connecté au serveur PostgreSQL:
(Penser à remplacer login par le nom d'utilisateur de votre machine et password par votre mot de passe)
CREATE DATABASE covoiturage_du_campus;
CREATE USER login WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE covoiturage_du_campus TO login;
GRANT CREATE ON SCHEMA public TO login;
Sortir de psql avec :
\q
Se reconnecter au serveur PostgreSQL en tant qu'utilisateur avec :
psql covoiturage_du_campus
Attention, cela ne fonctionne que si le login que vous avez défini est le même que celui de l'utilisateur du terminal.
Si vous avez enregistré un autre login vous pouvez essayer la commande suivante en remplaçant login par celui que vous avez défini. Mais PostgreSQL rencontrera surement un problème de droit d'accès. Ce n'est donc pas recommandé et il est préférable de recréer un utilisateur dans PostgreSQL avec le même login que l'utilisateur machine.
sudo -u login psql covoiturage_du_campus
Pour exécuter un script sql :
\i script.sql
Nos scripts sont les suivants :
- create.sql crée la base (tables + contraintes + triggers + ...).
- insert.sql peuple la base avec les éléments nécessaires pour la tester.
- select.sql contient les requêtes de consultations et de statistiques utilisées dans le projet.
- update.sql contient les requêtes de mise à jour.
- drop.sql permet de supprimer la base.
Exécuter create.sql (et insert.sql optionnellement pour déjà avoir des données).
Cette partie explique comment mettre en place le serveur web Apache et PHP afin de le relier à notre base de données. Ce mode d'emploi a été conçue et testé pour Ubuntu. L'installation du serveur local est utile à des fins de développement.
Dans le répertoire sql, copier le fichier connect_pg_example.php en connect_pg.php et remplacer "login" et "password" par ceux définis dans la partie précedente.
cp src/connect_pg_example.php src/connect_pg.php
nano src/connect_pg.php
sudo apt install apache2 apache2-utils
sudo apt install php php-pgsql libapache2-mod-php
Ajouter la ligne suivante dans le fichier /etc/hosts :
(Se mettre en sudo pour enregistrer la modification)
127.0.0.1 covoiturage_du_campus
Dans /etc/apache2/sites-available/, créer le fichier covoiturage_du_campus.conf et y écrire dedans :
<VirtualHost *:80>
ServerName covoiturage_du_campus
DocumentRoot /var/www/covoiturage_du_campus
</VirtualHost>
Puis dans le terminal créer le dossier du site :
sudo mkdir /var/www/covoiturage_du_campus
sudo a2ensite covoiturage_du_campus
sudo systemctl reload apache2
Pour pousser les fichiers du répertoire src vers le serveur local (i.e. /var/www/covoiturage_du_campus), exécuter le script push_server.sh. Cela permet également de rapidement visualiser les modifications lors du développement.
chmod 755 push_server.sh
./push_server.sh