Extensia Amazon S3 pentru Easy Digital Downloads vă permite să găzduiți fișierele de descărcare în contul dvs. Amazon S3. Acest lucru este sigur și mai fiabil decât stocarea fișierelor pe propriul cont de hosting.
În acest articol
Crearea unui cont IAM
Chei de acces IAM
Configurare
Utilizarea Amazon S3 cu EDD
Forțarea descărcării fișierelor
Probleme și întrebări frecvente
Crearea unui cont IAM
Pentru ca Easy Digital Downloads să se poată conecta la contul dvs. Amazon S3, va trebui să creați un utilizator IAM și să atașați o politică de permisiuni utilizatorului. Puteți face clic pe Afișați credențialele de securitate ale utilizatorului pentru a vizualiza cheia de acces și cheia secretă. Acestea sunt valorile pe care trebuie să le introduceți pe site-ul dvs. WordPress la Descărcări → Setări → Extensii → Amazon S3.
1. Conectați-vă la contul dvs. Amazon S3
Conectați-vă la contul dvs. Amazon S3 și navigați la pagina Utilizatori. Această pagină poate fi găsită făcând clic pe numele contului dvs. în colțul din dreapta sus și apoi pe Credențiale de securitate > Utilizatori (Sub Gestionarea accesului pe partea stângă a paginii).
2. Configurarea utilizatorului IAM
A. Adăugați utilizator
Dacă aveți un utilizator IAM existent pe care doriți să îl utilizați, faceți clic pe acel utilizator. Dacă trebuie să creați un utilizator nou, faceți clic pe butonul albastru Creare utilizator și urmați instrucțiunile. Acum trebuie să obțineți credențiale de securitate și, de asemenea, să atașați o politică de permisiuni utilizatorului.

B. Setați detaliile utilizatorului:
Nume utilizator: Creați un nume de utilizator la alegere și faceți clic pe Următorul.

C. Setați permisiunile
- Selectați caseta „Atașați politici direct”.
- Apoi, în caseta Filtrare , introduceți „S3full”. Acest lucru va filtra rezultatele pentru a le aduce pe cele relevante pentru Amazon S3.
- Bifați caseta pentru AmazonS3FullAccess.
- Ignorați secțiunea „Setați limita de permisiuni – opțional”.
- Faceți clic pe Următorul.

D. Revizuiți și creați
Confirmați că permisiunile dvs. corespund instrucțiunilor de mai sus. În caz contrar, nu există nimic de configurat aici, faceți clic pe Creare utilizator.

3. Obțineți chei de acces
Veți avea nevoie de un cont IAM care să utilizeze permisiunile din pașii de mai sus. Dacă ați creat un cont IAM în trecut cu permisiunile AmazonS3FullAccess, puteți utiliza contul existent.
A. Faceți clic pe numele utilizatorului IAM creat mai sus, listat în pagina dvs. de Utilizatori AWS.
B. Faceți clic pe fila Credențiale de securitate și apoi pe Creare cheie de acces.

C. Selectați Serviciul terț și bifați Confirmare.

D. Faceți clic pe Creare cheie de acces. Nu este necesară o etichetă de descriere.
E. Salvați Cheia de acces și Cheia de acces secretă.
Notă: Nu veți mai putea accesa cheia secretă pentru acest utilizator, așa că asigurați-vă că salvați fișierul. Dacă pierdeți credențialele, va trebui să creați o nouă cheie de acces.

Utilizatorul dvs. IAM ar trebui să aibă acum permisiunea completă de a accesa și încărca fișiere în bucket-ul S3. Acest lucru oferă magazinului dvs. EDD acces la fișierele dvs. și capacitatea de a crea linkuri de descărcare securizate pentru clienți.
F. Adăugați Cheia de acces & Cheia de acces secretă în setările Amazon S3 ale magazinului dvs. EDD sub Descărcări → Setări → Extensii → Amazon S3.

