
🛠 WordPressi kaugarendus VS Code'iga Amazon EC2-s
Kas olete kunagi raisanud terve päeva, püüdes käima saada kohalikku WordPressi keskkonda, mis käitub ikkagi teie tootmisserverist erinevalt? XAMPP, Docker, virtuaalmasinad: iga variant jookseb kokku kõige ebasobivamal hetkel. PHP versioon on vale, mõni laiendus on puudu või klient avab lehe ja näeb valget ekraani, mida teie kohalikus keskkonnas kunagi ei esinenud.
Visual Studio Code saab SSH kaudu kaugserveriga ühenduda sama lihtsalt, kui avate oma sülearvutis kausta. Ei mingit maagiat: teie kood läheb otse Amazon EC2 instantsi, kus juba töötab täielik veebiserver koos WordPressiga.
Allpool on samm-sammuline juhend VS Code'i + AWS EC2 seadistamiseks WordPressi pluginate ja teemade arenduseks. Alates Linuxi kasutaja loomisest kuni tööruumi salvestamiseni, ilma lünkadeta ja iga sammu selgitusega.
💡 Kiire ülevaade:
- Looge Ubuntu serveris sudo-kasutaja ja seadistage SSH võtmed
- Valmistage ette oma Windowsi klient: OpenSSH, konfiguratsioonifail ja privaatvõti
- Ühendage VS Code serveriga Remote-SSH kaudu ja avage oma WordPressi kaust
- Salvestage tööruum projektile kiireks ligipääsuks
Eeltingimused
Enne kaugarenduse seadistamist veenduge, et serveri pool on valmis. Eeldan, et kasutate Windows 10 või uuemat versiooni ja alles alustate pilvetaristu õppimist. Jätke vahele sammud, mille olete juba läbinud.
Amazon EC2 instants Ubuntu ja OpenLiteSpeediga
Kasutame Ubuntul põhinevat Amazon Machine Image'it koos OpenLiteSpeed veebiserveri ja täieliku WordPressi jaoks optimeeritud LAMP-komplektiga. Kui te pole serverit veel seadistanud, on minimaalsed nõuded Ubuntu 20.04 või 22.04 LTS ja vähemalt 2 GB muutmälu. Alla 2 GB korral jooksevad composer ja wp-cli keskmise suurusega projektide puhul mälupuuduse tõttu kokku.
Linuxi kasutaja sudo õigustega
Juurkasutaja ligipääs on igapäevatööks tarbetu ja ohtlik. Looge tavakasutaja sudo õigustega. DigitalOcean selgitab protsessi oma juhendis. Lühidalt, kaks käsku juurkasutajana või sudo eesliitega:
1 adduser example
Sisestage parool kaks korda; ülejäänud küsimuste puhul võite lihtsalt vajutada Enterit. Seejärel lisage kasutaja sudo gruppi:
1 usermod -aG sudo example
SSH võtmepaar
SSH ligipääs põhineb võtmepaaril. Privaatvõtit (fail ilma laiendita või .pem) hoitakse teie Windowsi masinas. Avalik võti (.pub fail) paigutatakse serverisse volitatud võtmete nimekirja. Genereerime võtmepaari otse serveris:
1 su - example 2 mkdir .ssh 3 chmod 700 .ssh 4 touch .ssh/authorized_keys 5 chmod 600 .ssh/authorized_keys 6 ssh-keygen
Kui ssh-keygen küsib, vajutage kolm korda Enterit (jätke paroolifraas tühjaks; meie stsenaariumi puhul pole seda vaja). Nüüd lisage avalik võti volitatud nimekirja ja kuvage privaatvõti ekraanil:
1 cat .ssh/id_rsa.pub >> .ssh/authorized_keys 2 cat .ssh/id_rsa
Näete sellist plokki:
1 -----BEGIN RSA PRIVATE KEY----- 2 ... 3 -----END RSA PRIVATE KEY-----
Kopeerige kogu sisu (kaasa arvatud eraldusread) ja salvestage see oma arvutisse tekstifailina. Failitee võib välja näha umbes selline:
1 C:\Users\Example\.ssh\aws-example-user.pem
Failinimi on suvaline. Looge kaust .ssh oma Windowsi profiili sisse, samasse asukohta, kuhu tuleb järgmises etapis konfiguratsioonifail.
SSH konfiguratsioonifail Visual Studio Code jaoks
VS Code loeb ühenduse seadeid standardsest SSH konfiguratsioonifailist. Looge tekstifail nimega config (ilma laiendita) kausta C:\Users\Example\.ssh\ järgmise sisuga (vormingu täpsemate üksikasjade kohta vt man ssh_config):
1 Host aws-ec2 2 HostName your-server-ip-or-domain.com 3 User example 4 IdentityFile C:\Users\Example\.ssh\aws-example-user.pem
Direktiivide selgitus:
- Host: suvaline nimi, mida kuvatakse VS Code'is (akna tiitel ja ühenduse indikaator vasakus alanurgas);
- HostName: teie EC2 instantsi IP-aadress või domeen;
- User: ülal loodud Ubuntu kasutajanimi;
- IdentityFile: privaatvõtme absoluutne failitee teie Windowsi masinas.
OpenSSH klient Windowsis
Windows 10 ja 11 sisaldavad sisseehitatud SSH klienti, kuid see võib olla vaikimisi keelatud. Avage Settings → Apps → Optional features → Add a feature. Leidke loendist OpenSSH Client ja klõpsake Install.

