Host wirtualny

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.

13 komentarzy do wpisu „Host wirtualny”

  1. 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.

  2. 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

  3. 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.

  4. 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ć.

    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ą.

  5. 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

  6. 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

  7. 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.

Leave a Reply

%d bloggers like this: