Tag: ubuntu

IT
Matteo Lavaggi

Utilizzare RSYNC su SSH con Chiave Privata per sincronizzare file di proprietà di www-data e preservare accesso e modification time

Rsync per poter impostare correttamente il modification time richiede di essere eseguito con l’utente PROPRIETARIO del file, in quanto il mtime è un attributo che richiede un access super user. Non basta avere l’accesso in scrittura per esempio tramite permessi 664/775 come gruppo. Ovviamente non è consigliato utilizzare una connessione ssh tramite publickey per un utente che non è dotato di accesso shell come l’utente www-data. Per risolvere è necessario usare la connessione ssh tramite un utente dotato di accesso shell e chiave privata su entrambe le macchine, ed eseguire il comando rsync sulla macchina remota scalando i priviligi dall’utente che apre la connessione ssh all’utente www-data. In questo modo la connessione ssh viene aperta dall’utente normale , e poi il comando ssh viene eseguito tramite sudo dall’utente normale come account di servizio www-data:   You have to differentiate 2 things: who establishes the SSH connection. which remote user owns the files that you want to copy. Overview (srcmachine) (rsync) (destmachine) srcuser — SSH –> destuser | | sudo su jenkins | v jenkins Let’s say that you want to rsync: From: Machine: srcmachine User: srcuser Directory: /var/lib/jenkins To: Machine: destmachine User: destuser to establish the SSH connection. Directory: /tmp Final files owner: jenkins. Solution rsync –rsync-path ‘sudo -u jenkins rsync’ -avP

Leggi Tutto »
IT
Matteo Lavaggi

Risparmiare spazio nella cartella immagini di Prestashop per cataloghi con molte foto uguali

Il problema delle dimensioni della cartella img Se avete mai gestito un ecommerce dotato di un grande catalogo prodotti, dove numerosi prodotti hanno la stessa foto (immaginate ad esempio un catalogo di prodotti generici, oppure un catalogo dove lo stesso prodotto viene caricato più volte per avere la compatibilità con differenti applicazioni), sicuramente vi sarà capitato di fare i conti con le dimensioni estremamente elevate della cartella immagini! Facciamo un esempio: Un esempio di uno dei nostri clienti (www.sixrace.it) può descrivere ancora meglio il problema: Sixrace vende ricambi e accessori per moto delle migliori marche, il loro catalogo conta centinaia di migliaia di articoli, molti dei quali presentano numerose foto ciascuno (anche 20). I prodotti caricati sul sito prestashop sixrace.it vengono caraicati numerose volte in quanto lo stesso prodotto può essere compatibile con moto differenti, per favorire l’indicizzazione google e la vendita tramite marketplace e comparatori, sixrace, ha scelto di caricare un singolo prodotto per ogni compatibilità , così da ottimizzare il seo e la ricerca da parte dei clienti. Se prendiamo ad esempio un prodotto quasi universale come una batteria, lo stesso codice viene caricato come centinaia di prodotti differenti, ciascuno con titolo differente (comprendente l’indicazione del modello di

Leggi Tutto »

Prestashop LiteSpeed + LiteCache vs Apache2 + FullPageCache – Speed TEST

Configurazione Server: apws (server Apache2) Apache2 4 core 4GB RAM PHP7.2-FPM Pretashop 1.7.6.9 + Full Page Cache Plugin 1.4 lsws (Server LiteSpeed) Litespeed Enterprise 1 core 2Gb RAM LSPHP72 Prestashop 1.7.6.9 + LiteCache Plugin 8.1.2 Apache Benck Test ab -k -n 1000 -c 20 https://lsws Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: nginx/1.18.0 Server Hostname: lsws Server Port: 443 SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256 Server Temp Key: X25519 253 bits TLS Server Name: lsws Document Path: /it/ Document Length: 457133 bytes Concurrency Level: 20 Time taken for tests: 3.953 seconds Complete requests: 1000 Failed requests: 0 Keep-Alive requests: 0 Total transferred: 457467000 bytes HTML transferred: 457133000 bytes Requests per second: 252.96 [#/sec] (mean) Time per request: 79.064 [ms] (mean) Time per request: 3.953 [ms] (mean, across all concurrent requests) Transfer rate: 113009.16 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 2 5 4.9 4 43 Processing: 4 73 38.9 69 368 Waiting: 2 36 20.6 33 129 Total: 7 78 39.0 74 370 Percentage of the requests served within a certain time

Leggi Tutto »

LiteSpeed – Prestashop Login Error 500 [STDERR] PHP Fatal error: Uncaught Error: Call to undefined function Httpful\curl_init()

Errore: Error 500 quando si prova a fare il login dal frontend (redirect login=back=my-account) CMS: Prestashop 1.7.6.9 Server: Ubuntu 20.04+Litespeed Enterprise Cache: LiteSpeed Cache Log: /usr/local/lsws/logs/error.log [STDERR] PHP Fatal error: Uncaught Error: Call to undefined function Httpful\curl_init() Soluzione: sudo apt-get install lsphpXX-curl

Leggi Tutto »