Stocarea ta · WordPress + WooCommerce
WooCommerce AWS S3
Pluginul Alter Product include un modul gata de utilizare pentru stocarea AWS S3. Păstrează grupurile de fișiere acceptate de plugin în propriul bucket privat, conectează-l în WordPress și migrează fișierele existente cu instrumentele pluginului.
Alter Product nu percepe o taxă suplimentară pentru mărirea capacității acestei stocări conectate. AWS facturează contului tău stocarea, cererile și transferul. Costurile găzduirii WordPress și regulile obișnuite ale planului și ale sesiunilor încorporate se aplică în continuare.
Instrucțiunile urmează ghidul de configurare din plugin. Etichetele consolei AWS rămân în engleză.
Stocare, livrare și costuri
S3 stochează obiectele de fișiere ale pluginului. WordPress rămâne responsabil pentru livrarea autorizată către browser.
Un serviciu privat de stocare pentru plugin
Browserul nu descarcă direct din S3. WordPress preia și verifică fișierele din bucketul privat, apoi le livrează prin propriile endpointuri. Lasă configurația S3 CORS goală și păstrează Block Public Access activat; acesta nu este un bucket public sau o conexiune directă la un CDN.
Modulul acoperă grupurile de fișiere acceptate de Alter Product. Conectarea unui bucket nu mută toate fișierele din WordPress și nu modifică limitele instrumentelor încorporate.