Visual Studio Code ja Remote Development laiendus
Laadige alla VS Code: kas stabiilne versioon (sinine ikoon) või Insidersi väljalase (roheline ikoon, sagedasemad uuendused). Kaugarenduse jaoks ei ole neil vahet.
Kohe pärast installimist lisage Microsofti Remote Development laienduspakett. Pakett sisaldab kolme laiendust. Neist kaks (Remote, Containers ja WSL) saab keelata; meie ülesande jaoks pole neid vaja. Jätke alles ainult Remote, SSH.
Kaugarenduse seadistamine
Serveriga ühenduse loomine

- Vajutage
F1või klõpsake akna vasakus alanurgas asuvat tumeoranži nuppu. - Alustage tippimist
Remote-SSH; ilmub automaatse lõpetamise soovitus Remote-SSH: Connect to Host…. Valige see ja vajutage Enter. - Ripploendist valige nimi, mille määrasite oma konfiguratsioonifaili
Hostdirektiivis, näiteksSSH: aws-ec2. VS Code hangib hostide nimekirja otse teieconfigfailist. - Valmis, olete ühendatud. Avaneb uus aken; vana saate sulgeda.
Ühendus on kiire ja redaktor tundub reageeriv, sest üle võrgu saadetakse ainult failide erinevused, mitte kogu kasutajaliides.

Tööruumi loomine
- Ava File → Open Folder… (või vajuta
Ctrl+K, seejärelCtrl+O; vajuta neid järjest, mitte korraga). - Ilmuvas failisirvijas navigeeri WordPressi juurkataloogi, näiteks
/var/www/example.com/. Tee saad käsitsi sisestada ja vajutada OK.
Kõik WordPressi failid ilmuvad vasakul asuvasse Exploreri paneeli. Teiste serverikaustade tööruumi lisamiseks (näiteks mõne teise plugina või teema kataloog) kasuta File → Add Folder to Workspace….

Nüüd salvesta see vaade tööruumina, et saaksid projektile ühe klõpsuga naasta:
- Vajuta
F1, hakka trükkimasave workja vali Workspaces: Save Workspace As…. - Salvesta fail nimega
wp.code-workspaceserveris sobivasse asukohta (.code-workspacelaiend lisatakse automaatselt). - Sulge ja ava VS Code uuesti; tööruum ilmub valikus File → Recent või laaditakse automaatselt, kui see oli viimati avatud.
Mitme tööruumi vahel vahetamiseks kasuta F1 → open work → vali nimekirjast.

