De Amazon S3-functie voor Easy Digital Downloads (EDD) laat u uw downloadbestanden hosten in uw Amazon S3-account. Het is veiliger en betrouwbaarder dan bestanden rechtstreeks op uw eigen hostingaccount op te slaan.
Deze handleiding leidt u door het aanmaken van een IAM-gebruiker in AWS, het verbinden van uw Amazon S3-account met EDD, en het gebruiken van Amazon S3 nadat alles is ingesteld.
Opmerking: Amazon S3 is een Pro-functie waarvoor minimaal een Extended pass nodig is.
Amazon S3 inschakelen
Om de Amazon S3-functie in uw EDD-winkel te installeren, gaat u naar Downloads » Extensies, zoek naar Amazon S3, en klik op Installeren.

Zie Hoe installeer ik een extensie? voor meer informatie over het installeren en activeren van functies.
Zodra deze actief is, vindt u de Amazon S3-instellingen onder Downloads » Instellingen » Extensies » Amazon S3. U voert daar uw AWS-gegevens in nadat u de onderstaande stappen hebt voltooid.
Een IAM-account aanmaken
Om Easy Digital Downloads te verbinden met uw Amazon S3-account, moet u een IAM-gebruiker aanmaken in AWS en er een machtigingsbeleid aan koppelen.
Zodra dat gedaan is, genereer je een toegangssleutel en geheime sleutel voor die gebruiker, en voer je beide in onder Downloads » Instellingen » Extensies » Amazon S3 op je WordPress-site.
Log in op uw Amazon S3-account
Als je nog geen AWS-account hebt, maak er dan een aan op Amazon S3 voordat je verdergaat.
Log in op je Amazon S3-account en ga naar de Gebruikerspagina. Je kunt deze pagina vinden door op je accountnaam te klikken in de rechterbovenhoek, dan Beveiligingsreferenties » Gebruikers onder Toegangsbeheer aan de linkerkant van de pagina.
Stel uw IAM-gebruiker in
Als je al een IAM-gebruiker hebt die je wilt gebruiken, selecteer die gebruiker dan.
Gebruiker toevoegen
Als je een nieuwe nodig hebt, klik je op de knop Gebruiker aanmaken en volg je de stappen. Je moet beveiligingsreferenties verkrijgen en een machtigingsbeleid aan de gebruiker koppelen.

Gebruikersgegevens instellen
Voer een gebruikersnaam naar keuze in en klik op Volgende.

Machtigingen instellen
Op het volgende scherm stel je de gebruikersmachtigingen in.
- Selecteer Beleidsregels rechtstreeks koppelen.
- Voer in het Filter-vak "S3full" in om de resultaten te beperken tot Amazon S3-beleidsregels.
- Vink het vakje aan voor AmazonS3FullAccess.
- Sla het gedeelte "Machtigingsgrens instellen – optioneel" over.
- Klik op Volgende.

Wilt u striktere machtigingen in plaats van volledige accounttoegang? AmazonS3FullAccess verleent toegang tot elke bucket en elke S3-bewerking op uw AWS-account. Zie Toegang tot specifieke buckets beperken hieronder voor een beleid dat is beperkt tot alleen de bucket die EDD gebruikt.
Beoordelen en aanmaken
Bevestig dat je machtigingen overeenkomen met de bovenstaande stappen en klik vervolgens op Gebruiker aanmaken.

Toegangssleutels verkrijgen
Je hebt een IAM-gebruiker nodig die is ingesteld met de machtigingen uit de bovenstaande stappen. Als je al een IAM-gebruiker hebt met AmazonS3FullAccess-machtigingen, kun je die gebruiken.
Ga naar de IAM-gebruikersnaam die je hebt aangemaakt, vermeld op je AWS Gebruikerspagina. Selecteer het tabblad Beveiligingsreferenties, gevolgd door Toegangssleutel aanmaken.

Selecteer Dienst van derden en vink Bevestigen aan.

Selecteer op het volgende scherm Toegangssleutel aanmaken. Je hoeft geen beschrijvingstag toe te voegen.

Bewaar je Toegangssleutel en Geheime toegangssleutel.

