summaryrefslogtreecommitdiff
path: root/deploiement.txt
blob: 534614520d572c351c95fc0b65cf83fb12724c1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
déploiement

=> procédure pour un hébergement "normal" avec un accès SSH,
ne marche pas sans la formule pro d'OVH
- peu de manips (le renommage) peuvent être faites avec filezilla
- pour le reste il faut contourner avec des scripts PHP faisant des exec()

=> pour utiliser PHP-cli il faut utiliser le chemin de PHP /usr/local/php8.3/bin
ou l'ajouter au PATH en éditant .bash_profile (facile avec filezilla):
trouver la ligne PATH=$PATH:$HOME/bin
et y coller :$HOME/usr/local/php8.3/bin

=> utiliser PHP-cli depuis un script web:
$param = '-r "echo \'hello world\';"';
$commande = 'php ' . $param; // OU
$commande = '/usr/local/php8.3/bin/php ' . $param;
$sortie = null;
$code_retour = null;
exec($commande, $sortie, $code_retour);


1/ se connecter au serveur en ssh et télécharger les fichiers:
cd /var/www
git clone git@ordipolo.fr:nageurs

2/ renommer le dossier du site pour apache
mv nageurs dossier_du_site

3/ côté client, envoyer les fichier config.ini et bdd_nageurs.sql en FTP
placer config.ini à la racine du site

retour côté serveur en ssh

4/ mieux vaut utiliser composer et la console doctrine sans être root,
changer les permissions:
chown -R www-data www-data dossier_du_site

5/ télécharger les dépendances PHP (dont doctrine) en lisant le composer.json:
sudo -u www-data php composer.phar update

6/ générer l'autoloader
composer dump-autoload -o

7/ se connecter à la BDD et créer la base:
mysql/mariadb -u root -p
CREATE DATABASES nageurs CHARACTER SET utf8mb4;
l'utilisateur doit avoir les droits SELECT, INSERT, UPDATE, DELETE, CREATE, DROP et ALTER

8/ créer les tables:
sudo -u www-data php bin/doctrine orm:schema-tool:create
et remplir la base de données:
mariadb -D nageurs -u root -p < bdd_nageurs.sql

9/ le 1er chargement d'une page est long,
le cache de symfony inclu fait ensuite son job

sinon, regarder ici:
https://www.doctrine-project.org/projects/doctrine-orm/en/3.3/reference/caching.html