Integration

Din egen lagring · WordPress + WooCommerce

WooCommerce AWS S3

Alter Product-tillägget innehåller en färdig lagringsmodul för AWS S3. Lagra tilläggets filgrupper som stöds i din egen privata bucket, anslut den i WordPress och migrera befintliga filer med tilläggets verktyg.

Alter Product tar inte ut någon extra kapacitetsavgift för att utöka den anslutna lagringen. AWS debiterar ditt konto för lagring, förfrågningar och överföring. Ditt WordPress-webbhotell och de vanliga reglerna för abonnemang och inbäddningssessioner gäller fortfarande.

Instruktionerna följer installationsguiden i tillägget. Beteckningarna i AWS-konsolen behålls på engelska.

Installera först WordPress- och WooCommerce-tilläggetAnslut Alter Product till butiken innan du konfigurerar denna valfria lagringsbackend.

Lagring, leverans och kostnader

S3 lagrar tilläggets filobjekt. WordPress ansvarar fortfarande för behörighetskontrollerad leverans till webbläsaren.

En privat backend för tillägget

Webbläsaren hämtar inte filer direkt från S3. WordPress hämtar och verifierar filer från den privata bucketen och levererar dem sedan via sina egna ändpunkter. Lämna S3 CORS tomt och behåll Block Public Access aktiverat; detta är varken en offentlig bucket eller en direkt CDN-anslutning.

Modulen omfattar de Alter Product-filgrupper som stöds. Att ansluta en bucket flyttar inte alla filer i WordPress och ändrar inte gränserna för inbäddade verktyg.

Webbläsaren begär filer via WordPress; WordPress ansluter till en privat AWS S3-bucket.
Filer levereras genom WordPress. Den privata S3-bucketen exponeras inte direkt för webbläsaren.

Betala AWS för de resurser du använder

Alter Product tar inte extra betalt för att öka lagringskapaciteten i din anslutna bucket. AWS-kostnaderna beror på användning, region och lagringsklass; kontrollera den aktuella S3-prislistan i stället för att utgå från ett fast pris.

Eftersom WordPress levererar filerna kan trafiken även räknas mot webbhotellets bandbredd. S3 innebär inte att överföring via webbhotellet blir kostnadsfri eller att serverns kapacitet är obegränsad.

Skapa en bucket med de inställningar som stöds

Fältnamnen nedan motsvarar den engelska AWS-konsolen och installationsguiden i tillägget.

Skapa en bucket för allmän användning

Logga in på AWS, öppna Amazon S3 och välj General purpose buckets → Create bucket. Välj en region och ett namn med små bokstäver, siffror och bindestreck, utan punkter. Kopiera hela bucketnamnet, inklusive eventuella suffix som AWS lägger till.

  1. Använd inställningarna i tabellen och välj Create bucket.
  2. Spara det fullständiga bucketnamnet, regionen och bucketägarens 12-siffriga AWS-konto-ID.
  3. Lämna Cross-origin resource sharing (CORS) tomt. Förfrågningar till S3 kommer från WordPress-servern.
Inställningar från tilläggets S3-installationsguide
AWS-fältInställning
Bucket typeGeneral purpose
Bucket namespaceAccount Regional namespace (rekommenderas)
Object OwnershipACLs disabled / Bucket owner enforced
Block Public AccessBlock all public access (alla fyra inställningarna)
Bucket VersioningEnable
Default encryptionServer-side encryption with Amazon S3 managed keys (SSE-S3 / AES256)
Bucket KeyDisable
Advanced settings → Object LockDisable

Kräv HTTPS

Lägg till en transportregel utan att göra bucketen offentlig eller ge åtkomst till objekt.

Lägg till bucketpolicyn

Öppna Permissions → Bucket policy → Edit. Ersätt båda EXAMPLE-BUCKET-värdena med ditt fullständiga bucketnamn. Om det redan finns en policy ska du behålla dess bestämmelser och lägga till denna regel efter att ha granskat hela dokumentet.

  1. Kontrollera meddelandena i redigeraren och välj Save changes.
  2. Bekräfta att regeln har sparats. Behåll Block all public access aktiverat.
Bucketpolicy i JSON
{
  "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"
        }
      }
    }
  ]
}

Skapa begränsad IAM-åtkomst

Använd en särskild policy för denna bucket och detta prefix i stället för AdministratorAccess eller AmazonS3FullAccess.

Skapa tilläggets policy

Klistra in följande dokument under IAM → Policies → Create policy → JSON. Ersätt varje EXAMPLE-BUCKET med det fullständiga bucketnamnet. Prefixet alter-product måste motsvara Folder prefix i WordPress; ändra det i varje Resource för objekt om du väljer ett annat prefix.

  1. Validera policyn, välj Next och ge den ett namn, exempelvis AlterProductS3Storage.
  2. Välj Create policy och spara namnet för användarkonfigurationen.
IAM-policy i JSON
{
  "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/*"
    }
  ]
}

Skapa en särskild användare och åtkomstnyckel

Välj IAM → Users → Create user. Lämna Provide user access to the AWS Management Console omarkerat.

  1. Välj Next → Attach policies directly och koppla endast policyn ovan. Slutför Create user.
  2. Öppna användarens Security credentials → Access keys → Create access key. För den här manuella konfigurationen av tillägget väljer du Other → Next och därefter Create access key.
  3. Spara Access key ID och Secret access key i en lösenordshanterare. Den hemliga nyckeln visas bara en gång. Ange dem direkt i WordPress via HTTPS, inte i meddelanden eller skärmbilder.

Spara och testa WordPress-anslutningen

