Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Testovací prostředí pro vývoj webů před uploadem na server

Na serveru běží Debian a klasika webový sw využívající PHP, MySQL, Apache. Vývoj probíhá na stanici s win7, xampp. Z toho plynou problémy: před uploadem otestovaného kódu na server je třeba pozměnit cesty k souborům a adresářům apod. Proto přemýšlím o nějakém řešení jak toto obejít a eliminovat tak možnosti vzniku dalších chyb a nutnost dalšího testování. Můžete doporučit jaká jsou vhodná řešení? Je vhodné použít např. virtualizaci a server nějak zezrcadlit (jak?). Nebude nějaký problém v souvislosti s tím, že server poběží ve virtuálu na jiné ip adrese?
Řešení změny serveru na windowsí prosím neuvažovat.

Uvítám veškerá nakopnutí správným směrem. Předem děkuji.

Předmět Autor Datum
virtualizace je řešením. Pokud ve svém řešení nepoužíváš IP adresy a naopak použiješ stejnou verzi O…
touchwood 24.11.2014 15:53
touchwood
Díky, no asi to tak uděláme. Ale zajímalo by mě, jak se to řeší třeba u nějakých větších projektů. Z…
AnoZačátečník 24.11.2014 17:51
AnoZačátečník
Ale to se přece neřeší IP adresou, ale jmenným serverem, nebo v případě malých projektů hosts soubor… nový
touchwood 24.11.2014 19:30
touchwood
díky, poznamenám si ;-) nový
AnoZačátečník 24.11.2014 19:33
AnoZačátečník
před uploadem otestovaného kódu na server je třeba pozměnit cesty k souborům a adresářům apod. Ty n… nový
pme 24.11.2014 17:57
pme
ne, proč? nový
AnoZačátečník 24.11.2014 19:09
AnoZačátečník
Protože kdyby cesty byly relativní, nemusel bys nic přepisovat... nový
host 24.11.2014 20:36
host
On se ptal ale na absolutní. Používám relativní, ale v linuxu a na lokále ve win ten zápis je jiný. nový
AnoZačátečník 24.11.2014 23:44
AnoZačátečník
No, hlavně že víme, o čem je řeč. ;-) Nikdy jsem neměl problém s cestami (na lokále pod Win a na ser… poslední
host 25.11.2014 17:37
host
Rozhodně souhlasím s Touchwoodem. Osobně jsem stejný "problém" vyřešil instalací VirtualBoxu na své… nový
Cecil 24.11.2014 20:11
Cecil
moc díky za příspěvky, pánové nový
AnoZačátečník 24.11.2014 20:34
AnoZačátečník
Záleží teda samozřejmě na tom, jak moc "správnou" cestou jste se vydali a jestli veškerý tyhle "prom… nový
AnoZačátečník 24.11.2014 20:37
AnoZačátečník
Rozdiely v prostrediach sa všade, pri veľkých či malých projektoch, riešia konfiguračným súborom tak… nový
los 25.11.2014 00:14
los

virtualizace je řešením. Pokud ve svém řešení nepoužíváš IP adresy a naopak použiješ stejnou verzi OS a nastavení jako na fyzickém serveru, bude to prakticky 1:1 a neměl by s tím být velký problém.

Díky, no asi to tak uděláme. Ale zajímalo by mě, jak se to řeší třeba u nějakých větších projektů. Zda a jak tam mají nasimulované v tom virtuálnu třeba i to použití IP adres apod. Přece to nemůžou všechno přepisovat za běhu až při nasazování na produkční server?

Rozhodně souhlasím s Touchwoodem. Osobně jsem stejný "problém" vyřešil instalací VirtualBoxu na své pracovní Windows stanici. V něm běží debian s apachem a stejnou verzí php a databází jako na produkčním serveru (a jeho databází). Struktura adresářů s weby je také stejná, jako na produkci. Tím se eliminuje nutnost přenastavovat jakékoliv cesty.
Dále mám na virtualu v /usr/share/php* stejné sdílené knihovny, jako na produkci a pozapínané všechny moduly pro apache/php (rewrite, mcrypt atd..) Ale moc toho naštěstí oproti defaultní instalaci debianu není, takže je to ponastavované za chvilku.

Z IDE se pak připojuju na tuto lokální verzi, kde dělám veškeré úpravy.
Když jsou úpravy ready, tak přes ssh pomocí rsync (na mym virtualu) zkopčím/uploadnu soubory na produkční server. Žádný ruční kopírování, jen spuštění jednoho scriptu, který to obstará. Odpadá tak nutnost přepisovat cesty + si v tom synchronizačním scriptu (což doporučuju používat, než furt psát rsync --tunymodifikatoru..) můžeš udělat třeba kontrolu, jestli už na produkční verzi neexistují nějaké novější soubory, který u sebe ve virtualu nemáš a tímto bys je přepsal a přišel tak o práci. Jak na to, se možná dozvíš, jestli mi někdo odpoví na tento dotaz: http://pc.poradna.net/q/view/1335103-linux-porovna ni-adresaru-novejsich-souboru :)

Případně si můžeš udělat v konfiguráku tvého webu (ne virtualhostu apache, ale tvé php aplikace) podmínku, jestli se zrovna jedná o (připojuješ se na) vývojovou či produkční verzi. Pro každou verzi pak budeš mít rozdílné cesty, ale i ostatní nastavení jako třeba credentials(sorry, český ekvivalent mě teď nenapadá.) k databázi apod.
Záleží teda samozřejmě na tom, jak moc "správnou" cestou jste se vydali a jestli veškerý tyhle "proměnný" jako cesty, údaje k databázi.. máte konfigurovatelný na jednom místě a ne třeba naprasený přímo v útrobách kódu zdrojových.

Záleží teda samozřejmě na tom, jak moc "správnou" cestou jste se vydali a jestli veškerý tyhle "proměnný" jako cesty, údaje k databázi.. máte konfigurovatelný na jednom místě a ne třeba naprasený přímo v útrobách kódu zdrojových.

stojím zuřivě s bičíkem nad každým, kdo chce uhnout z objektového řešení aplikace :x:

Rozdiely v prostrediach sa všade, pri veľkých či malých projektoch, riešia konfiguračným súborom tak, že pri uploade na server nie je potrebné nič meniť. Konfiguračný súbor sa samozrejme napíše len raz a potom sa už neprepisuje.

Cieľom nie je mať úplne totožné prostredie, pretože nie je celkom žiaduce mať napríklad rovnaké prístupové heslá do testovacej databázy a do ostrej databázy.

Zpět do poradny Odpovědět na původní otázku Nahoru