diff options
author | polo-pc-greta <ordipolo@gmx.fr> | 2025-04-09 13:32:47 +0200 |
---|---|---|
committer | polo-pc-greta <ordipolo@gmx.fr> | 2025-04-09 13:32:47 +0200 |
commit | 73d49e47fe1f74a65c3f39a293b0f9fab5bfdbd0 (patch) | |
tree | aa602f8e4296f00c8d3723b8546baca5f70cfafb /deploiement.txt | |
parent | 1937a2f49ebe920b79604cb5df3649f9f1dff738 (diff) | |
download | cms-73d49e47fe1f74a65c3f39a293b0f9fab5bfdbd0.zip |
simplification de l'après création d'une news, MAJ Config et fichier deploiement.txt
Diffstat (limited to 'deploiement.txt')
-rw-r--r-- | deploiement.txt | 88 |
1 files changed, 57 insertions, 31 deletions
diff --git a/deploiement.txt b/deploiement.txt index 5346145..9a83fd2 100644 --- a/deploiement.txt +++ b/deploiement.txt | |||
@@ -1,58 +1,84 @@ | |||
1 | déploiement | 1 | déploiement |
2 | 2 | ||
3 | => procédure pour un hébergement "normal" avec un accès SSH, | ||
4 | ne marche pas sans la formule pro d'OVH | ||
5 | - peu de manips (le renommage) peuvent être faites avec filezilla | ||
6 | - pour le reste il faut contourner avec des scripts PHP faisant des exec() | ||
7 | 3 | ||
8 | => pour utiliser PHP-cli il faut utiliser le chemin de PHP /usr/local/php8.3/bin | 4 | => procédure spécifique sur un hébergement "normal" avec un accès SSH. |
5 | => avec un hébergement non-pro d'OVH, SSH n'est pas disponible, par contre il y a un phpmyadmin, | ||
6 | pour le reste il faut contourner avec des scripts PHP faisant des exec() | ||
7 | |||
8 | => pour utiliser PHP-cli il faut utiliser le chemin de PHP, quelque chose comme /usr/local/php8.4/bin/ | ||
9 | ou l'ajouter au PATH en éditant .bash_profile (facile avec filezilla): | 9 | ou l'ajouter au PATH en éditant .bash_profile (facile avec filezilla): |
10 | trouver la ligne PATH=$PATH:$HOME/bin | 10 | trouver la ligne PATH=$PATH:$HOME/bin |
11 | et y coller :$HOME/usr/local/php8.3/bin | 11 | et y coller :$HOME/usr/local/php8.4/bin |
12 | 12 | ||
13 | => utiliser PHP-cli depuis un script web: | 13 | => utiliser PHP-cli depuis un script web: |
14 | $param = '-r "echo \'hello world\';"'; | 14 | $param = '-r echo hello world 2>&1'; |
15 | $commande = 'php ' . $param; // OU | 15 | $commande = 'php ' . $param; // OU |
16 | $commande = '/usr/local/php8.3/bin/php ' . $param; | 16 | $commande = '/usr/local/php8.4/bin/php ' . $param; |
17 | $sortie = null; | 17 | $sortie = null; |
18 | $code_retour = null; | 18 | $code_retour = null; |
19 | exec($commande, $sortie, $code_retour); | 19 | exec($commande, $sortie, $code_retour); |
20 | 20 | ||
21 | 21 | ||
22 | => avec SSH | ||
23 | |||
22 | 1/ se connecter au serveur en ssh et télécharger les fichiers: | 24 | 1/ se connecter au serveur en ssh et télécharger les fichiers: |
23 | cd /var/www | 25 | cd dossier_parent_du_site |
24 | git clone git@ordipolo.fr:nageurs | 26 | git clone lien_git |
25 | 27 | ||
26 | 2/ renommer le dossier du site pour apache | 28 | 2/ renommer le dossier du site pour apache |
27 | mv nageurs dossier_du_site | 29 | mv nageurs nom_de_domaine |
30 | |||
31 | 3/ selon l'hébergement, si apache utilise son propre utilisateur (www-data), | ||
32 | changer les permissions parce qu'on veut utiliser composer et la console de doctrine avec cet utilisateur | ||
33 | chown -R www-data:www-data dossier_du_site | ||
28 | 34 | ||
29 | 3/ côté client, envoyer les fichier config.ini et bdd_nageurs.sql en FTP | 35 | on ajoutera ensuite "sudo -u www-data" devant les commandes |
30 | placer config.ini à la racine du site | ||
31 | 36 | ||
32 | retour côté serveur en ssh | 37 | 4/ si nécessaire, trouver PHP-cli! |
38 | placer sur le site un fichier php contenant: | ||
39 | <?php phpinfo(); | ||
33 | 40 | ||
34 | 4/ mieux vaut utiliser composer et la console doctrine sans être root, | 41 | un fichier de config devrait être trouvé, du genre: |
35 | changer les permissions: | 42 | /usr/local/php8.4/etc/php.ini |
36 | chown -R www-data www-data dossier_du_site | 43 | |
44 | l'exécutable est donc (à vérifier dans filezilla): | ||
45 | /usr/local/php8.4/bin/php | ||
46 | |||
47 | optionnel: l'ajouter au PATH en éditant .bash_profile (facile avec filezilla): | ||
48 | trouver la ligne PATH=$PATH:$HOME/bin | ||
49 | et y coller :$HOME/usr/local/php8.4/bin | ||
37 | 50 | ||
38 | 5/ télécharger les dépendances PHP (dont doctrine) en lisant le composer.json: | 51 | 5/ installer composer, si n'y est pas: |
39 | sudo -u www-data php composer.phar update | 52 | php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" |
53 | php composer-setup.php | ||
40 | 54 | ||
41 | 6/ générer l'autoloader | 55 | on appelera donc composer en faisant: php composer.phar |
42 | composer dump-autoload -o | ||
43 | 56 | ||
44 | 7/ se connecter à la BDD et créer la base: | 57 | 6/ installer les dépendances |
58 | sudo -u www-data php composer.phar install | ||
59 | |||
60 | cette commande exécute du PHP écrit dans composer.json qui réalise la copie de fichiers dans /vendor vers /public/js | ||
61 | si une erreur se présente, il doit y avoir un problème de permission avec /public/js/tinymce et /public/js/tinymce-langs | ||
62 | |||
63 | 7/ générer l'autoloader | ||
64 | php composer.phar dump-autoload -o | ||
65 | |||
66 | 8/ se connecter à la BDD et créer la base: | ||
45 | mysql/mariadb -u root -p | 67 | mysql/mariadb -u root -p |
46 | CREATE DATABASES nageurs CHARACTER SET utf8mb4; | 68 | CREATE DATABASE nageurs CHARACTER SET utf8mb4; |
47 | l'utilisateur doit avoir les droits SELECT, INSERT, UPDATE, DELETE, CREATE, DROP et ALTER | 69 | |
70 | 9/ droits de l'utilisateur sur la base de données | ||
71 | l'utilisateur de la BDD doit avoir les droits SELECT, INSERT, UPDATE, DELETE, CREATE, DROP et ALTER | ||
72 | |||
73 | 10/ avec FTP, envoyer le fichier config.ini et le placer dans /config | ||
74 | ce fichier contient les codes de la BDD | ||
48 | 75 | ||
49 | 8/ créer les tables: | 76 | 11/ créer les tables avec composer: |
50 | sudo -u www-data php bin/doctrine orm:schema-tool:create | 77 | sudo -u www-data php bin/doctrine orm:schema-tool:create |
51 | et remplir la base de données: | ||
52 | mariadb -D nageurs -u root -p < bdd_nageurs.sql | ||
53 | 78 | ||
54 | 9/ le 1er chargement d'une page est long, | 79 | 12/ éventuellement: remplir la base de données: |
55 | le cache de symfony inclu fait ensuite son job | 80 | => phpmyadmin ou ligne de commande |
81 | mariadb -D nageurs -u utilisateur_mysql -p < bdd_nageurs.sql | ||
56 | 82 | ||
57 | sinon, regarder ici: | 83 | 13/ associer le domaine au dossier du site dans l'espace client de l'hébergeur |
58 | https://www.doctrine-project.org/projects/doctrine-orm/en/3.3/reference/caching.html | 84 | par sécurité, choisir comme racine le dossier /public du site et non la vraie racine! |