Plătește pentru resursele AWS pe care le folosești
Alter Product nu percepe o taxă suplimentară pentru mărirea capacității de stocare a bucketului conectat. Costurile AWS depind de utilizare, regiune și clasa de stocare; consultă lista actuală de prețuri S3, fără a presupune un tarif fix.
Deoarece WordPress livrează fișierele, traficul poate fi inclus și în transferul serviciului tău de găzduire. S3 nu garantează eliminarea transferului prin găzduire sau o capacitate nelimitată de livrare a serverului.
Creează un bucket cu setările acceptate
Denumirile câmpurilor de mai jos corespund consolei AWS în engleză și ghidului de configurare inclus în plugin.
Creează un bucket de uz general
Autentifică-te în AWS, deschide Amazon S3 și selectează General purpose buckets → Create bucket. Alege o regiune și un nume format din litere mici, cifre și cratime, fără puncte. Copiază numele complet al bucketului, inclusiv orice sufix adăugat de AWS.
- Aplică setările din tabel și selectează Create bucket.
- Păstrează numele complet al bucketului, regiunea și ID-ul de cont AWS de 12 cifre al proprietarului bucketului.
- Lasă Cross-origin resource sharing (CORS) gol. Cererile către S3 provin de la serverul WordPress.
| Câmp AWS | Setare |
|---|---|
| Bucket type | General purpose |
| Bucket namespace | Account Regional namespace (recomandat) |
| Object Ownership | ACLs disabled / Bucket owner enforced |
| Block Public Access | Block all public access (toate cele patru setări) |
| Bucket Versioning | Enable |
| Default encryption | Server-side encryption with Amazon S3 managed keys (SSE-S3 / AES256) |
| Bucket Key | Disable |
| Advanced settings → Object Lock | Disable |
Impune utilizarea HTTPS
Adaugă o regulă de transport fără a face bucketul public sau a acorda acces la obiecte.
Adaugă politica bucketului
Deschide Permissions → Bucket policy → Edit. Înlocuiește ambele valori EXAMPLE-BUCKET cu numele complet al bucketului tău. Dacă există deja o politică, păstrează instrucțiunile acesteia și adaugă regula de mai jos după examinarea întregului document.
- Verifică mesajele editorului și selectează Save changes.
- Confirmă salvarea regulii. Păstrează Block all public access activat.
{
"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"
}
}
}
]
}Creează acces IAM cu permisiuni limitate
Folosește o politică dedicată acestui bucket și prefix, în loc de AdministratorAccess sau AmazonS3FullAccess.
Creează politica pentru plugin
În IAM → Policies → Create policy → JSON, lipește documentul de mai jos. Înlocuiește fiecare EXAMPLE-BUCKET cu numele complet al bucketului. Prefixul alter-product trebuie să corespundă câmpului Folder prefix din WordPress; dacă alegi un alt prefix, schimbă-l în fiecare Resource pentru obiecte.
- Validează politica, selectează Next și atribuie-i un nume, de exemplu AlterProductS3Storage.
- Selectează Create policy și păstrează numele pentru configurarea utilizatorului.
{
"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/*"
}
]
}Creează un utilizator dedicat și o cheie de acces
Selectează IAM → Users → Create user. Lasă debifată opțiunea Provide user access to the AWS Management Console.
- Selectează Next → Attach policies directly și atașează numai politica de mai sus. Finalizează cu Create user.
- Deschide Security credentials → Access keys → Create access key pentru acel utilizator. Pentru această configurare manuală a pluginului, alege Other → Next, apoi Create access key.
- Salvează Access key ID și Secret access key într-un manager de parole. Cheia secretă este afișată o singură dată. Introdu-le direct în WordPress prin HTTPS, nu în mesaje sau capturi de ecran.
Salvează și testează conexiunea WordPress
Deschide Alter Product → Settings → Storage în panoul magazinului accesat prin HTTPS. Alege AWS S3 și + / Add connection.
Introdu detaliile conexiunii
Selectează New connection. Aceleași instrucțiuni integrate sunt disponibile în AWS S3 setup guide.
- Selectează Save connection și așteaptă confirmarea.
- Selectează Test connection. Salvează modificările înainte de a testa din nou.
- Verifică rezultatul în dialog și în coloana Last connection test. Este normal ca după salvare câmpurile cheilor să fie goale.
| Câmp | Valoare |
|---|---|
| Bucket name | Numele complet al bucketului, nu un ARN, un URL s3:// sau o adresă HTTPS; fără puncte. |
| Folder prefix | alter-product, corespunzător politicii IAM. Folosește litere, cifre, cratime, linii de subliniere și directoare separate; fără bară oblică la început sau la sfârșit. |
| Bucket owner AWS account ID | ID-ul contului proprietarului, format din 12 cifre, fără spații. |
| AWS region | Regiunea reală a bucketului. Valoarea implicită a formularului este eu-central-1. |
| AWS access key ID / AWS secret access key | Perechea de chei salvată a utilizatorului IAM dedicat. |
| Use temporary AWS credentials | Lasă debifat pentru cheia pe termen lung a acestui utilizator IAM. Activează doar pentru credențiale temporare și introdu tokenul de sesiune AWS. |
Dacă testul conexiunii eșuează
Verifică numele bucketului, proprietarul, regiunea, setările obligatorii și prefixul exact atât în WordPress, cât și în IAM. Păstrează CORS gol; nu dezactiva protecția împotriva accesului public.
Bucketul, prefixul, proprietarul și regiunea salvate identifică conexiunea. Pentru o altă destinație, selectează New connection. Edit → Reconnect servește la înlocuirea credențialelor, păstrând aceleași referințe salvate către fișiere.
Trimite echipei de asistență rezultatul testului, fără cheile de acces. Este necesar un test de conexiune reușit înainte de a selecta acest S3 ca destinație implicită.
Alege destinația implicită și migrează fișierele existente
Setarea destinației implicite și migrarea sunt acțiuni separate.
Folosește S3 pentru grupuri noi
Selectează Make default pe rândul conexiunii salvate. Pluginul testează conexiunea și schimbă destinația implicită numai după reușită. Aceasta se aplică grupurilor noi de fișiere; grupurile existente și reviziile ulterioare își păstrează destinația înregistrată până la migrare.
Mută grupurile existente acceptate
Înainte de prima migrare, creează împreună copii de siguranță ale bazei de date, valorilor salt WordPress și fișierelor. Începe într-un mediu de test sau cu un grup mic. Deschide Migrate pe rândul destinației S3; simpla deschidere a panoului nu copiază fișiere.
Auto migration acoperă grupurile acceptate aflate în afara destinației selectate. Nu promite migrarea fișierelor WordPress fără legătură cu pluginul.
- Selectează Start migration. Pluginul testează S3, pregătește fiecare grup, îl copiază, îl verifică și îi schimbă referințele.
- Păstrează pagina deschisă. Pause oprește procesul după grupul curent; Resume migration continuă de la progresul salvat. Dacă închizi pagina, redeschide-o pentru a relua executarea etapelor.
- Dacă un grup eșuează, examinează mesajul și Advanced, corectează cauza și reia procesul. Nu repeta orbește o operațiune al cărei rezultat de încărcare este necunoscut.
- După Migration completed, testează citirea normală a resurselor, editarea, previzualizările și accesul la fișierele comenzilor. Grupurile noi create în timpul scanării pot necesita o nouă parcurgere.
Eliminarea unui rând nu șterge fișierele stocate
Schimbă mai întâi destinația implicită, dacă este necesar. Remove retrage conexiunea din listă, dar fișierele existente și credențialele lor salvate rămân disponibile. Nu este o comandă de curățare a obiectelor AWS.
Partajează stocarea între nodurile WordPress
O destinație S3 partajată poate reduce dependența de discul unui singur nod. Un distribuitor de sarcină necesită în continuare o instalare WordPress cu resurse partajate corect.
Cerințe pentru mai multe noduri
Pentru o singură instalare WordPress în spatele unui distribuitor de sarcină, asigură împreună toate condițiile următoare:
- Un singur nod SQL de scriere cu stare consecventă și o stare partajată a bazei de date a pluginului.
- Un director uploads partajat pentru fișierele încă stocate local și sursele păstrate după migrare.
- Aceleași valori salt originale WordPress pe fiecare nod, astfel încât credențialele salvate și fișierele criptate să rămână accesibile.
- Un director temporar privat pe fiecare nod pentru operațiunile de transfer.
- O configurație consecventă a pluginului și acces la același bucket S3 privat și la aceleași versiuni de obiecte.
- Folosește wpdb standard cu mysqli nativ și tabele InnoDB. Înlocuitorii pentru rutarea bazei de date, precum HyperDB, nu sunt acceptați; distribuirea sarcinii descrisă aici se face la nivel HTTP.
Păstrează funcționale recuperarea și rotația cheilor
Păstrează împreună baza de date, valorile salt și versiunile de fișiere referite.
Creează copii de siguranță, reconectează și verifică
Folosește Edit → Reconnect pentru a înlocui credențialele aceleiași conexiuni salvate. Testează citirea fișierelor curente și istorice înainte de a retrage cheia veche, inclusiv pentru alte conexiuni salvate care o pot folosi încă.
Păstrează versionarea S3 activată și versiunile referite de plugin. Nu aplica reguli lifecycle de curățare care șterg versiuni istorice necesare. Testează restaurarea împreună a bazei de date, valorilor salt și fișierelor stocate.
Credențialele temporare expiră și necesită un token și chei noi valide; pluginul nu le reînnoiește automat. Monitorizează utilizarea AWS și transferul găzduirii pe măsură ce magazinul crește.