« Wp » : différence entre les versions
| (5 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 34 : | Ligne 34 : | ||
apk add mysql mariadb mariadb-server-utils mariadb-client | apk add mysql mariadb mariadb-server-utils mariadb-client | ||
apk add php83-pdo_mysql php83-mbstring | apk add php83-pdo_mysql php83-mbstring | ||
(voir plus tard s'il faut mysqli ou mysqlnd) | ''(voir plus tard s'il faut mysqli ou mysqlnd)'' | ||
Initialisation de mariadb | Initialisation de mariadb | ||
/etc/init.d/mariadb setup | |||
(peuple /var/lib/mysql) | (peuple /var/lib/mysql) | ||
rc-service mariadb start | |||
=> ok | => ok | ||
mysql | |||
=> on entre dans mysql -> Ok | => on entre dans mysql -> Ok | ||
== installation de phpmyadmin == | == installation de phpmyadmin == | ||
apk add phpmyadmin | |||
-> Installe de nombreux packages et librairies (php83-{mysqli,bz2,ctype,curl,gd,session,zip,xmlwriter,iconv}) | -> Installe de nombreux packages et librairies (php83-{mysqli,bz2,ctype,curl,gd,session,zip,xmlwriter,iconv}) | ||
(lib{xau,md,bsd,xdmcp,xcb,x11,xext,ice,bsm,xt,xpm,dav1d,jpeg,yuv,avif,png,shrpyuv,webp,zip} aom-libs,freetype) | (lib{xau,md,bsd,xdmcp,xcb,x11,xext,ice,bsm,xt,xpm,dav1d,jpeg,yuv,avif,png,shrpyuv,webp,zip} aom-libs,freetype) | ||
| Ligne 62 : | Ligne 62 : | ||
3) Restart apache2 when done. | 3) Restart apache2 when done. | ||
rc-service apache2 restart | |||
-> phpmyadmin accessible à wp.lesitadom.fr/phpmyadmin | -> phpmyadmin accessible à wp.lesitadom.fr/phpmyadmin | ||
Conteneur mariadb | '''Conteneur mariadb'''<br> | ||
# mysql | Création d'un utilisateur pour phpmyadmin : | ||
# mysql<br> | |||
CREATE USER 'login_util'@'%' IDENTIFIED BY 'pass_util'; | CREATE USER 'login_util'@'%' IDENTIFIED BY 'pass_util'; | ||
GRANT ALL PRIVILEGES ON *.* TO 'login_util'@'%' WITH GRANT OPTION; | GRANT ALL PRIVILEGES ON *.* TO 'login_util'@'%' WITH GRANT OPTION; | ||
FLUSH PRIVILEGES; | FLUSH PRIVILEGES; | ||
(Ctrl-d pour sortir) | ''(Ctrl-d pour sortir)'' | ||
Pour l'accès avec mot de passe : | Pour l'accès avec mot de passe : | ||
stopper les services mariadb et apache2 : | stopper les services mariadb et apache2 : | ||
rc-service mariadb stop | |||
rc-service apache2 stop | |||
Dans /etc/my.cnf.d/maria_db_server.cnf, sous [mysqld], ajouter : | Dans /etc/my.cnf.d/maria_db_server.cnf, sous [mysqld], ajouter : | ||
skip-grant-tables | skip-grant-tables | ||
| Ligne 83 : | Ligne 85 : | ||
Récupération d'un fichier de conf de phpmyadmin qui fonctionne sur le net (modif de l'utilisateur et du mdp) | Récupération d'un fichier de conf de phpmyadmin qui fonctionne sur le net (modif de l'utilisateur et du mdp) | ||
Lancement de l'installation de mariadb avec les paramètres par défaut (y à toutes les questions...) | |||
Redémarrage du conteneur -> phpmyadmin fonctionne avec les droits qui vont bien | Redémarrage du conteneur -> phpmyadmin fonctionne avec les droits qui vont bien | ||
==Installation de wordpress== | |||
téléchargement de wordpres-...zip -> tmp du raspberry | téléchargement de wordpres-...zip -> tmp du raspberry | ||
lxc file push /tmp/wordpress-6.7.2-fr_FR.zip wp/tmp/ | |||
Dans le conteneur : | Dans le conteneur : | ||
unzip /tmp/wordpress-6.7.2-fr_FR.zip -d /var/www/localhost/htdocs/ | |||
Déplacer le contenu à la racine : | Déplacer le contenu à la racine : | ||
mv /var/www/localhost/htdocs/wordpress/* /var/www/localhost/htdocs/ | |||
Création de la bdd wordpress (wp_perso2025) par phpmyadmin avec utilisateur wp-dd2025 et mdp 1_mdppuwp! | Création de la bdd wordpress (wp_perso2025) par phpmyadmin avec utilisateur wp-dd2025 et mdp 1_mdppuwp! | ||
| Ligne 104 : | Ligne 106 : | ||
Voir s'il est possible d'installer mariadb et phpmyadmin sur des conteneur distincts... | Voir s'il est possible d'installer mariadb et phpmyadmin sur des conteneur distincts... | ||
=Installation de '''wordpress''' - '''mariadb''' et '''phpmyadmin''' sur trois conteneurs séparés ''alipneLe''= | |||
==Mariadb== | |||
Création du conteneur maria + maj | Création du conteneur maria + maj | ||
Installation de mariadb | Installation de mariadb | ||
apk add (mysql) mariadb mariadb-server-utils mariadb-client | |||
apk add php83-pdo_mysql php83-mbstring | |||
Initialisation de mariadb (peuple /var/lib/mysql) | Initialisation de mariadb (peuple /var/lib/mysql) | ||
/etc/init.d/mariadb setup | |||
Démarrer le service | Démarrer le service | ||
rc-service mariadb start | |||
Sécuriser la base de donnée | Sécuriser la base de donnée | ||
mysql_secure_installation (vide/n/n/Y/Y/Y/Y) | |||
on peut entrer dans mysql (idem mariadb) | on peut entrer dans mysql (idem mariadb) | ||
===Notes obsolètes=== | |||
Ajout d'apache, php et phpmyadmin | Ajout d'apache, php et phpmyadmin | ||
apk add apache2 apache2-ctl php83 php83-apache2 php83-mbstring phpmyadmin | |||
Copie du fichier de conf dans etc/phpmyadmin/ | Copie du fichier de conf dans etc/phpmyadmin/ | ||
| Ligne 143 : | Ligne 138 : | ||
phpmyadmin affiche une erreur d'accès à /usr/share/webapps/phpmyadmin/tmp : le dossier n'existe pas : création. | phpmyadmin affiche une erreur d'accès à /usr/share/webapps/phpmyadmin/tmp : le dossier n'existe pas : création. | ||
chown apache:apache /usr/share/webapps/phpmyadmin/tmp | |||
-> problème réglé | -> problème réglé | ||
| Ligne 151 : | Ligne 146 : | ||
// A string of 32 characters. | // A string of 32 characters. | ||
$cfg['blowfish_secret'] = 'JOFw435365IScA&Q!cDugr!lSfuAz*OW'; | $cfg['blowfish_secret'] = 'JOFw435365IScA&Q!cDugr!lSfuAz*OW'; | ||
88a7da62429ba6ad3cb3c76a09641fca | 88a7da62429ba6ad3cb3c76a09641fca<br> | ||
Modification du fichier /etc/phpmyadmin/config.php en conséquence. | Modification du fichier /etc/phpmyadmin/config.php en conséquence. | ||
| Ligne 159 : | Ligne 155 : | ||
Au final, il faut commenter la ligne 'skip-networking' et ça fonctionne (voir si la ligne 'innodb_force_recovery=1' a une utilité...). Trouvé à l'adresse "https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/". À retester sur une machine propre. | Au final, il faut commenter la ligne 'skip-networking' et ça fonctionne (voir si la ligne 'innodb_force_recovery=1' a une utilité...). Trouvé à l'adresse "https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/". À retester sur une machine propre. | ||
==phpmyadmin== | |||
Création du conteneur phpmyadmin et Maj | |||
Création du conteneur phpmyadmin | |||
Maj | |||
Installation du serveur web : apache2 | Installation du serveur web : apache2 | ||
apk add apache2 php83 php83-apache2 php83-mbstring | |||
rc-service apache2 start | |||
Installation de phpmyadmin | Installation de phpmyadmin | ||
apk add phpmyadmin | |||
phpmyadmin has been installed to: | |||
/usr/share/webapps/phpmyadmin | |||
phpmyadmin config file has been installed to: | |||
/etc/phpmyadmin/config.inc.php | |||
If you use apache2: | |||
1) Change the ownership of the config directory: | |||
chown -R apache:apache /etc/phpmyadmin | |||
2) See if you need to modify the apache2 config: | |||
/etc/apache2/conf.d/phpmyadmin.conf | |||
3) Restart apache2 when done. | |||
''(Ajout de phpmyadmin.lesitadom.fr au fichier hosts de l'hôte)'' | |||
* conteneur phpmyadmin | Modification du fichier de conf dans le '''conteneur proxy''' : | ||
server { | |||
* conteneur phpmyadmin | |||
server { | |||
listen 80 proxy_protocol; | listen 80 proxy_protocol; | ||
listen [::]:80 proxy_protocol; | listen [::]:80 proxy_protocol; | ||
server_name phpmyadmin.lesitadom.fr; | server_name phpmyadmin.lesitadom.fr; | ||
location / { | location / { | ||
include /etc/nginx/proxy_params; | include /etc/nginx/proxy_params; | ||
proxy_pass http://phpmyadmin.lxd; | proxy_pass http://phpmyadmin.lxd; | ||
} | } | ||
real_ip_header proxy_protocol; | real_ip_header proxy_protocol; | ||
set_real_ip_from 127.0.0.1; | set_real_ip_from 127.0.0.1; | ||
} | } | ||
Redémarrer le service nginx : | Redémarrer le service nginx : | ||
systemctl restart nginx | |||
Copie du fichier de conf téléchargé dans le dossier /etc/phpmyadmin | |||
Modification du fichier /var/www/localhost/htdocs/index.html -> index.php | |||
<?php phpinfo(); ?><br> | |||
Démarrage du service apache2 : | Démarrage du service apache2 : | ||
rc-service apache2 start | |||
-> la page d'info s'affiche | -> la page d'info s'affiche | ||
-> la page d'accueil de phpmyadmin s'affiche, mais pas de connexion à la base... | -> la page d'accueil de phpmyadmin s'affiche, mais pas de connexion à la base... | ||
Dans le '''conteneur maria''' : | |||
Dans le conteneur maria : | |||
Création d'un utilisateur pour phpmyadmin : | Création d'un utilisateur pour phpmyadmin : | ||
# mysql | # mysql | ||
CREATE USER 'login_util'@'%' IDENTIFIED BY 'pass_util'; | CREATE USER 'login_util'@'%' IDENTIFIED BY 'pass_util'; | ||
GRANT ALL PRIVILEGES ON *.* TO 'login_util'@'%' WITH GRANT OPTION; | GRANT ALL PRIVILEGES ON *.* TO 'login_util'@'%' WITH GRANT OPTION; | ||
FLUSH PRIVILEGES; | FLUSH PRIVILEGES; | ||
(Ctrl-d pour sortir) | ''(Ctrl-d pour sortir)'' | ||
===Notes obsolètes=== | |||
Pour tester les configurations successives, installation de mysql ne plus : | Pour tester les configurations successives, installation de mysql ne plus : | ||
# apk add... (cf plus haut...) | # apk add... (cf plus haut...) | ||
| Ligne 236 : | Ligne 224 : | ||
phpmyadmin:~# /etc/init.d/mariadb setup | phpmyadmin:~# /etc/init.d/mariadb setup | ||
* Creating a new MySQL database ... | * Creating a new MySQL database ... | ||
/usr/bin/mysql_install_db: Deprecated program name. It will be removed in a future release, use 'mariadb-install-db' instead | /usr/bin/mysql_install_db: Deprecated program name. It will be removed in a future release, use 'mariadb-install-db' instead | ||
Installing MariaDB/MySQL system tables in '/var/lib/mysql' ... | Installing MariaDB/MySQL system tables in '/var/lib/mysql' ... | ||
OK | OK | ||
To start mariadbd at boot time you have to copy | To start mariadbd at boot time you have to copy | ||
support-files/mariadb.service to the right place for your system | support-files/mariadb.service to the right place for your system | ||
Two all-privilege accounts were created. | |||
Two all-privilege accounts were created. | One is root@localhost, it has no password, but you need to be system 'root' user to connect. Use, for example, sudo mysql | ||
One is root@localhost, it has no password, but you need to | The second is mysql@localhost, it has no password either, but you need to be the system 'mysql' user to connect. | ||
be system 'root' user to connect. Use, for example, sudo mysql | After connecting you can set the password, if you would need to be able to connect as any of these users with a password and without sudo | ||
The second is mysql@localhost, it has no password either, but | |||
you need to be the system 'mysql' user to connect. | See the MariaDB Knowledgebase at https://mariadb.com/kb | ||
After connecting you can set the password, if you would need to be | |||
able to connect as any of these users with a password and without sudo | You can start the MariaDB daemon with: | ||
cd '/usr' ; /usr/bin/mariadbd-safe --datadir='/var/lib/mysql' | |||
See the MariaDB Knowledgebase at https://mariadb.com/kb | |||
You can test the MariaDB daemon with mariadb-test-run.pl | |||
You can start the MariaDB daemon with: | cd '/usr/mariadb-test' ; perl mariadb-test-run.pl | ||
cd '/usr' ; /usr/bin/mariadbd-safe --datadir='/var/lib/mysql' | |||
Please report any problems at https://mariadb.org/jira | |||
You can test the MariaDB daemon with mariadb-test-run.pl | |||
cd '/usr/mariadb-test' ; perl mariadb-test-run.pl | The latest information about MariaDB is available at https://mariadb.org/. | ||
Please report any problems at https://mariadb.org/jira | Consider joining MariaDB's strong and vibrant community: https://mariadb.org/get-involved/ | ||
The latest information about MariaDB is available at https://mariadb.org/. | |||
Consider joining MariaDB's strong and vibrant community: | |||
https://mariadb.org/get-involved/ | |||
... ne connaît toujours pas 'mysql' | ... ne connaît toujours pas 'mysql' | ||
apk add mariadb-server-utils mariadb-client | |||
-> reconnaît la commande, mais le serveur refuse la connexion... | -> reconnaît la commande, mais le serveur refuse la connexion... | ||
Abandon : comme phpmyadmin nécessite un serveur web, installation des trois dans le même conteneur : apache - php -maria | '''Abandon :''' comme phpmyadmin nécessite un serveur web, installation des trois dans le même conteneur : apache - php -maria | ||
==Wordpress== | |||
# Création du conteneur wp + maj | |||
# Installation d'apache et php | |||
apk add apache2 php php83-apache2 apache2-ctl(pour lister les modules) php83-mysqli (sinon ça râle...) | |||
À l'usage, le module H5P réclame la présence et l'activation de mbstring : ajout de php83-mbstring/ | |||
Modification de la page d'afichage par défaut : /var/www/localhost/htdocs/index.html -> index.php | Modification de la page d'afichage par défaut : /var/www/localhost/htdocs/index.html -> index.php | ||
Dernière version du 9 juillet 2025 à 08:26
Wordpress sur alpine léger
(ajout wp.lesitadom dans /etc/hosts)
Création du conteneur :
lxc launch local:alpineLe wp lxc exec wp apk update lxc exec wp apk update
(ça marche ;))
Serveur web : apache2 - php83 - mariadb
cf notes apache2 php sur alpine léger - modif : php84 à la place de php83
ne fonctionne pas... mauvaise version de php ? Ok avec php83 => on recommence...
Ok !
À l'usage, H5P nécessite mbstring et zip : Ajout de php83-mbstring et php83-zip (relance d'apache 2) Lors du téléchargement d'exercices (3.1 Mio), Nginx envoie l'erreur 413 : Corriger proxy.conf en ajoutant la ligne
client_max_body_size 200M; (par défaut à 1Mio)
Relancer nginx.
Il faut également augmenter les valeurs : (dans /etc/php83/php.ini)
upload_max_filesize = 256M post_max_size = 256M max_execution_time = 300
(relancer apache2)
Mariadb
(d'après mes notes instal serveur + PMB)
apk add mysql mariadb mariadb-server-utils mariadb-client apk add php83-pdo_mysql php83-mbstring
(voir plus tard s'il faut mysqli ou mysqlnd)
Initialisation de mariadb
/etc/init.d/mariadb setup
(peuple /var/lib/mysql)
rc-service mariadb start
=> ok
mysql
=> on entre dans mysql -> Ok
installation de phpmyadmin
apk add phpmyadmin
-> Installe de nombreux packages et librairies (php83-{mysqli,bz2,ctype,curl,gd,session,zip,xmlwriter,iconv}) (lib{xau,md,bsd,xdmcp,xcb,x11,xext,ice,bsm,xt,xpm,dav1d,jpeg,yuv,avif,png,shrpyuv,webp,zip} aom-libs,freetype)
phpmyadmin has been installed to:
/usr/share/webapps/phpmyadmin
phpmyadmin config file has been installed to:
/etc/phpmyadmin/config.inc.php
If you use apache2:
1) Change the ownership of the config directory:
chown -R apache:apache /etc/phpmyadmin
2) See if you need to modify the apache2 config:
/etc/apache2/conf.d/phpmyadmin.conf
3) Restart apache2 when done.
rc-service apache2 restart
-> phpmyadmin accessible à wp.lesitadom.fr/phpmyadmin
Conteneur mariadb
Création d'un utilisateur pour phpmyadmin :
# mysql
CREATE USER 'login_util'@'%' IDENTIFIED BY 'pass_util'; GRANT ALL PRIVILEGES ON *.* TO 'login_util'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
(Ctrl-d pour sortir)
Pour l'accès avec mot de passe : stopper les services mariadb et apache2 :
rc-service mariadb stop rc-service apache2 stop
Dans /etc/my.cnf.d/maria_db_server.cnf, sous [mysqld], ajouter :
skip-grant-tables
Relancer les services et ça fonctionne ! ...pas tout à fait... la configuration de phpmyadmin n'est pas terminée... Cf message au bas
Récupération d'un fichier de conf de phpmyadmin qui fonctionne sur le net (modif de l'utilisateur et du mdp)
Lancement de l'installation de mariadb avec les paramètres par défaut (y à toutes les questions...)
Redémarrage du conteneur -> phpmyadmin fonctionne avec les droits qui vont bien
Installation de wordpress
téléchargement de wordpres-...zip -> tmp du raspberry
lxc file push /tmp/wordpress-6.7.2-fr_FR.zip wp/tmp/
Dans le conteneur :
unzip /tmp/wordpress-6.7.2-fr_FR.zip -d /var/www/localhost/htdocs/
Déplacer le contenu à la racine :
mv /var/www/localhost/htdocs/wordpress/* /var/www/localhost/htdocs/
Création de la bdd wordpress (wp_perso2025) par phpmyadmin avec utilisateur wp-dd2025 et mdp 1_mdppuwp!
Connection à wp dans le navigateur à l'adresse du serveur : wp.lesitadom.fr -> configuration
Tout fonctionne !
Voir s'il est possible d'installer mariadb et phpmyadmin sur des conteneur distincts...
Installation de wordpress - mariadb et phpmyadmin sur trois conteneurs séparés alipneLe
Mariadb
Création du conteneur maria + maj Installation de mariadb
apk add (mysql) mariadb mariadb-server-utils mariadb-client apk add php83-pdo_mysql php83-mbstring
Initialisation de mariadb (peuple /var/lib/mysql)
/etc/init.d/mariadb setup
Démarrer le service
rc-service mariadb start
Sécuriser la base de donnée
mysql_secure_installation (vide/n/n/Y/Y/Y/Y)
on peut entrer dans mysql (idem mariadb)
Notes obsolètes
Ajout d'apache, php et phpmyadmin
apk add apache2 apache2-ctl php83 php83-apache2 php83-mbstring phpmyadmin
Copie du fichier de conf dans etc/phpmyadmin/ Modif du fichier /var/www/localhost/htdocs/index.html -> index.php Ajout de la redirection dans le conteneur proxy Ajout de la redirection dans le fichier host du bureau
À la première connection, phpmyadmin est en erreur : la base n'est pas encore crée. Cliquer...
phpmyadmin affiche une erreur d'accès à /usr/share/webapps/phpmyadmin/tmp : le dossier n'existe pas : création.
chown apache:apache /usr/share/webapps/phpmyadmin/tmp
-> problème réglé
phpmyadmin affiche une erreur concernant les cookies (pas de clé valide) D'après la documentation :
// A string of 32 characters.
$cfg['blowfish_secret'] = 'JOFw435365IScA&Q!cDugr!lSfuAz*OW';
88a7da62429ba6ad3cb3c76a09641fca
Modification du fichier /etc/phpmyadmin/config.php en conséquence.
-> marche pas
Tentative de connexion à mariadb depuis le conteneur wiki... ne fonctionne pas. Plusieurs tentatives en agissant sur les paramètres côté client (règles firewall, ouverture de ports) ou du côté serveur (utilisateur, adresse bind, paramètres my.cnf et maria....cnf). Au final, il faut commenter la ligne 'skip-networking' et ça fonctionne (voir si la ligne 'innodb_force_recovery=1' a une utilité...). Trouvé à l'adresse "https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/". À retester sur une machine propre.
phpmyadmin
Création du conteneur phpmyadmin et Maj
Installation du serveur web : apache2
apk add apache2 php83 php83-apache2 php83-mbstring rc-service apache2 start
Installation de phpmyadmin
apk add phpmyadmin
phpmyadmin has been installed to:
/usr/share/webapps/phpmyadmin
phpmyadmin config file has been installed to:
/etc/phpmyadmin/config.inc.php
If you use apache2:
1) Change the ownership of the config directory:
chown -R apache:apache /etc/phpmyadmin
2) See if you need to modify the apache2 config:
/etc/apache2/conf.d/phpmyadmin.conf
3) Restart apache2 when done.
(Ajout de phpmyadmin.lesitadom.fr au fichier hosts de l'hôte)
Modification du fichier de conf dans le conteneur proxy :
* conteneur phpmyadmin
server {
listen 80 proxy_protocol;
listen [::]:80 proxy_protocol;
server_name phpmyadmin.lesitadom.fr;
location / {
include /etc/nginx/proxy_params;
proxy_pass http://phpmyadmin.lxd;
}
real_ip_header proxy_protocol;
set_real_ip_from 127.0.0.1;
}
Redémarrer le service nginx :
systemctl restart nginx
Copie du fichier de conf téléchargé dans le dossier /etc/phpmyadmin
Modification du fichier /var/www/localhost/htdocs/index.html -> index.php
<?php phpinfo(); ?>
Démarrage du service apache2 :
rc-service apache2 start
-> la page d'info s'affiche -> la page d'accueil de phpmyadmin s'affiche, mais pas de connexion à la base...
Dans le conteneur maria :
Création d'un utilisateur pour phpmyadmin :
# mysql CREATE USER 'login_util'@'%' IDENTIFIED BY 'pass_util'; GRANT ALL PRIVILEGES ON *.* TO 'login_util'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
(Ctrl-d pour sortir)
Notes obsolètes
Pour tester les configurations successives, installation de mysql ne plus :
- apk add... (cf plus haut...)
phpmyadmin:~# /etc/init.d/mariadb setup
* Creating a new MySQL database ... /usr/bin/mysql_install_db: Deprecated program name. It will be removed in a future release, use 'mariadb-install-db' instead Installing MariaDB/MySQL system tables in '/var/lib/mysql' ... OK To start mariadbd at boot time you have to copy support-files/mariadb.service to the right place for your system Two all-privilege accounts were created. One is root@localhost, it has no password, but you need to be system 'root' user to connect. Use, for example, sudo mysql The second is mysql@localhost, it has no password either, but you need to be the system 'mysql' user to connect. After connecting you can set the password, if you would need to be able to connect as any of these users with a password and without sudo See the MariaDB Knowledgebase at https://mariadb.com/kb You can start the MariaDB daemon with: cd '/usr' ; /usr/bin/mariadbd-safe --datadir='/var/lib/mysql' You can test the MariaDB daemon with mariadb-test-run.pl cd '/usr/mariadb-test' ; perl mariadb-test-run.pl Please report any problems at https://mariadb.org/jira The latest information about MariaDB is available at https://mariadb.org/. Consider joining MariaDB's strong and vibrant community: https://mariadb.org/get-involved/
... ne connaît toujours pas 'mysql'
apk add mariadb-server-utils mariadb-client
-> reconnaît la commande, mais le serveur refuse la connexion...
Abandon : comme phpmyadmin nécessite un serveur web, installation des trois dans le même conteneur : apache - php -maria
Wordpress
- Création du conteneur wp + maj
- Installation d'apache et php
apk add apache2 php php83-apache2 apache2-ctl(pour lister les modules) php83-mysqli (sinon ça râle...)
À l'usage, le module H5P réclame la présence et l'activation de mbstring : ajout de php83-mbstring/
Modification de la page d'afichage par défaut : /var/www/localhost/htdocs/index.html -> index.php Modification du fichier proxy.conf dans le conteneur proxy : (/etc/nginx/sites-available/proxy.conf) proxy_pass http://wp.lxd; Redémarrer le service systemctl restart nginx
Dans le conteneur wp, démarrer apache2 rc-service apache2 start
La page s'affiche dans le navigateur...
Création du fichier /etc/apache2/conf.d/remoteip.conf avec
RemoteIPHeader X-Real-IP RemoteIPTrustedProxy proxy.lxd (nom du conteneur nginx, plus correct dans la configuration conteneurs)
modification de /etc/apache2/httpd.conf décommenter : LoadModule remoteip_module modules/mod_remoteip.so LoadModule rewrite_module modules/mod_rewrite.so
Ajouter apache2 au démarrage
- rc-update add apache2
relancer les services apache2
- rc-service apache2 restart
- (en cas d'erreur Bad Getaway, redémarrer le proxy) ************
Télécharger la dernière version de wp et la copier dans le dossier /tmp du conteneur
- lxc file push /tmp/wp/wordpress-6.7.2-fr_FR.zip wiki/tmp
- lxc shell wiki
- unzip /tmp/wordpress-..._FR.zip -d /var/ww/localhost/htdocs/
Comme on ne mettra pas d'autre appli, on déplace le fourbi à la racine
- cd /var/www/localhost/htdocs
/var/www/localhost/htdocs# mv index.php index.php.sav /var/www/localhost/htdocs# mv wordpress/* ./ /var/www/localhost/htdocs# rm -R wordpress
Créer un utilisateur et une base de donnée pour wordpress dans le conteneur mariadb.lxd (phpmyadmin)
Se connecter au site avec le navigateur
utilisateur domiwp_68/1_mdppdomiwp_68! || wordpress || mariadb.lxd
!!!! En cas d'installation de php83-mysqlnd, le processus échoue (Typed property mysqli::$connect_errno must not be accessed before initialization) !!!
Le bordel n'arrive pas à utiliser ssl... et plante : tourne en boucle sur la page de connection
tentative de lien dans le dossier /var/www/localhost/htdocs/wp-includes/certificates/ de wp /etc/letsencrypt/live/lesitadom.fr/fullchain.pem
- ln -s proxy.lxd/etc/letsencrypt/live/lesitadom.fr/fullchain.pem /var/www/localhost/htdocs/wp-includes/certificates/lesitadom.pem
- Ça veut pas. On essaye avec une autre version de WP (6.8) ********************
Marche pas non plus, et en plus, c'est en anglais et pas de choix de langue... Y'a un truc qui merde dès le départ : la mise en page est foireuse...
on recommence avec la version en français (6.8)
Règlage des droits sur apache:www-data (chown -R apache:www-data) Contenu de wordpress à la racine Adresse "lesitadom.fr" (proxy) Suppression des tables des instal précédentes (phpmyadmin)
Affichage touours aussi lamentable, comme si la feuille de style n'était pas prise en compte...
Les tables se créent, mais pau moment de la connexion :
Les informations que vous êtes sur le point de soumettre ne sont pas sécurisées
Et on revient au formulaire
- On n'est pas couchés ! *******************
Recherche sur internet : worpress derrière un proxy inverse :
Dans wp-config.php, ajouter :
if ( (!empty( $_SERVER['HTTP_X_FORWARDED_HOST'])) ||
(!empty( $_SERVER['HTTP_X_FORWARDED_FOR'])) ) {
$_SERVER['HTTPS'] = 'activé';
}
Et put' ça marche !!!!
...plus ! J'ai re-modifié la config du proxy et ça a cassé le bastringue... Le site donnait ça, en plus...
serveur {
listen 443 SSL ;
server_name foo.bar www.foo.bar;
location / {
proxy_pass http://10.0.80.32/;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $hôte ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Hôte $host ;
} certificat_ssl /etc/letsencrypt/live/foo.bar/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/foo.bar/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf ; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
} serveur {
server_name foo.bar www.foo.bar; return 301 https://foo.bar$request_uri ;
}
adresse utilisée lors de l'instal : lesitadom.fr avec réglage du proxy => ok Changement d'adresse => ko Le fourbi doit laisser des traces de l'adresse du site pendant l'instal...
Modifier : table wp-options, siteurl et home
Ok
- erreur "La réponse n’est pas une réponse JSON valide" lors de la modification d'un article ****************************
Modifier apache2 :
<Directory "/var/www/localhost/htdocs"> ...
# # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All <= C'est ici !
... </Directory>
Changer les droits sur .htaccess :
- chmod 644 /var/www/localhost/htdocs/.htaccess
- Installation des outils ***********************
À partir du dossier wordress de l'école téléchargé en guise de sauvegarde...
Thème : nisarg child
Extensions : Installées : - Advanced Accordion Gutenberg Block - advanced-iframe -> problème : voir la config - PDF Viewer Block pour Gutenberg - classic-editor -> installé - voir si activation - The Events Calendar - h5p -> voir plugin Dashboard for Pressbooks and H5P et SNORDIAN's H5P Resize Pulse - ml-slider -> diaporamas - shortcodes-ultimate -> excellent ! - smart-slider-3 -> ! Erreur à l'activation ! création de diaporamas : voir si pas doublon avec ml-slider - tablepress -> créer des tableaux - wp-miniaudioplayer -> pour lire les mp3 - wp-quicklatex -> pour des formules math en latex - wp-statistics -> statistiques de visites
Ignorées : - advanced-iframe-custom -> Voir Advanced Custom Fields - akismet -> Anti-spam - algori-pdf-viewer -> remplacé par PDF Viewer Block pour Gutenberg - antispam-bee - bbpress -> forum de discussion - bp-better-messages -> chat pour buddypress - buddypress -> réseau social - easy-fancybox -> Affichier des images, des vidéos... dans une box. Àvoir... - envole_hooks -> pour envole - eportailwidget -> idem ? - flynsarmy-iframe-shortcode -> non trouvée - google-calendar-events -> remplacée par The Events Calendar - nextend-accordion-menu -> non trouvé. Voir si le plugin gutempberg fait l'affaire - nextgen-gallery -> gallerie d'images. Voir si le plugi installé fair l'affaire - page-links-to -> optimiser les liens : non trouvé, voir si nécessaire - pretty links -> casse pieds - poshwidget -> eole - private-wp -> ? non trouvée - rumbletalk-chat-a-chat-with-themes -> chat - si-contact-form -> formulaire de contact : voir contact form 7 si nécessaire - simple-embed-code -> intégrer du code aux articles : voir code Embed - the-events-calendar -> double emploi avec extension installée - theme-preview -> aide à la conception. Àvoir (Toolkit for Block Theme) - tinymce-advanced -> modifier l'éditeur. Voir si utile - user-role-editor -> régler les autorisations - vc-tabs -> pas trouvée ? - visual-form-builder -> création de formulaire - wpdirauth -> ldap - wp-event-manager -> double emploi - wp-hide-dashboard -> non trouvée... à revoir - wp-polls -> créer des sondages - wp-sentry -> tracer les erruers php et navigation - wp-smushit -> optimisation d'images. voir si utile - wp-user-avatar -> création d'avatars pour les utilisateurs