Środowisko Dev Na Virtualbox

Witam wszystkich,

chciałem się Was poradzić bo temat mnie męczy od dłuższego czasu. Obecnie pracuję tak:

  • Laptop z Windows 7 a na nim PhpStorm

  • VirtualBox z Debianem a w nim LAMP+Samba+DNS Server

  • Mapuję dysk z Vboxa jako Z w windowsie

  • Odpalam edytor, zakładam projekt na zmapowanym dysku

  • koduję

  • wyniki oglądam pod windowsem z serwera linuksowego

Wszystko ładnie pięknie, ale czy jest lepsza droga? To chodzi dość wolno, mam problemy z uprawnieniami do plików (jak założę projekt przez putty to już samba nie ma do niego praw dostępu). Chcę mieć serwer tak jak mam na debianie, ale na lapku muszę mieć Windowsa, więc tylko Vbox wchodzi w grę. Tylko ta szybkość pracy… czasem mam tak, że zmiany widzę dopiero po 5-8 sekundach bo coś zamuli.

Czy praca przez SFTP byłaby lepszym rozwiązaniem, a może NFS? Nie bardzo widzi mi się mieć kopię kodu w jakimś katalogu pod windowsem i po każdej zmianie robić update (tak było pod netbeansem kiedyś nie wiem jak teraz jest). Jeśli możecie, podzielcie się swoimi uwagami i środowiskami pracy. Z pewnością jest więcej osób zainteresowanych lub pragnących polepszyć swe warunki pracy.

Dziękuję.

Wszystko spoko tylko po co Ci ten VirtualBox, przeciez pod windowsa jest sporo pakietow php,mysql (xampp,server to go)

co masz na mysli piszac " Chcę mieć serwer tak jak mam na debianie " ? Tak jak napisał baranek xampp wamp itp to jakies tam rozwiazanie, tylko kwestia tego dlaczego chcesz mieć debiana ? Ja używam wampa i nie narzekam w xampie wiem ze byl problem ze zmiana wersji php.

Faktycznie, naokoło trochę z tym serwerem na debianie, a edytorem na windowsie… Jeżeli mogę wiedzieć, dlaczego nie możesz mieć wszystkiego w jednym systemie? Dlaczego edytor tu, a serwer tam?

Moim zdaniem, jeżeli musisz z jakiś przyczyn zachować obecny układ, najlepsze będzie traktowanie debiana jako serwera zdalnego. Czyli w IDE ustawiasz dane debiana jako remote server, pracujesz na plikach pod windowsem, a edytor po każdym zapisaniu pliku sam wysyła po ftp plik na "serwer" - wirtualną maszynę.

Cześć

Przepraszam, ale nie wiem po jaką … tak sobie komplikujesz.

Ja używam do kilku lat takiej konfiguracji pod windowsa, pracuję przeważnie na frameworkach yii, zend, ci, kohana

  1. http://www.wampserver.com/en/ możesz sobie nawet sam "skomponować" pakiet instalacyjny, masz kilka wersji php, apacha. Możesz sobie doinstalować peara a potem PHPUnit i co tam Ci potrzeba. Pamiętaj o konfiguracji ścieżek dostęu. Sam pakiet frameworka trzymam poza katalogiem instalacyjnym wampservera i dodaję do "PATH" windowsa, pozwala mi to na pracę z różnymi wersjami (ale to już kwesta gustu). Twożenie projektów jest proste, w katalogu wamp->www zakładasz nowy katalog i odwołujesz się do niego przez http:\\localhost\nowy katalog, przy kopiowaniu na serwer produkcyjny pierwszy raz musisz nadać odpowiednie prawa tylko dla dwóch katalogów: assets i protected->runtime. Prcowałem także pod xampem ale co jakiś czas wykręcił mi numer z zawieszaniem całego kompa a potem problemy z uruchomieniem projektu, kolega pracował na krasnalu ale w końcu jak pokazałem mu "funkcjonalność-interfejs" wampa to też przeszedł i nie żałuje. Interfejs jest mega prosty i rozbudowany zarazem, chociaż np logi serwera lepiej sprawdzać "ręcznie" z pominięciem interfejsu.

  2. phpstorm 6, zaczynałem od wersji 2.0 i zostałem do dziś, ani razu nie wywalił mi projektu (co zdażyło mi się przy eclipsie i netbeansie), ma super rozwiązaną funkcję lokalnej historii oraz inne ale to wiesz skoro używasz.

To tyle, wybór poparty doświadczeniem no i oczywiście subiektywny.

Dlaczego komplikuję:

  • pracuję nie tylko z PHP

  • Bardzo często używam skryptów bash

  • Dyski VBox są na dysku zewnętrznym USB, który przenoszę pomiędzy kilkunastoma komputerami (niestety taka praca) ale maszyny są identyczne jeśli chodzi o konfigurację :) dlatego chcę uniknąć kopii projektu na dysku lokalnym.

  • Uprawnienia plików, gity, svny i inne ustrojstwa po prostu kuleją pod WAMP i Windows

Pracowałem przez 3 lata na Wampie. Projekt bardzo dobry i wygodny, ale schody zaczynają się jeśli chcemy np. mieć automatyczne tworzenie projektu, domen itp. na środowisku dev. U mnie po prostu piszę w bashu: ./start_project <path> <name> i mam zrobione katalogi ze strukturą plików. Konfiguracja DNS i Apache daje mi od razu dostęp do domeny <name>.dev.local.lan i utworzenie bazy o nazwie dev_<name>

