Czasem praca zdalna nad projektem nie jest możliwa albo pożądana i projekt trzeba tworzyć na serwerze lokalnym. Pracując w systemie Windows (niestety ciągle, mimo najszczerszych chęci nie dogaduję się z Linuksem) wykorzystuję do tego celu pakiet XAMPP. Bardzo przyjemne narzędzie. Jednak praca na lokalnym serwerze niesie za sobą pewne niedogodności. Adresy aplikacji zawierają w sobie podkatalogi w których umieszczone są projekty. Przy przenoszeniu na serwer trzeba o tym pamiętać i usunąć z kodu wszystkie odniesienia do katalogu w którym projekt pisało się lokalnie.
Można sobie ułatwić życie tworząc odpowiednie definicje hostów lokalnych. W tym celu należy odnaleźć plik konfiguracyjny w którym znajdują się definicje hostów. W zależności od dystrybucji będzie to:
/xampp/apache/conf/httpd.conf
albo
/xampp/apache/conf/extra/httpd-vhosts.conf
Należy gdzieś na końcu dodać sekcję:
<VirtualHost *:80> DocumentRoot "C:/Program Files/Programowanie/xampp/htdocs/projekty/projekt3" ServerName nazwaprojektu.localhost </VirtualHost>
Oczywiście można dodać takich sekcji kilka, dla każdego projektu osobną definicję. Następnie trzeba odnaleźć plik C:/Windows/System32/drivers/etc/hosts i obok definicji:
127.0.0.1 localhost
dopisać:
127.0.0.1 nazwaprojektu.localhost
Być może zajdzie jeszcze potrzeba edycji pliku /xampp/apache/conf/httpd.conf i ustawienia w nim flagi
AllowOverride = All
I już możemy się cieszyć, bo możemy wpiać w oknie adresu przeglądarki http://nazwaprojektu.localhost zamiast http://localhost/projekty/projekt3/. Prawda, że sympatycznie i przyjemnie. No i przy przenoszeniu na serwer wystarczy tylko w pliku konfiguracyjnum zmienić nazwę domeny i już działa.
Wszystko ok, ale pamiętaj, że Apache nie do końca lubi spacje w ścieżkach, dlatego umieszczanie swojej pracy w “Program Files” nie będzie dobrym pomysłem. Najlepiej jest zlokalizować katalog “www” w najwyższym poziomie jednej z partycji innej niż systemowa (np. E:\www), wtedy zarówno serwer nie ma problemu, jak też Ty, kiedy system padnie i trzeba będzie sformatować partycję C.
U mnie świetnie sprawdza się w połączeniu z darmową domeną .tk której wszystkie subdomeny automatycznie kierują na laptopa.
Plusy:
– nie trzeba za każdym razem edytować etc/hosts
– wystarczy wysłać linka i każdy ma dostęp
Minusy:
– trzeba mieć stałe, publiczne IP
Nigdy nie miałam problemów ze spacją w ścieżkach i Apache mi się nie buntował. Lubię porządek na dysku i mam XAMPP zainstalowany w “Program Files” tak jak całą resztę i tam też mam katalog z projektami. Gdyby to powodowało jakiekolwiek problemy to bym to zmieniła, ale problemów nie ma więc nie widzę powodów, żeby cokolwiek z tym robić.
A na pad systemu to ja mam jedną o wiele lepszą metodę, bo ratuje mnie też w przypadku padu dysku. TO się nazywa archiwizacja danych na nośnikach zewnętrznych :P Bardzo stara i ciągle niezawodna metoda ochrony danych.
co do domeny .tk to przyznam że nic o niej nie wiem ale mnie to zainteresowało. Choć i tak nie do zastosowania u mnie ze względu na dynamiczne IP.
Jest taka zasada, która mówi, aby nie trzymać czegokolwiek związanego z pracą (projekty, materiały) na tej samej partycji, co system.
Powód? Pad/wirus, wszystko dotyka w większości przypadków właśnie partycję systemową.
Pad, wirus itp. Na to receptę już podałam. Masz swoje przyzwyczajenia, ale mnie nie przekonałeś i na tym zakończmy.
Ja osobiście korzystam z WebServa i polecam jego przetestowanie http://www.webserv.pl/
Całkiem przyjemny i zawiera (na chwilę obecną):
– Apache 2.2.3
– PHP 4.4.4 + SQLite
– PHP 5.1.5 + PECL modules
– MySQL 4.0.26
– MySQL 5.0.24
– MySQL Control Center 0.9.4
– CesarFTP 0.99g
– No-IP 2.2.1
– phpMyAdmin 2.8.2.2
“PECL modules” brzmi obiecująco.
Czy dobrze wnioskuję, że przedkładasz pracę na serwerze nad pracę na localhoscie?
Jeśli tak, to zakładam, zże nie używasz żadnego systemu wersjonowania. Idą dalej tym torem, nie dziwię, się, że nie przekonuje Cię trzymanie danych projektów i baz danych gdzieś indziej niż Program Files.
Na C: trzymam tylko “binarki” – projekty, /data postgresa itp. leżą sobie spokojnie na osobnym dysku – dzięki czemu mieszanie Windowsa nie ma nic wspólnego z mieszaniem werjonowatych i ubijaniem dysku regularnym importem kilkugigabajtowych baz.
Polecam spróbować, podpisujac się pod tym, co pisze eRIZ
Tak, przedkładam pracę na localhost od pracy na serwerze. Choćby z tego powodu, że pracując lokalnie nie muszę mieć stałego dostępu do sieci. Mogę pracować zarówno w podróży jak i w głuszy bez zasięgu. I póki jestem sobie żaglem, sterem i okrętem to nie ma problemu.
To oczywiście nie wyklucza korzystania choćby z SVNa, bo niby dlaczego miałoby wykluczać?
Aha. Na C trzymam wszystko, bo mam tylko C :) taki “urok” laptopów. Owszem. Mogłabym to poprawić, ale nie chce mi się, bo gra nie warta świeczki.
Też nie dogadałem sie z linuksem.
Ja kożystam z WAMP’a. Też przyjemne narzędzie;)
*nie jestem profesjonalną programistką, tylko naukowcem/psychologiem ;) tam też jest potrzebne programowanie;)
Zatem polecam swoje usługi :)