Proxmox - Container: differenze tra le versioni
| Riga 54: | Riga 54: | ||
* Estensioni da installare: | * Estensioni da installare: | ||
** PHP Debug | ** PHP Debug | ||
* Creare configurazione di debug e aggiungere la voce seguente a <code> "name": "Listen for Xdebug",</code> | * Creare configurazione di debug e aggiungere la voce seguente a <code> "name": "Listen for Xdebug",</code> | ||
| Riga 90: | Riga 89: | ||
xdebug.client_host=127.0.0.1 | xdebug.client_host=127.0.0.1 | ||
xdebug.client_port=9003 | xdebug.client_port=9003 | ||
</syntaxhighlight> | |||
==== FTP ==== | |||
Installare un FTP server su Linux, in questo caso ''"Very Secure FTP Daemon"'' (questi sono cretini) | |||
<syntaxhighlight lang="bash">sudo apt install vsftpd</syntaxhighlight> | |||
configuriamo | |||
<syntaxhighlight lang="bash">sudo nano /etc/vsftpd.conf</syntaxhighlight> | |||
cercare e cambiare così | |||
<syntaxhighlight lang="bash"> | |||
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. | |||
</syntaxhighlight> | |||
Se si vuole utilizzare la '''modalità passiva''' aggiungere | |||
<syntaxhighlight lang="bash"> | |||
pasv_enable=YES | |||
pasv_max_port=50030 | |||
pasv_min_port=50000 | |||
</syntaxhighlight> | |||
riavviare vsftpd | |||
<syntaxhighlight lang="bash">sudo systemctl reload vsftpd.service</syntaxhighlight> | |||
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 | |||
<syntaxhighlight lang="bash"> | |||
mkdir /home/ftp_user/www | |||
mount --bind /var/www /home/ftp_user/www | |||
</syntaxhighlight> | |||
ovviamente consideriamo che l'utente in questione abbia i permessi di scrittura sulla WWW. | |||
Si potrebbe fare | |||
<syntaxhighlight lang="bash"> | |||
sudo chown root:www-data /var/www -R | |||
sudo chmod 775 /var/www -R | |||
sudo adduser <nomeutente> www-data | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Versione delle 14:16, 23 mag 2025
Database
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
- In VS Code installare estensione di Microsoft
Remote - SSH - Creare una cartella ad esempio
C:\LAVORO\wordpress-debug\.ssh
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
- 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
- Creare una cartella
.vscodenella 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
FTP
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