Korzystacie z InnoDB? Zobaczcie sobie ile wam zajmuje folder bazy danych w wampie i ile plików z tabelami macie w katalogu bazy danych w wampie. U mnie były 2 pliki po 400MB na baze w windows. Po debianem każda tabela ma swój plik.

Nie mam problemów z kopiami zapasowymi: tar -cvfx i wysłanie przez FTP na serwer backupów, w windows już tak kolorowo nie było.

Dalej nie rozumiem dlazego nie możesz pod linuksem robić wszystkiego związanego z php. Po co ten edytor pod windą? Jeżeli dobrze pracuje Ci się pod linuksem, to pod nim pracuj, a w Windowsach rób pozostałe rzeczy.

Jeżeli są jeszcze jakieś inne powody dla których koniecznie musisz mieć taki dziwny podział, to możesz sobie ułatwić życie pod windowsem:

W takim przypadku proponuje zapoznać się bliżej z systemami kontroli wersji oraz serwisami typu Assembla, BitBucket. W razie potrzeby repozytorium centralne można założyć łatwo na serwerze firmowym.

Nie wiem co ma do tego WAMP, ale z łatwością korzystam z msysgit pod windows i nie uważam, żeby działał gorzej niż na laptopie z Chakrą. Na czym polega problem z gitem i svnem?

msysgit na przykład przychodzi z konslolą bash

Rozumiem, zgadzam się i polecam innym! Tylko, że nic nie stoi na przeszkodzie, żeby zrobić dokładnie to samo pod windą. Na przykład korzystając ze wspomnianej wyżej konsoli bash z msysgit.

Tylko i wyłącznie kwestia konfiguracji: http://dev.mysql.com…ablespaces.html

Te sprzęty niestety nie współgrają z linuksem (jakieś dziwne fujitsu siemens) a na moim laptopie grzeje mi się strasznie dysk pod linuksem, a nie ma rozwiązania problemu. No i dziecko czasem też gra sobie na innym użytkowniku. Długo by gadać.

A praca w domu? Tam nie mam opcji dostępu do firmy z zewnątrz. Pull przed koncem pracy, a po przyjściu do pracy od razu push :) Może to i wyjście, ale w domu i na każdym kompie bym musiał instalować WAMPa. A tak mam serwer na dysku zewnętrznym i tylko podpinam się do maszyny i startuję go i wszystko mam.

Tak. MySysGit. Bardzo dobry projekt.Nie wiedziałem o jego możliwościach. Kiedyś go używałem i zapomniałem o nim bo nie wystarczał. Ale wiele się zmieniło widzę na plus.

A co z serwerem DNS pod windowsem? Też bym go musiał instalować na każdej maszynie albo na serwerze firmowym, ale w domu o pracy mogę zapomnieć.

Chyba jednak najlepiej będzie dalej się męczyć i pod sambą mapować dyski i modlić się o brak opóźnień oraz pamiętać o chmod. Chyba, że jest jakaś alternatywa dla samby by mieć dostęp do jakiegoś katalogu na serwerze linuksowym pod windowsem?

Nawet routery za 150 zł mają serwer VPN ;). http://www.wasserman.pl/pl_PL/p/s/1739

Instalacja na serwerze w firmie, w konfiguracji połączenia VPN ustawione IP lokalne serwera DNS z sieci firmowej.

No tak… Zdarzają się takie sytuacje.

PHAR, PEAR, PECL to rozwiązania bardzo kulejące pod Windowsem - przykładowo katorgą jest instalacja biblioteki ImageMagick. Gdy potrzeba stworzyć bardziej zaawansowane narzędzie (np. konwersja plików), dostęp do basha staje się zbawieniem. Sam tłucze się z podobnym dylematem, tymczasowo zastosowałem rewers (Windows jako guest na VM).

Z mapowaniami jest wiele problemów, przykładowo system udostępniania folderów w VirtualBox. Podczas pracy z projektem, musiałem zrestartować usługę http (nie ważne czy to było Apache czy Nginx) aby zobaczyć efekt zmiany (edycja oraz nowo utworzone pliki).

Oglądanie wyników na Windowsie jest rzeczą jasną, niestety ciężko jest uzyskać identyczne renderowanie pod Linuksem (długo wałkowałem ten temat).

Dobrze skonfigurowana samba i wszytko smiga jak malowane. ja od trzech lat mam taki model developmentu + xdebug i wszystko jest super. jezeli tworzysz cos pod puttym i chcesz miec dostep do tego po smb to przelacz sie na odpowiedniego uzytkownika.

A czy możesz się podzielić plikami konfiguracji apache i samby?

Można przez ssh synchronizować pliki. Osobiście pracuję tak, że mam VPS’a do którego NetBeans wysyła przez SSH pliki przy zapisie. Jak z jakiegoś powodu synchronizacja się rozjedzie (np edycja poza NetBeansem - wtedy czasami nie wysyła zmian) to robię jednorazowo sync przez WinSCP. Można też ustawić WinSCP żeby monitorował foldery i w razie zmian wysyłał nowe wersje plików.

Mimo że VPS daleko, to działa to bardzo szybko. Tak samo można się łaczyć z linuxem na VM. Z uprawnieniami nie ma żadnych problemów.