Proxmox - Container: differenze tra le versioni

Da Webmobili Wiki.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 178: Riga 178:
Meglio non mettere indirizzo IP, ma settarlo solo dal proprio file hosts locale.
Meglio non mettere indirizzo IP, ma settarlo solo dal proprio file hosts locale.
In questo modo se dovesse cambiare ip interno assegnato da Proxmox, basta cambiarlo solo nel proprio file hosts locale.
In questo modo se dovesse cambiare ip interno assegnato da Proxmox, basta cambiarlo solo nel proprio file hosts locale.
Accedere a MySQL sul container
<pre>
mysql -u webmobili -p W3bm0b1l!
Database wordpress_db password bucRd29By9GRY
</pre>


<syntaxhighlight lang="sql">
<syntaxhighlight lang="sql">
show databases;
use wordpress_db;
SELECT option_name, option_value FROM wp_options WHERE option_name in ('siteurl','home');
SELECT option_name, option_value FROM wp_options WHERE option_name in ('siteurl','home');



Versione attuale delle 17:27, 24 nov 2025

Operazioni Preliminari

[modifica]
# aggiungere utente '''designbest'''
 adduser designbest
 adduser designbest www-data
# aggiungere cartella utente e montarla:
mkdir /home/designbest/www
mount --bind /var/www/html/wordpress /home/designbest/www
# rendere il mount persistente in /etc/fstab
/var/www/html/wordpress /home/designbest/www    none    defaults,bind   0       0

Database

[modifica]

Di default la configurazione ha una restrizione per le connessione solo sull'IP locale.
Nel file di configurazione cercare e modificare la riga con bind-address così

bind-address  =  0.0.0.0

Il file di configurazione cambia a seconda della distribuzione.

  • Debian: si trova in /etc/mysql/mariadb.conf.d/50-server.cnf
sudo systemctl restart mariadb.service

Creare un nuovo utente ed assegnarli tutti i privilegi.

sudo mysql -u root

Creare l'utente ( % significa qualsiasi provenienza) ed assegnargli tutti i privilegi a qualsiasi database.
In MariaDB (Debian)

CREATE USER 'webmobili'@'%' IDENTIFIED BY 'W3bm0b1l!';
GRANT ALL PRIVILEGES ON *.* to 'webmobili'@'%';
FLUSH PRIVILEGES;
exit

VS Code XDebug

[modifica]

in cui creare il seguente file senza estensione config con questi dati:

Host wordpress-proxmox
    HostName 10.13.17.125
    User designbest
    Port 22
  • Hostname -> corrisponde all'indirizzo ip del container Proxmox
  • Username -> utente del container per accesso SSH

Connessione SSH al container

[modifica]
  • Aprire il folder appena creato con VS Code.
  • Premere F1
  • Selezionare Remote-SSH: Connect to Host
  • Configure SSH Hosts e inserire nel settings il percorso al file config appena creatoù
  • Premere nuovamente F1
  • Selezionare wordpress-proxmox e poi Linux
  • Si aprirà una nuova finestra VSCode e bisogna inserire la password dell'utente ssh
  • Poi selezionare Open Folder nella sezione a sinistra
  • Selezionare il folder www, dare ok e reimmettere la password.

Configurazione Container per PHP/Wordpress

[modifica]
  • Creare una cartella .vscode nella root.
  • Estensioni da installare:
    • PHP Debug
  • Creare configurazione di debug e aggiungere la voce seguente a "name": "Listen for Xdebug",
"pathMappings": {
    "/var/www/html/wordpress": "${workspaceFolder}"
}
  • Sezione PORTS -> aggiungere solo 9003 e confermare
  • Installare pacchetti da terminale del container:
apt install php-xdebug
apt install php-curl php-xml php-imagick php-gd php-mbstring php-zip php-intl
  • Modificare php.ini in /etc/php/8.2/apache2/:
upload_max_filesize = 128M
post_max_size = 256M
max_execution_time = 900
max_input_vars = 5000
memory_limit = 4096M
max_input_time = 400
  • Modificare config di php-xdebug in etc/php/8.2/apache2/conf.d/20-xdebug.ini:
zend_extension=xdebug.so

[xdebug]
xdebug.mode=develop,debug
xdebug.start_with_request=yes
xdebug.client_host=127.0.0.1
xdebug.client_port=9003

Installare un FTP server su Linux, in questo caso "Very Secure FTP Daemon" (questi sono cretini)

sudo apt install vsftpd

configuriamo

sudo nano /etc/vsftpd.conf

cercare e cambiare così

write_enable=YES
chroot_local_user=YES

# aggiungere questa riga che evita un errore legato ai permessi di scrittura per gli utenti chrootati
allow_writeable_chroot=YES

# cercare e scommentare la riga
local_umask=022

#ed aggiungere appena sotto
file_open_mode=0777

#Queste specificano che i file vengono introdotti coi permessi 777 ma viene tolto un 022 per fare 755.

Se si vuole utilizzare la modalità passiva aggiungere

pasv_enable=YES
pasv_max_port=50030
pasv_min_port=50000

riavviare vsftpd

sudo systemctl reload vsftpd.service

a questo punto ogni utente della macchina può connettersi via FTP usando le proprie credenziali.

La root è la propria Home folder.

ESEMPIO:

Se siamo su un server e vogliamo mostrare solo la cartella www:

Si crea un utente ad hoc e gli si montano nella home tutte le cartelle che servono col comando

mkdir /home/ftp_user/www
mount --bind /var/www /home/ftp_user/www

ovviamente consideriamo che l'utente in questione abbia i permessi di scrittura sulla WWW.

Si potrebbe fare

sudo chown root:www-data /var/www -R
sudo chmod 775 /var/www -R
sudo adduser <nomeutente> www-data

Note per Template

[modifica]

Clonare il Container (102 - per-template) dal nostro template pulito con Wordpress e estensioni necessarie tra cui Xdebug.

Clone Mode -> Full per avere un container completamente isolato e separato dal template.

Aggiornare Siteurl e Home

[modifica]

Meglio non mettere indirizzo IP, ma settarlo solo dal proprio file hosts locale. In questo modo se dovesse cambiare ip interno assegnato da Proxmox, basta cambiarlo solo nel proprio file hosts locale.

Accedere a MySQL sul container

mysql -u webmobili -p W3bm0b1l!

Database wordpress_db password bucRd29By9GRY
show databases;

use wordpress_db;

SELECT option_name, option_value FROM wp_options WHERE option_name in ('siteurl','home');

UPDATE wp_options SET option_value = 'http://pve.wp.webmobili.local' WHERE option_name in ('siteurl','home');