Dit eget lager · WordPress + WooCommerce
WooCommerce AWS S3
Alter Product-pluginet indeholder et færdigt AWS S3-lagermodul. Gem understøttede filgrupper fra pluginet i din egen private bucket, tilslut den i WordPress, og migrer eksisterende filer med pluginets værktøjer.
Alter Product opkræver ikke et ekstra gebyr for at udvide kapaciteten i dette tilsluttede lager. AWS fakturerer din konto for lager, forespørgsler og overførsel. Dit WordPress-hosting og de sædvanlige regler for abonnement og indlejringssessioner gælder stadig.
Instruktionerne følger opsætningsvejledningen i pluginet. Betegnelserne i AWS-konsollen forbliver på engelsk.
Lagring, levering og omkostninger
S3 gemmer pluginets filobjekter. WordPress har fortsat ansvaret for autoriseret levering til browseren.
En privat backend til pluginet
Browseren downloader ikke direkte fra S3. WordPress henter og kontrollerer filer fra den private bucket og leverer dem derefter via sine egne endpoints. Lad S3 CORS være tom, og behold Block Public Access aktiveret; dette er hverken en offentlig bucket eller en direkte CDN-forbindelse.
Modulet dækker understøttede Alter Product-filgrupper. Tilslutning af en bucket flytter ikke alle filer i WordPress og ændrer ikke grænserne for indlejrede værktøjer.