Öppna Alter Product → Settings → Storage i butikens administrationspanel via HTTPS. Välj AWS S3 och + / Add connection.

Ange anslutningsuppgifterna

Välj New connection. Samma inbyggda instruktioner finns under AWS S3 setup guide.

  1. Välj Save connection och vänta på bekräftelsen.
  2. Välj Test connection. Spara eventuella ändringar innan du testar igen.
  3. Kontrollera resultatet i dialogrutan och kolumnen Last connection test. Att nyckelfälten är tomma efter att du har sparat är avsiktligt.
Anslutningsfält i WordPress
FältVärde
Bucket nameDet fullständiga bucketnamnet, inte en ARN, s3://-URL eller HTTPS-adress; utan punkter.
Folder prefixalter-product, som i IAM-policyn. Använd bokstäver, siffror, bindestreck, understreck och åtskilda mappar; inget inledande eller avslutande snedstreck.
Bucket owner AWS account IDÄgarens 12-siffriga konto-ID, utan mellanslag.
AWS regionBucketens faktiska region. Formuläret använder eu-central-1 som standard.
AWS access key ID / AWS secret access keyDet sparade nyckelparet för den särskilda IAM-användaren.
Use temporary AWS credentialsLämna omarkerat för denna IAM-användares långvariga nyckel. Aktivera endast för tillfälliga inloggningsuppgifter och ange AWS session token.

Om anslutningstestet misslyckas

Kontrollera bucketnamn, ägare, region, obligatoriska bucketinställningar och det exakta prefixet i både WordPress och IAM. Lämna CORS tomt; inaktivera inte skyddet mot offentlig åtkomst.

Sparad bucket, prefix, ägare och region identifierar anslutningen. Välj New connection för en annan destination. Edit → Reconnect används för att ersätta inloggningsuppgifter och samtidigt behålla samma sparade filreferenser.

Ge supporten testresultatet, utan åtkomstnycklar. Ett lyckat anslutningstest krävs innan du kan välja denna S3 som standard.

Välj standard och migrera befintliga filer

Att välja standarddestination och att migrera är separata åtgärder.

Använd S3 för nya grupper

Välj Make default på den sparade anslutningens rad. Tillägget testar anslutningen och ändrar standarden först efter ett lyckat test. Detta gäller nya filgrupper; befintliga grupper och senare revisioner behåller sin registrerade destination tills de migreras.

Flytta befintliga grupper som stöds

Säkerhetskopiera databasen, WordPress-salterna och filerna tillsammans före den första migreringen. Börja med en testmiljö eller en liten grupp. Öppna Migrate på raden för S3-målet; att bara öppna panelen kopierar inga filer.

Automatisk migrering omfattar grupper som stöds och ligger utanför den valda destinationen. Den garanterar inte att andra WordPress-filer migreras.

  1. Välj Start migration. Tillägget testar S3, förbereder varje grupp, kopierar och verifierar den och byter sedan dess referenser.
  2. Håll sidan öppen. Pause stoppar efter den aktuella gruppen; Resume migration fortsätter från sparade framsteg. Om du stänger sidan öppnar du den igen för att fortsätta skicka ut arbete.
  3. Om en grupp misslyckas läser du meddelandet och Advanced, åtgärdar orsaken och fortsätter. Upprepa inte blint en åtgärd vars uppladdningsresultat är okänt.
  4. Efter Migration completed testar du normal filläsning, redigering, förhandsvisningar och åtkomst till orderfiler. Nya grupper som skapats under skanningen kan behöva en extra omgång.

Att ta bort en rad raderar inte lagrade filer

Byt först standard om det behövs. Remove tar bort anslutningen från listan, medan befintliga filer och deras sparade inloggningsuppgifter förblir tillgängliga. Det är inte ett kommando för att rensa AWS-objekt.

Dela lagring mellan WordPress-noder

En delad S3-destination kan minska beroendet av en enskild nods fildisk. En lastbalanserare kräver fortfarande en korrekt delad WordPress-installation.

Krav för flera noder

För en WordPress-installation bakom en lastbalanserare behöver allt detta finnas tillsammans:

  • En konsekvent SQL-skrivinstans och delat databastillstånd för tillägget.
  • En delad uploads-katalog för filer som fortfarande lagras lokalt och bevarade migreringskällor.
  • Samma ursprungliga WordPress-salter på varje nod så att sparade inloggningsuppgifter och krypterade filer förblir läsbara.
  • En privat tillfällig katalog per nod för överföringsarbete.
  • Konsekvent tilläggskonfiguration och åtkomst till samma privata S3-bucket och objektversioner.
  • Använd standard-wpdb med inbyggd mysqli och InnoDB-tabeller. Drop-ins för databasroutning, som HyperDB, stöds inte; lastbalanseringen sker här på HTTP-nivå.

Håll återställning och nyckelrotation fungerande

Bevara databasen, salterna och de refererade filversionerna tillsammans.

Säkerhetskopiera, återanslut och verifiera

Använd Edit → Reconnect för att ersätta inloggningsuppgifter för samma sparade anslutning. Testa läsning av aktuella och historiska filer innan du tar den gamla nyckeln ur bruk, även för andra sparade anslutningar som fortfarande kan använda den.

Behåll S3-versionshantering aktiverad och bevara de versioner som tillägget refererar till. Använd inte livscykelrensning som tar bort nödvändiga historiska versioner. Testa att återställa databasen, salterna och de lagrade filerna tillsammans.

Tillfälliga inloggningsuppgifter löper ut och kräver en ny giltig token och nya giltiga nycklar; tillägget förnyar dem inte automatiskt. Följ AWS-användning och överföring hos webbhotellet när butiken växer.