Opmerking: Je kunt de geheime sleutel voor deze gebruiker niet opnieuw openen, dus zorg ervoor dat je deze ergens veilig opslaat. Als je de referenties kwijtraakt, moet je een nieuwe toegangssleutel aanmaken.
Je IAM-gebruiker zou nu volledige toestemming moeten hebben om bestanden naar de S3-bucket te openen en te uploaden. Dit geeft je EDD-winkel toegang tot je bestanden en de mogelijkheid om beveiligde downloadlinks voor klanten te maken.
Je IAM-gebruiker heeft nu toestemming om bestanden naar de S3-bucket te openen en te uploaden, waardoor je EDD-winkel toegang krijgt tot je bestanden en de mogelijkheid om beveiligde downloadlinks voor klanten te maken.
Voeg uw Toegangssleutel en Geheime toegangssleutel toe aan de Amazon S3-instellingen van uw EDD-winkel onder Downloads » Instellingen » Extensies » Amazon S3.

Als u meer hulp nodig heeft bij het maken van IAM-gebruikers of het koppelen van beleidsregels, raadpleeg dan Amazon's handleiding voor het maken van IAM-gebruikers.
Beperk toegang tot specifieke buckets
Als uw S3-account voor andere doeleinden wordt gebruikt en u uw IAM-gebruiker (degene die uw EDD-winkel gebruikt) wilt beperken tot specifieke buckets, maak dan een aangepast beleid in plaats van AmazonS3FullAccess te gebruiken.
Selecteer Beleidsregels direct koppelen, gevolgd door Beleid maken.

Voeg de beleidsdetails hieronder toe via de JSON-editor. Vervang bucket-name-here door de naam van de bucket (of buckets) waartoe uw EDD-winkel toegang moet hebben.
{
"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": "*"
}
]
}
Met dit beleid zijn al uw bucketnamen nog steeds zichtbaar, maar alleen de buckets die in de sectie Resource staan, zijn toegankelijk. Als EDD probeert toegang te krijgen tot een bucket die niet in de Resource-lijst staat, ziet u een PHP-fout.
Amazon S3-installatie
Als u dat nog niet hebt gedaan, ga dan naar Downloads » Instellingen » Extensies » Amazon S3 om uw Amazon S3-toegangssleutels en geheime sleutels in te voeren.

Standaard bucket invoeren
Op dit scherm voert u ook andere accountgegevens in, zoals uw Standaard Amazon S3-bucket.

Dit is de standaardbucket waarnaar bestanden worden geüpload. Om nieuwe buckets te maken of een lijst van uw huidige buckets te zien, gaat u naar uw S3-console (u moet inloggen om deze te openen).
Maak de bucket die u als standaard wilt gebruiken. U kunt nog steeds een andere bucket per bestand kiezen bij het uploaden.
Bucketmachtigingen instellen
Schakel Alle openbare toegang blokkeren IN voor uw bucket om ongeautoriseerde toegang tot bestanden te beperken. EDD biedt tijdelijke toegang tot bestanden voor klanten, dus de bucket zelf hoeft niet openbaar te zijn.

Amazon S3-eindpunt invoeren (optioneel)
De Amazon S3 Endpoint is de endpoint die uw bucket gebruikt.
U kunt dit veld meestal leeg laten. Als uw site problemen heeft met het openen van uw bucket, probeer dit dan te wijzigen naar de endpoint voor de regio van uw bucket.
Vind de regio van uw bucket door in te loggen op uw Amazon S3-account, op S3 te klikken en de kolom regio naast elke bucket te controleren. Zoek vervolgens de bijpassende endpoint op Amazon's S3 Region Documentation.

Kopieer en plak die endpoint in het veld, en sla deze vervolgens op.
Het veld Amazon S3 Endpoint werkt ook met Cloudflare R2 en andere S3-compatibele opslagproviders, niet alleen met AWS. Als u R2 of een vergelijkbare service gebruikt, voer dan op dezelfde manier de endpoint hier in.
Geldigheidsduur link (optioneel)
Het laatste instellingsveld op het EDD Amazon S3-extensiescherm is Link Geldigheidsduur. Dit is het aantal minuten dat de dynamisch gegenereerde download-URL geldig blijft.
Wanneer een klant op een downloadlink klikt, genereert EDD een nieuwe, tijdelijke URL voor het bestand op Amazon S3. Deze instelling bepaalt hoe lang die URL geldig is voordat deze verloopt.
Als u dit veld leeg laat, blijft de link standaard 5 minuten geldig.
FES-foldernaam (optioneel)
Als u Frontend Submissions gebruikt naast Amazon S3, bepaalt deze instelling hoe bestanden van verkopers worden georganiseerd in uw S3-bucket. Kies of bestanden worden opgeslagen in mappen met de gebruikersnaam van elke verkoper of hun gebruikers-ID.
Zie Amazon S3 en Frontend Submissions voor meer informatie over hoe de twee functies samenwerken.
Amazon S3 gebruiken met EDD
U uploadt bestanden naar een downloadbaar product op dezelfde manier als voorheen, maar deze functie geeft u twee nieuwe tabbladen in de mediabestands-uploader: Uploaden naar Amazon S3 en Amazon S3-bibliotheek.