Dacă aveți nevoie de mai multă asistență pentru crearea utilizatorilor IAM sau atașarea politicilor, consultați ghidul Amazon privind crearea utilizatorilor IAM pentru mai multe informații.
Restricționați accesul la anumite bucket-uri
Dacă contul dvs. S3 este utilizat în alte scopuri și doriți să limitați contul dvs. IAM (Magazin EDD) la anumite bucket-uri, puteți crea o politică personalizată în locul AmazonS3FullAccess. Acest lucru se face în locul Pasului 3 din secțiunea Setare Permisiuni.
Faceți clic pe „Atașați politicile existente direct”, apoi selectați „Creați Politică”:
Adăugați detaliile politicii mai jos prin editorul JSON. Actualizați bucket-name-here cu numele (numele) bucket-urilor la care doriți acces prin intermediul magazinului dvs. EDD.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:ListBucketMultipartUploads",
"s3:AbortMultipartUpload",
"s3:ListBucket",
"s3:ListMultipartUploadParts"
],
"Resource": [
"arn:aws:s3:::bucket-name-here",
"arn:aws:s3:::bucket-name-here/*"
]
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*"
}
]
}
Când utilizați această politică, toate numele de Bucket vor fi vizibile, dar numai cele pe care le plasați în secțiunea Resurse sunt accesibile. Dacă un bucket care nu este inclus în lista Resurse este accesat prin EDD, va apărea o eroare PHP. Sperăm să îmbunătățim acest lucru într-o versiune viitoare.
Configurare
Odată ce extensia este instalată și activată, puteți naviga la Descărcări → Setări → Extensii → Amazon S3 și introduceți informațiile contului dvs. Amazon S3.

1. Introduceți ID-ul cheii de acces și cheia secretă
ID-ul cheii de acces și cheia secretă se obțin prin crearea unui utilizator IAM în contul dvs. S3. Consultați
ghidul nostru de mai sus pentru informații despre cum să creați un utilizator IAM cu permisiunile corespunzătoare.
2. Introduceți un Bucket implicit
Acesta este bucket-ul implicit în care doriți să fie încărcate fișierele. Pentru a crea noi bucket-uri sau pentru a obține o listă a bucket-urilor dvs. curente, accesați Consola S3 (trebuie să fiți conectat pentru a accesa consola). Introduceți aici numele bucket-ului pe care doriți să îl utilizați ca implicit. La încărcarea fișierelor în Amazon S3, veți avea opțiunea de a selecta bucket-ul în care doriți să fie încărcat fișierul.
Permisiuni Bucket
Bucket-ul dvs. ar trebui să aibă opțiunea Blocați tot accesul public ACTIVATĂ, pentru a restricționa accesul neautorizat la fișiere. EDD va oferi acces temporar la fișiere clienților.

3. Introduceți un Host Amazon S3 (Opțional)
Acesta este host-ul S3 pe care îl utilizează bucket-ul dvs. De cele mai multe ori, acest câmp poate fi lăsat necompletat. Cu toate acestea, dacă site-ul dvs. are probleme de accesare a bucket-ului, încercați să îl schimbați la Endpoint-ul pentru regiunea bucket-ului dvs., pentru bucket-ul dvs. implicit.
Puteți găsi regiunea bucket-ului dvs. conectându-vă în contul dvs. AmazonS3, făcând clic pe S3 și apoi uitându-vă la coloana regiunii listată lângă fiecare bucket. Va indica regiunea. Odată ce o cunoașteți, găsiți gazda corespunzătoare corectă listată în Documentația regiunilor Amazon S3. Copiați și lipiți acea gazdă și apăsați Salvare în WordPress.

