Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    126

    Connettere progetto Laravel a server SFTP

    Ciao a tutti,

    come ho scritto nel titolo, sto sviluppando un'applicazione laravel 8, nella quale ho bisogno di creare dei file, zipparli e dopodiché devo salvarli via SFTP.
    Il server SFTP ha la struttura seguente:

    / -> folder1
    -> folder2 ->subfolder1

    Leggendo online ho trovato della documentazione ed ho settato la connessione in filesystems.php come segue:

    codice:
    'sftp' => [
    'driver' => 'sftp',
    'host' => 'mioserver.it',
    'port' => 2222,
    'username' => 'username',
    'password' => 'password',
    'privateKey' => 'RSA_private_key',
    'root' => '/',
    'timeout' => 10,
    'visibility' => 'public',
    'permPublic' => 0766,
    ],
    
    E' però la prima volta che utilizzo SFTP su un progetto.
    Bastano queste operazioni di configurazione? Come posso testare la connessione al server e inviare i miei file?

    Grazie a tutti per l'aiuto

  2. #2
    Hai seguito la documentazione e installato il driver richiesto?

    https://laravel.com/docs/8.x/filesys...-prerequisites

    Una volta fatto puoi testare semplicemente con:

    Codice PHP:
    Storage::disk('sftp')->put('folder1/test.txt''Hello World'); 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    126
    Quote Originariamente inviata da filippo.toso Visualizza il messaggio
    Hai seguito la documentazione e installato il driver richiesto?

    https://laravel.com/docs/8.x/filesys...-prerequisites

    Una volta fatto puoi testare semplicemente con:

    Codice PHP:
    Storage::disk('sftp')->put('folder1/test.txt''Hello World'); 

    Ciao Filippo, grazie per l'aiuto!!

    Sì ho configurato come da documentazione Laravel e installato il driver richiesto, ho settato come nel codice che ho posto sopra, ma quando lancio
    Codice PHP:
     Storage::disk('sftp')->put('folder1/test.txt''Hello World'); 
    non accade nulla e non vedo nulla salvato sul server SFTP.
    Se mentre lancio
    Codice PHP:
     Storage::disk('sftp')->put('test.txt''Hello World'); 
    mi viene salvato il file nell'SFTP e quindi ho la struttura:
    / -> test.txt
    -> folder1
    -> folder2 -> subfolder1
    Ultima modifica di EziT90; 30-09-2021 a 09:27

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    126
    Quote Originariamente inviata da Dascos Visualizza il messaggio
    Problema di permessi nelle sotto directory?

    Il server è di poste e ho accesso totale per lo scambio dei file, ho i permessi 775

  6. #6
    Quote Originariamente inviata da EziT90 Visualizza il messaggio
    Il server è di poste e ho accesso totale per lo scambio dei file, ho i permessi 775
    Quindi confermi che se ti logghi con un programma ftp, riesci a caricare files in una sottodirectory?
    codice:
    'visibility' => 'public',
    'permPublic' => 0766,
    Non conosco Laravel, ma questo codice qui sopra mi fa pensare che stai impostando la connessione come "pubblica" e con permessi "0766", però la root potrebbe avere permessi 755 e l'utente con permessi "7" potresti non essere tu...
    Intendo dire, la / potrebbe essere di "pippo:www-data", ma tu ti connetti con laravel come "pluto" (che fa parte di www-data), quindi non hai i permessi perchè la tua connessione è 766. Con Ftp normale invece ti connetti come "pluto", ma il server ftp ti concede permessi 775, quindi puoi scriverci dentro perchè fai parte del gruppo www-data

    Prova modificando i permessi "permPublic" a 775

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    126
    Quote Originariamente inviata da Dascos Visualizza il messaggio
    Quindi confermi che se ti logghi con un programma ftp, riesci a caricare files in una sottodirectory?
    codice:
    'visibility' => 'public',
    'permPublic' => 0766,
    Non conosco Laravel, ma questo codice qui sopra mi fa pensare che stai impostando la connessione come "pubblica" e con permessi "0766", però la root potrebbe avere permessi 755 e l'utente con permessi "7" potresti non essere tu...
    Intendo dire, la / potrebbe essere di "pippo:www-data", ma tu ti connetti con laravel come "pluto" (che fa parte di www-data), quindi non hai i permessi perchè la tua connessione è 766. Con Ftp normale invece ti connetti come "pluto", ma il server ftp ti concede permessi 775, quindi puoi scriverci dentro perchè fai parte del gruppo www-data

    Prova modificando i permessi "permPublic" a 775
    Innanzitutto grazie per la risposta così precisa ,

    Sì se mi connetto con cyberduck riesco sia a vedere i file, sia a spostare i file tra cartelle...adesso provo subito a modificare il permPublic e provo nuovamente il salvataggio

    EDIT: il problema era quello dei permessi, settando 'permPublic' a 775 riesco a scrivere correttamente sul server...grazie ancora :-)
    Ultima modifica di EziT90; 30-09-2021 a 10:19

  8. #8

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.