Betal AWS for de ressourcer, du bruger
Alter Product opkræver ikke ekstra for at øge lagerkapaciteten i din tilsluttede bucket. AWS-priser afhænger af forbrug, region og lagerklasse; se den aktuelle S3-prisliste i stedet for at antage en fast pris.
Fordi WordPress leverer filerne, kan trafikken også tælle med i dit hostings båndbreddeforbrug. S3 er ikke et løfte om intet hostingforbrug til overførsel eller ubegrænset serverkapacitet.
Opret en bucket med de understøttede indstillinger
Feltnavnene nedenfor svarer til den engelske AWS-konsol og opsætningsvejledningen i pluginet.
Opret en bucket til generel brug
Log ind på AWS, åbn Amazon S3, og vælg General purpose buckets → Create bucket. Vælg en region og et navn med små bogstaver, tal og bindestreger uden punktummer. Kopiér hele bucketnavnet, inklusive eventuelle suffikser tilføjet af AWS.
- Anvend indstillingerne i tabellen, og vælg Create bucket.
- Gem det fulde bucketnavn, regionen og bucketejerens 12-cifrede AWS-konto-id.
- Lad Cross-origin resource sharing (CORS) være tom. Forespørgsler til S3 kommer fra WordPress-serveren.
| AWS-felt | Indstilling |
|---|---|
| Bucket type | General purpose |
| Bucket namespace | Account Regional namespace (anbefalet) |
| Object Ownership | ACLs disabled / Bucket owner enforced |
| Block Public Access | Block all public access (alle fire indstillinger) |
| Bucket Versioning | Enable |
| Default encryption | Server-side encryption with Amazon S3 managed keys (SSE-S3 / AES256) |
| Bucket Key | Disable |
| Advanced settings → Object Lock | Disable |
Kræv HTTPS
Tilføj en transportregel uden at gøre bucketen offentlig eller give adgang til objekter.
Tilføj bucketpolitikken
Åbn Permissions → Bucket policy → Edit. Erstat begge EXAMPLE-BUCKET-værdier med dit fulde bucketnavn. Hvis der allerede findes en politik, skal du beholde dens erklæringer og tilføje denne regel, efter at du har gennemgået hele dokumentet.
- Kontrollér meddelelserne i editoren, og vælg Save changes.
- Bekræft, at reglen er gemt. Behold Block all public access aktiveret.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyInsecureTransport",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::EXAMPLE-BUCKET",
"arn:aws:s3:::EXAMPLE-BUCKET/*"
],
"Condition": {
"Bool": {
"aws:SecureTransport": "false",
"aws:PrincipalIsAWSService": "false"
}
}
}
]
}Opret begrænset IAM-adgang
Brug en særskilt politik til denne bucket og dette præfiks i stedet for AdministratorAccess eller AmazonS3FullAccess.
Opret pluginets politik
Indsæt følgende dokument under IAM → Policies → Create policy → JSON. Erstat alle EXAMPLE-BUCKET med det fulde bucketnavn. Præfikset alter-product skal svare til Folder prefix i WordPress; ændr det i hver Resource for objekter, hvis du vælger et andet præfiks.
- Valider politikken, vælg Next, og giv den et navn, for eksempel AlterProductS3Storage.
- Vælg Create policy, og gem navnet til brugeropsætningen.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadRequiredBucketControls",
"Effect": "Allow",
"Action": [
"s3:GetBucketVersioning",
"s3:GetBucketOwnershipControls",
"s3:GetBucketPublicAccessBlock",
"s3:GetEncryptionConfiguration"
],
"Resource": "arn:aws:s3:::EXAMPLE-BUCKET"
},
{
"Sid": "WriteAndReadVersionedPluginObjects",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObjectVersion"
],
"Resource": [
"arn:aws:s3:::EXAMPLE-BUCKET/alter-product/objects/*",
"arn:aws:s3:::EXAMPLE-BUCKET/alter-product/.storage-tests/*"
]
},
{
"Sid": "RecoverJournalOwnedObjects",
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::EXAMPLE-BUCKET/alter-product/objects/*"
},
{
"Sid": "DeleteOnlyConnectionTestVersions",
"Effect": "Allow",
"Action": "s3:DeleteObjectVersion",
"Resource": "arn:aws:s3:::EXAMPLE-BUCKET/alter-product/.storage-tests/*"
}
]
}Opret en særskilt bruger og adgangsnøgle
Vælg IAM → Users → Create user. Lad Provide user access to the AWS Management Console være umarkeret.
- Vælg Next → Attach policies directly, og tilknyt kun politikken ovenfor. Gennemfør Create user.
- Åbn brugerens Security credentials → Access keys → Create access key. Til denne manuelle pluginopsætning skal du vælge Other → Next og derefter Create access key.
- Gem Access key ID og Secret access key i en adgangskodeadministrator. Den hemmelige nøgle vises kun én gang. Indtast dem direkte i WordPress via HTTPS, ikke i beskeder eller skærmbilleder.
Gem og test WordPress-forbindelsen
Åbn Alter Product → Settings → Storage i butikkens administrationspanel via HTTPS. Vælg AWS S3 og + / Add connection.
Indtast forbindelsesoplysningerne
Vælg New connection. De samme indbyggede instruktioner findes under AWS S3 setup guide.
- Vælg Save connection, og vent på bekræftelsen.
- Vælg Test connection. Gem ændringer, før du tester igen.
- Kontrollér resultatet i dialogen og kolonnen Last connection test. Tomme nøglefelter efter lagring er tilsigtet.
| Felt | Værdi |
|---|---|
| Bucket name | Det fulde bucketnavn, ikke en ARN, s3://-URL eller HTTPS-adresse; uden punktummer. |
| Folder prefix | alter-product, som i IAM-politikken. Brug bogstaver, tal, bindestreger, understregninger og adskilte mapper; ingen skråstreg i begyndelsen eller slutningen. |
| Bucket owner AWS account ID | Ejerens 12-cifrede konto-id uden mellemrum. |
| AWS region | Bucketens faktiske region. Formularen bruger som standard eu-central-1. |
| AWS access key ID / AWS secret access key | Det gemte nøglepar for den særskilte IAM-bruger. |
| Use temporary AWS credentials | Lad feltet være umarkeret for denne IAM-brugers langvarige nøgle. Aktivér det kun til midlertidige legitimationsoplysninger, og angiv AWS session token. |
Hvis forbindelsestesten mislykkes
Kontrollér bucketnavn, ejer, region, påkrævede bucketindstillinger og det præcise præfiks i både WordPress og IAM. Lad CORS være tom; slå ikke beskyttelsen mod offentlig adgang fra.
Gemt bucket, præfiks, ejer og region identificerer forbindelsen. Vælg New connection til en anden destination. Edit → Reconnect bruges til at udskifte legitimationsoplysninger og samtidig beholde de samme gemte filreferencer.
Send testresultatet til support uden adgangsnøgler. En vellykket forbindelsestest er påkrævet, før du kan vælge denne S3 som standard.
Vælg standard, og migrer eksisterende filer
Valg af standarddestination og migrering er separate handlinger.
Brug S3 til nye grupper
Vælg Make default på den gemte forbindelses række. Pluginet tester forbindelsen og ændrer kun standarden, hvis testen lykkes. Dette gælder for nye filgrupper; eksisterende grupper og senere revisioner beholder deres registrerede destination, indtil de migreres.
Flyt understøttede eksisterende grupper
Tag en samlet sikkerhedskopi af databasen, WordPress-salts og filer før den første migrering. Start med et testmiljø eller en lille gruppe. Åbn Migrate på rækken for den ønskede S3-destination; det kopierer ikke filer blot at åbne panelet.
Automatisk migrering omfatter understøttede grupper uden for den valgte destination. Det er ikke et løfte om at migrere andre WordPress-filer.
- Vælg Start migration. Pluginet tester S3, klargør hver gruppe, kopierer og kontrollerer den og ændrer dens referencer.
- Hold siden åben. Pause stopper efter den aktuelle gruppe; Resume migration fortsætter fra det gemte fremskridt. Hvis du lukker siden, skal du åbne den igen for at genoptage afsendelsen af opgaver.
- Hvis en gruppe fejler, skal du gennemgå meddelelsen og Advanced, rette årsagen og fortsætte. Gentag ikke blindt en handling, hvis uploadresultat er ukendt.
- Efter Migration completed skal du teste normal læsning og redigering af filer, forhåndsvisninger og adgang til ordrefiler. Nye grupper oprettet under scanningen kan kræve en ekstra gennemgang.
Fjernelse af en række sletter ikke gemte filer
Skift først standarden, hvis det er nødvendigt. Remove fjerner forbindelsen fra listen, mens eksisterende filer og deres gemte legitimationsoplysninger forbliver tilgængelige. Det er ikke en kommando til at rydde AWS-objekter op.
Del lager mellem WordPress-noder
En delt S3-destination kan mindske afhængigheden af én nodes fildisk. En load balancer kræver stadig en korrekt delt WordPress-installation.
Krav til flere noder
En WordPress-installation bag en load balancer kræver alle følgende forhold samtidig:
- Én konsistent SQL-skriveinstans og delt databasetilstand for pluginet.
- En delt uploads-mappe til filer, der stadig gemmes lokalt, og bevarede migreringskilder.
- De samme oprindelige WordPress-salts på alle noder, så gemte legitimationsoplysninger og krypterede filer fortsat kan læses.
- En privat midlertidig mappe på hver node til overførselsopgaver.
- Ensartet pluginkonfiguration og adgang til samme private S3-bucket og objektversioner.
- Brug standard-wpdb med native mysqli og InnoDB-tabeller. Drop-ins til databaserouting såsom HyperDB understøttes ikke; belastningsfordelingen sker her på HTTP-niveau.
Bevar mulighed for gendannelse og nøglerotation
Bevar databasen, salts og de refererede filversioner sammen.
Tag sikkerhedskopier, genopret forbindelsen, og kontrollér
Brug Edit → Reconnect til at udskifte legitimationsoplysninger for den samme gemte forbindelse. Test læsning af aktuelle og historiske filer, før du udfaser den gamle nøgle, inklusive andre gemte forbindelser, der måske stadig bruger den.
Behold S3-versionsstyring aktiveret, og bevar de versioner, pluginet refererer til. Anvend ikke livscyklusoprydning, som sletter nødvendige historiske versioner. Test samlet gendannelse af databasen, salts og de gemte filer.
Midlertidige legitimationsoplysninger udløber og kræver et nyt gyldigt token og nye gyldige nøgler; pluginet fornyer dem ikke automatisk. Hold øje med AWS-forbrug og hostingoverførsel, efterhånden som butikken vokser.