Uploaden naar Amazon S3 via EDD
Wanneer u een bestand uploadt vanaf het tabblad Uploaden naar Amazon S3, uploadt Easy Digital Downloads het automatisch naar uw Amazon S3-account.
Elk bestand dat u op deze manier uploadt, is ook toegankelijk vanuit uw WordPress Media Library, net als elk ander mediabestand.

Bestanden die al op AWS staan toevoegen aan EDD
Elk bestand dat al op S3 staat, is toegankelijk vanuit uw WordPress Media Library via het tabblad Amazon S3-bibliotheek in de mediabestands-uploader.

U kunt ook handmatig bestanden toevoegen aan het veld Bestand URL.

Het veld accepteert een paar verschillende formaten:
- Formaat mediabestands-uploader:
bucket-naam/bestandsnaam.zip - Virtuele-host-stijl URL's: bijvoorbeeld,
https://bucket-name.s3.amazonaws.com/filename.zip - Pad-stijl URL's: bijvoorbeeld,
https://s3.amazonaws.com/bucket-name/filename.zip - Regionale eindpunt-URL's: bijvoorbeeld,
https://bucket-name.s3.region-code.amazonaws.com/filename.zip
Belangrijk ⚠️
- Kopieer en plak de URL niet rechtstreeks uit uw Amazon S3-bibliotheek in het veld Bestand URL. Dit veroorzaakt een Toegang geweigerd-fout wanneer een klant probeert het bestand te downloaden. Gebruik in plaats daarvan een van de bovenstaande formaten.
- Alle bucket- en mapnamen in uw Amazon S3-account moeten kleine letters bevatten en vrij zijn van speciale tekens. Zie de documentatie van Amazon over bucket-naamgevingsbeperkingen.
- Niet alle versies van S3 zijn beschikbaar in elke regio. Deze tabel toont welke beschikbaar zijn in uw regio.
- Bestanden die via Amazon S3 worden geleverd, worden altijd geleverd als omleiding, zelfs als uw winkel is ingesteld op Geforceerd.
Amazon S3 gebruiken met CFM
Als u Checkout Fields Manager gebruikt naast Amazon S3, worden bestanden die klanten uploaden via CFM-formulieren bij het afrekenen automatisch naar uw Amazon S3-bucket verzonden en opgeslagen in een cfm/ map. U hoeft niets extra's te configureren.
Zodra uw Amazon S3-gegevens zijn ingesteld onder het tabblad Extensies » Amazon S3, gebeurt dit automatisch voor elk bestand-uploadveld in een Checkout Fields Manager-formulier.
Bestanden forceren om te downloaden
Soms probeert uw browser een bestand weer te geven of af te spelen in plaats van het te downloaden, zoals het direct openen van muziek of video in de browser. U kunt dit meestal oplossen met instellingen op uw webserver, maar bestanden die op Amazon S3 zijn opgeslagen, negeren de instellingen van uw webserver volledig.
In plaats daarvan moet u dit rechtstreeks in S3 configureren.
Opmerking: Deze instelling is van toepassing op individuele bestanden of mappen, niet op de hele bucket.
Bestandseigenschappen openen
Zoek in uw S3-bucket het bestand waarmee u wilt werken, selecteer het en klik op Acties » Metadata wijzigen.
Klik op Metadata toevoegen, stel het Type in op Systeemeigen, de Sleutel op Content-Disposition, en de Waarde op attachment. Klik op Wijzigingen opslaan.