4. Timp de expirare a linkului (Opțional)
Acesta este numărul de minute pentru care URL-ul generat dinamic este valabil. Când un client face clic pe un link de descărcare livrat de Easy Digital Downloads, un nou URL pentru fișierul de pe Amazon S3 este generat din mers. Acesta este numărul de minute pentru care noul URL secret este valabil.
Aceasta finalizează configurarea Amazon S3.
Utilizarea Amazon S3 cu EDD
Veți încărca fișierele către un produs descărcabil exact în același mod ca înainte, dar veți avea două file noi în încărcătorul media numite Încărcare pe Amazon S3 și Biblioteca Amazon S3.
Când încărcați un fișier din această filă, acesta va fi încărcat automat în contul dvs. Amazon S3. Orice fișier pe care îl încărcați pe S3 va fi accesibil din Biblioteca media WordPress, la fel ca orice alt fișier media.
Încărcarea pe Amazon S3 prin EDD
Când încărcați un fișier din această filă, acesta va fi încărcat automat în contul dvs. Amazon S3.

Adăugarea fișierelor deja existente pe Amazon S3 la EDD
Orice fișier pe care îl încărcați pe S3 va fi accesibil din Biblioteca media WordPress, la fel ca orice alt fișier media, prin intermediul Bibliotecii Amazon S3 din încărcătorul media.

Alternativ, puteți adăuga fișiere la URL-ul fișierului manual:

Note Importante:
- Nu copiați și lipiți URL-ul direct din biblioteca dvs. Amazon S3 în câmpul URL fișier. Acest lucru va duce la un mesaj de eroare Acces interzis la încercarea de a descărca fișierul.
- Toate numele de bucket-uri și foldere din contul dvs. Amazon S3 trebuie să fie scrise cu litere mici și să nu conțină caractere speciale. Consultați documentația Amazon despre restricțiile de denumire a bucket-urilor.
- Nu toate versiunile S3 sunt disponibile în toate regiunile. Acest grafic va arăta care sunt disponibile în regiunea dvs.
- Fișierele livrate prin AmazonS3 vor fi livrate ca „redirecționare” chiar dacă magazinul dvs. este setat la „forțat”. Aflați mai multe.
Forțarea descărcării fișierelor
Uneori, browserul dvs. web va încerca să afișeze sau să redea fișierul pe care îl descărcați, iar dvs. ați putea ajunge să ascultați muzică sau să vizionați videoclipuri în browser, în loc să le salvați. Există o varietate de lucruri care pot fi făcute pentru a preveni acest lucru și a forța opțiunea de salvare, dar dacă stocați fișierele pe Amazon S3, atunci orice setări de pe serverul dvs. web sunt ignorate.
În loc să vă bazați pe setările serverului dvs. web, trebuie să configurați corect opțiunile în S3. Iată cum ar trebui setate.
Notă: Această setare se aplică unui fișier și/sau folder, dar nu întregului bucket
Deschiderea proprietăților
- În Bucket-ul dvs. S3, găsiți fișierul cu care doriți să lucrați și selectați-l.
- Faceți clic pe Acțiuni > Modificare metadate.

- Faceți clic pe Adăugați metadate și setați Tipul la Definit de sistem, Cheia la Content-Disposition și setați Valoarea la attachment și Salvați modificările.