Sümboolne link (valikuline)
Kui arendad konkreetset pluginat, on mugav paigutada selle lähtefailid kasutaja kodukataloogi ja luua neile WordPressis sümboolne link:
1 ln -s /home/example/wp /var/www/dev.example.com/wp-content/plugins/my-plugin
Vasakpoolne tee on tegelik projektikaust; parempoolne tee on sümboolne link kaustas wp-content/plugins. See isoleerib plugina koodi WordPressi tuumikust ja lihtsustab versioonihaldust.
⁉️🤔 Korduma kippuvad küsimused
Kas ma pean kasutama Amazon EC2 või sobib ka mõni muu VPS?
Iga Ubuntu ja SSH-ühendusega server töötab. DigitalOcean, Linode, Vultr, Hetzner: seadistusprotsess on identne. Ainus nõue on vähemalt 2 GB muutmälu, et mugavalt WordPressi arendada koos silumisega. See lähenemine ei tööta jagatud majutusel; sul on vaja juurõigust või sudot. VS Code Remote SSH ei ole seotud ühegi konkreetse pilveteenuse pakkujaga: saad ühenduda ükskõik millise masinaga, kus töötab sshd, isegi Raspberry Pi-ga oma koduvõrgus. Ainus erinevus on latentsus; mida lähemal andmekeskus, seda paremini reageeriv on redaktor.
Kas ma pean VS Code Remote SSH kaudu töötades liikluse eest maksma?
Liiklus on minimaalne. VS Code saadab üle SSH ainult failimuudatusi ja terminalikäske; ühtegi UI pikslit ega laienduse binaarfaili edasi-tagasi ei saadeta. Tüüpiline arenduspäev mahub kümnetesse megabaitidesse. Laiendused (sealhulgas Remote-SSH ise) paigaldatakse serverisse üks kord esimese ühenduse ajal, mis on ühekordne paarisaja megabaidine kulu. Kui sul on range liikluslimiit, keela kaugserveris laienduste automaatsed uuendused valikuga
F1 → Preferences: Configure Runtime Argumentsja lisa"remote.extensionDownloader.enabled": false. Kuid valdavale enamusele kasutajatest on see ebavajalik.
Kas ma saan kaugserveris töötada tahvelarvutist või telefonist?
Tehniliselt jah, VS Code for the Web kaudu brauseris, kuid mööndustega. Brauseriversioon ei toeta Remote SSH-d otse. Üks lahendus: seadista instantsil VS Code Server (see on eraldi toode, ära aja seda Remote SSH-ga segi) ja ühendu sellega oma brauserist. Klaviatuuriga tahvelarvuti puhul on see toimiv stsenaarium; telefoni puhul on see pigem uudishimuasi. Praktilisem variant on kaasas kanda kerget sülearvutit või Linuxi alamsüsteemiga Chromebooki: kogu arvutuskoormus jääb serverisse ja klient kasutab minimaalselt ressursse.
Mida teha, kui ühendus katkeb pikkade tegevusetute perioodide ajal?
Seadista oma SSH konfiguratsioonis keepalive. Lisa failis
C:\Users\Example\.ssh\configoma hosti sektsiooni kaks rida:ServerAliveInterval 60jaServerAliveCountMax 5. Klient saadab iga 60 sekundi järel keepalive-paketi ja hoiab ühendust kuni viie järjestikuse kadunud paketi korral, seega suudab ühendus üle elada kuni 5 minutit täielikku võrguvaikust. Alternatiiv: käivita serveris pikalt kestvate protsesside jaokstmuxvõiscreen, et vältida terminalisessiooni kaotamist, kui ühendus katkeb.
Kas privaatvõtme avatekstina Windowsi masinal hoidmine on ohutu?
Paroolita
.pemfail on jah, lihttekst, mida igaüks, kellel on juurdepääs sinu Windowsi kontole, saab lugeda. Kaitsemeetmed kasvavas turvalisuse järjekorras: (1) määra võtme loomisel parool (ssh-keygenküsib seda; ära vajuta Enter, vaid sisesta parool); (2) hoia võtit krüpteeritud partitsioonil (BitLocker on Windows 11 Pro-s vaikimisi lubatud); (3) tootmiskeskkondade puhul kasuta SSH-agenti koos riistvaralise võtmega (YubiKey). Arenduskeskkonna jaoks on kompromissvariant parooliga võti: VS Code jätab selle sessiooni ajaks meelde, sul tuleb see sisestada vaid korra päevas, kuid võti muutub ilma paroolita kasutuks, isegi kui fail lekib.
Mida valida igapäevatööks: Remote SSH või lokaalne stack
Remote SSH läbi VS Code ei ole imerohi. Kui kirjutad pluginat, mis vajab ainult wp-cli-d ja ühikteste, siis lokaalne Dockeri seadistus wordpress-develop-iga ehitab minuti jooksul ega vaja internetiühendust. Aga kui sa silud integratsiooni välise API-ga, testid brauseritevahelist ühilduvust või näitad kliendile edenemist, siis võidab kaugserver tootmiskeskkonnaga.
Kombineeritud lähenemise puhul hoia ühte arenduse EC2 instantsi pidevalt töös (reserveeritud t3.small on mõistliku hinnaga) ja ühendu sellega igal ajal ükskõik kust. Kood elab serveris, automaatsed varukoopiad on lubatud ja sa ei ole ühegi konkreetse masinaga seotud. Proovi järele: pärast nädalat kaugarendust ei taha sa enam XAMPP-i juurde tagasi minna.