Dit dwingt het bestand om te downloaden in plaats van af te spelen of weer te geven in de browser.
Probleemoplossing en FAQ's
Bestanden openen in de browser in plaats van te downloaden
Zie Bestanden dwingen om te downloaden hierboven.
Kunnen klanten de daadwerkelijke Amazon S3 URL zien en het bestand direct downloaden?
Nee. Klanten zien een URL die naar uw eigen winkel verwijst. EDD vertaalt de locatie achter de schermen, zodat de download werkt zonder de originele Amazon S3 bron-URL bloot te leggen.
Fout: SSL-certificaatprobleem: kan lokaal uitgevend certificaat niet verkrijgen
Dit betekent dat het SSL-certificaat op de server van uw website ongeldig is of onjuist is geïnstalleerd. Neem contact op met uw hostingprovider en vraag hen om te verifiëren dat het certificaat correct is geïnstalleerd.
Fout: Toegang geweigerd
Dit betekent dat de toegangssleutel-ID en geheime sleutel die u gebruikt, niet de benodigde machtigingen hebben om toegang te krijgen tot uw S3-buckets en -bronnen.
Om dit op te lossen, koppelt u een nieuw machtingenbeleid aan de IAM-gebruiker. Zie Een IAM-account maken hierboven voor de juiste machtigingen.
U kunt deze fout ook zien als u een URL rechtstreeks uit Amazon S3 hebt gekopieerd en in het veld Bestand-URL van uw download hebt geplakt.
Fout: RequestTimeTooSkewed
Dit gebeurt wanneer de tijdzone-instellingen van uw webserver verkeerd zijn geconfigureerd. Neem contact op met uw hostingprovider en vraag hen om de tijdzone-instellingen opnieuw te configureren.
Fout: SignatureDoesNotMatch
Als u deze fout ziet samen met "De door ons berekende aanvraaghandtekening komt niet overeen met de door u verstrekte handtekening", bevat de naam van uw bucket waarschijnlijk hoofdletters of spaties. Hernoem uw bucket, of maak een nieuwe, met alleen kleine letters en zonder spaties.
Fout: NoSuchKey De opgegeven sleutel bestaat niet
Dit gebeurt wanneer er een probleem is met de naamgeving van het bestand of de bucket. Verwijder alle interpunctie en speciale tekens uit de naam.
Verander bijvoorbeeld test-file-one.mp4.zip in testfileone.zip .
Andere fouten of problemen bij het uploaden van bestanden naar Amazon S3
Als u problemen ondervindt bij het uploaden van bestanden naar Amazon S3 of bij het openen van bestaande bestanden, probeer dan deze stappen:
- Controleer uw Amazon S3 Endpoint-instelling onder Downloads » Instellingen » Extensies » Amazon S3. Zorg ervoor dat deze correct is ingesteld, inclusief de juiste regio. Zie Amazon S3 Endpoint hierboven.
- Zorg ervoor dat uw bestandsnaam onder de limiet van 1.024 tekens valt. Zie Amazon's documentatie over het correct formatteren van bestandsnamen.
- Als u onlangs bent overgestapt naar een nieuw Amazon S3-account en geen bestanden naar uw bucket kunt uploaden, is dit meestal tijdelijk en lost het zichzelf binnen een paar uur op. Zie Amazon's documentatie voor meer informatie.
- Nog steeds vastgelopen? Neem contact op met ondersteuning met het exacte foutbericht of gedrag dat u ziet.
Softwarelicentie-updates mislukken met “Download mislukt. cURL-fout 8: Ongeldige Content-Length: waarde”
Dit betekent meestal dat de Amazon S3-functie geen geforceerde download-redirects afdwingt. Probeer de Downloadmethode in te stellen op Geforceerd.
Klant ziet “Update mislukt: Download mislukt. Interne Serverfout” bij het updaten van een plugin
Controleer of het bronbestand dat voor automatische updates wordt gebruikt, is geselecteerd in de licentie-instellingen van de download.
U ziet waarschijnlijk deze fatale PHP-fout in het PHP-foutlogboek van uw winkel:
PHP Fatal error: Uncaught InvalidArgumentException: Gevonden 2 fouten bij het valideren van de invoer voor de GetObject-bewerking: [Key] ontbreekt en is een vereist parameter [Key] verwachte tekenreekslengte om >= 1 te zijn, maar vond tekenreekslengte van 0 in /home/ph198/public_html/wp-content/plugins/edd-amazon-s3/vendor/aws/aws-sdk-php/src/Api/Validator.php:65