Este posibil să vedeți și acest mesaj de eroare dacă ați copiat URL-ul de la Amazon S3 și l-ați lipit în câmpul URL fișier al descărcării dvs. Vă rugăm să consultați nota de mai sus referitoare la pașii corecți care trebuie urmați pentru a lega fișierele dvs. de descărcările dvs.
Probleme și întrebări frecvente:
Fișierele se deschid în browser în loc să fie descărcate
Acest lucru poate fi rezolvat prin Forțarea descărcării fișierelor.
Vor putea clienții să vadă URL-ul real al fișierului și să îl descarce direct?
Nu, clientul va vedea un URL care duce la propriul dvs. magazin, unde EDD va traduce locația, astfel încât descărcarea să funcționeze fără ca clientul să vadă URL-ul sursă original Amazon.
Eroare: Problemă cu certificatul SSL: imposibil de obținut certificatul emitentului local
Această eroare înseamnă că certificatul SSL de pe serverul site-ului dvs. web este invalid sau instalat incorect. Pentru a rezolva acest lucru, contactați compania dvs. de găzduire și solicitați-le să verifice dacă certificatul este instalat corect și este valid.
Eroare:Acces interzis
Această eroare înseamnă că ID-ul cheii de acces și cheia secretă pe care le utilizați nu au permisiunile necesare pentru a accesa containerele și resursele S3.
Pentru a rezolva acest lucru, va trebui să atașați o nouă politică de permisiuni la utilizatorul IAM. Consultați ghidul nostru
privind crearea unui utilizator IAM cu permisiunile corespunzătoare pentru a rezolva această eroare.
You may also see this error message if you copied the URL from Amazon S3 and pasted it into the File URL field of your Download. Please see the note above regarding the proper steps that need to be taken to link your files to your Downloads.
Eroare:RequestTimeTooSkewed
Această eroare apare din cauza unei configurări greșite a setărilor de fus orar ale serverului dvs. web. Pentru a o rezolva, contactați compania dvs. de găzduire și rugați-i să reconfigureze corect setările de fus orar.
Eroare:SignatureDoesNotMatch
Dacă primiți această eroare, urmată de un mesaj de eroare care spune
Semnătura cererii pe care am calculat-o nu corespunde semnăturii pe care ați furnizat-o, probabil înseamnă că numele containerului dvs. conține litere mari sau spații. Pentru a rezolva problema, redenumiți containerul dvs. astfel încât să nu conțină litere mari. Puteți, de asemenea, să creați un nou container fără litere mari în nume pentru a o rezolva.
Eroare: NoSuchKey Cheia specificată nu există
Această eroare apare atunci când există o problemă cu modul în care este denumit fișierul sau chiar containerul. Toate semnele de punctuație și caracterele speciale ar trebui eliminate.
De exemplu: Dacă aveți un fișier numit test-file-one.mp4.zip schimbați-l în testfileone.zip
Alte erori sau probleme la încărcarea fișierelor pe Amazon S3
Dacă aveți probleme la încărcarea fișierelor pe Amazon S3 sau la accesarea fișierelor existente pe Amazon S3, consultați pașii de mai jos pentru a rezolva problema.
- Verificați setările Amazon S3 Host în Descărcări → Setări → Extensii → Amazon S3. Asigurați-vă că gazda dvs. este configurată corect, inclusiv verificarea că ați configurat regiunea corectă (citiți punctul despre Amazon S3 Host de mai sus pentru a vedea cum se face acest lucru).
- Asigurați-vă că numele fișierului dvs. se încadrează în limita maximă de 1024 de caractere. Puteți găsi mai multe informații în documentația Amazon despre cum să formatați corect numele fișierelor.
- Dacă ați trecut recent la un nou cont Amazon S3 și aveți probleme la încărcarea fișierelor în contul (conturile) dvs. de stocare, aceasta este, de obicei, o problemă temporară care poate apărea la scurt timp după crearea unor noi conturi de stocare sau conturi. Aceasta ar trebui să se rezolve automat după câteva ore. Consultați documentația Amazon pentru mai multe informații despre acest subiect.
- Încă nu ați reușit? Contactați suportul și includeți mesajul exact de eroare sau comportamentul pe care îl întâmpinați.
Actualizările licențelor software eșuează din cauza Erorii la descărcare. Eroare cURL 8: Valoare Invalid Content-Length:
Este posibil ca extensia Amazon S3 să nu forțeze redirecționarea pentru descărcări. Dacă vedeți această eroare, încercați
setarea Metodei de Descărcare la Forțată.
Clientul vede Actualizare eșuată: Descărcare eșuată. Eroare internă de server la încercarea de a actualiza un plugin
Confirmați că fișierul sursă care va fi utilizat pentru actualizările automate este selectat în setările de licențiere ale Descărcării.
Cel mai probabil veți vedea următoarea eroare fatală PHP în fișierul jurnal de erori PHP al magazinului:
PHP Fatal error: Uncaught InvalidArgumentException: Found 2 errors while validating the input provided for the GetObject operation: [Key] is missing and is a required parameter [Key] expected string length to be >= 1, but found string length of 0 in /home/ph198/public_html/wp-content/plugins/edd-amazon-s3/vendor/aws/aws-sdk-php/src/Api/Validator.php:65


