Calypso - jak korzystać?

Przewodnik po usługach Calypso

Modyfikowany 2007-11-04

Schemat kont użytkowników

Konta użytkowników na serwerze można podzielić na dwie klasy:

konta deweloperów
Są to konta dostępne zdalnie przez ssh, przydzielone do poszczególnych deweloperów pracujących na Calypso. Za ich pośrednictwem realizuje się dostęp do projektów (stron WWW, repozytoriów CVS i Subversion). Katalogi domowe znajdują się w katalogu /home/developers.
konta projektów
Są to konta przeznaczone do przechowywania plików projektów. Można się na nie zalogować z konta dewelopera przypisanego do tego projektu za pomocą polecenia su_NAZWA (Uwaga: chodzi tu o komendę inną niż standardowe su). Jednak większość operacji na plikach projektu może być dokonywana z konta dewelopera i taka metoda jest zalecana. Katalogi domowe znajdują się w katalogu /home/projects. W całym tym dokumencie zamiast NAZWA należy podstawiać nazwę użytkownika projektowego.

Każdy deweloper jest przypisany do co najmniej jednego projektu i ma dostęp do jego plików (zarówno w katalogu domowym, jak i repozytorium CVS i Subversion). Dla ułatwienia w katalogu domowym dewelopera są dowiązania symboliczne do jego projektów.

Dostęp do kont

Jak już wspomniano dostęp do kont deweloperów realizowany jest po przez ssh. Można w tym celu wykorzystywać takie programy jak ssh, putty, scp.

Dla uproszczenia procesu autoryzacji i zwiększenia jego bezpieczeństwa, zaleca się skorzystanie z mechanizmu autoryzacji kluczem publicznym. W tym celu należy wygenerować parę kluczy (publiczny i prywatny) następującą komendą:

ssh-keygen -t dsa

Klucz publiczny (id_dsa.pub) należy dopisać do pliku ~/.ssh/authorized_keys2 na serwerze, a klucz prywatny (id_dsa) przekopiować do katalogu ~/.ssh/ na maszynie lokalnej.

Uwaga: Klucz prywatny powinien być przechowywany w katalogu niedostępnym dla innych użytkowników, a sam powinien mieć ustawione uprawnienia 600.

Serwer WWW.

Każdy projekt ma swoją stronę domową dostępną pod adresem http://calypso.cs.put.poznan.pl/projects/NAZWA lub http://calypso.cs.put.poznan.pl/~NAZWA. Katalogiem udostępnionym jest: ~/public_html. Przy tworzeniu stron dynamicznych opartych o skrypty PHP należy uważać na następujące ograniczenia:

Serwer apache pracuje z uprawnieniami grupy dla każdego projektu, w związku z tym minimalnym zestawem uprawnień potrzebnych dla stron WWW, przy założeniu ze użytkownicy nie należączy do projektu nie mają dostępu, jest:

Tomcat

Dostęp do serwera Tomcat realizowany jest za pomocą aplikacji tomcat-manager. Jest ona interfejsem na panel zarządcy tomcata, ale pozwala na odseparowanie od siebie kont projektów. Ogółna składnia polecenia manage-tomcat to:

manage-tomcat komenda NAZWA [dodatkowe argumenty]

Polecenie to może być uruchamiane zarówno z kont deweloperskich jak i projektowych, stąd potrzeba podania jakiego projektu dane polecenie dotyczy. Dodatkowo część polecen wymaga kontekstu aplikacji. Wewnątrz tomcata aplikacje identyfikowane są przez kontekst przypominający ścieżkę w systemie plików. Żeby uniknąć konfliktu kontekstów pierwsze dwa "katalogi" na tej ścieżce są ustalone. W ogólności wygląda to następująco:

/webapps/NAZWA/kontekst

Gdzie NAZWA to nazwa projektu, a kontekst to ciąg znaków podany przy wywoływaniu polecenia manage-tomcat. Oto lista obsługiwanych komend:

Dokładniejszy opis poleceń można znaleźć w dokumentacji tomcatowego managera, np. tutaj.

Dostęp do aplikacji na tomcacie jest realizowany poprzez serwer apache pod adresem: http://calypso.cs.put.poznan.pl/webapps/NAZWA/kontekst/

Mono XSP

Usługa została tymczasowo wyłączona

Aplikacje ASP.NET można umieszczać w katalogu /home/projects/NAZWA/mono/. Katalog ten dostępny jest przez adres: http://calypso.cs.put.poznan.pl/mono/NAZWA/

Bazy danych

Obecnie dostępne są dwa systemy baz danych: MySQL i PostgreSQL. Można z nich korzystać z poziomu konta lub po przez interfejsy WWW: PhpMyAdmin i PhpPgAdmin.

CVS

Jeśli projekt ma założone repozytorium CVS to dostęp do niego może być realizowany przez komendę:

cvs -d :ext:LOGIN@calypso.cs.put.poznan.pl:/var/cvsroot/NAZWA checkout .

Repozytoria znajdują się w katalogu /home/projects/NAZWA/cvsroot (jest /var/cvsroot/NAZWA dowiązaniem symbolicznym do niego). Niestety nie znaleziono jeszcze działającej metody dostępu do wielu repozytoriów CVS za pomocą metody pserwer (sami autorzy ten temat przemilczeli). Jako alternatywę dla dostępu anonimowego zostawiamy ViewCVS (patrz dalej).

Subversion

Subversion jest alternatywą CVS, pod wieloma względami go przewyższającą. Repozytoria znajdują się w katalogu /home/projects/NAZWA/svnroot (jest /var/svnroot/NAZWA dowiązaniem symbolicznym do niego). Checkout dla projektu może wyglądać następująco:

Dla repozytoriów Subversion funkcjonuje automatyczne powiadamianie o commitach na adresy e-mail podane przy rejestracji konta. W celu jego wyłączenia należy zakomentować/usunąć w pliku /home/projects/NAZWA/svnroot/hooks/post-commit linię zaczynająca się od commit-email.pl Sporo przydatnych wskazówek dotyczących korzystania z Subversion można znaleźć w materiałach przygotowanych przez dr inż. Cezarego Sobańca, prezentacji i Quick Reference Card.

Statystyki repozytoriów zbierane raz dziennie dostępne są pod adresem: http://calypso.cs.put.poznan.pl/mpy-svn-stats/NAZWA/

ViewCVS

ViewCVS oferuje wygodny interfejs WWW dla repozytoriów CVS i Subversion. Jest on dostępny pod adresem: http://calypso.cs.put.poznan.pl/viewcvs. Umożliwia on miedzy innymi pobranie całej zawartości repozytorium w postaci archiwum tar.gz (http://calypso.cs.put.poznan.pl/viewcvs/root.tar.gz?root=NAZWA_c&view=tar lub http://calypso.cs.put.poznan.pl/viewcvs/root.tar.gz?root=NAZWA_s&view=tar). Repozytoria CVS maja w nazwie końcówkę _c a Subversion końcówkę _s.

Trac

Pod adresem http://calypso.cs.put.poznan.pl/project/NAZWA (project bez s) dostępny jest system zarządzania projektami Trac. Oferuje on issue trackera, integrację z Subversion i mechanizm wiki. Logowanie się nastepuje za pomocą loginu i hasła wykorzystywanego przy dostępieprzez ssh. Zaawansowane opcje konfiguracyjne dostępne są z linii poleceń z poziomu użytkownika projektowego:

su_NAZWA
trac-admin ~/trac

Dokumentacja systemowa

Dokumentacja systemowa jest dostępna przez WWW pod adresem: https://calypso.cs.put.poznan.pl/docs/system/. Login i hasło takie samo jak dla ssh.

Własne serwery HTTP

Każdy projekt może uruchomić własny serwer protokołu HTTP. Serwer ten musi być uruchomiony na uprawnieniach konta projektowego i nasłuchiwać na interfejsie lokalnym na porcie 7000 + uid konta projektowego. Dostęp z zewnątrz do takiego serwera realizowany jest za pośednictwem serwera Apache przy następującycm mapowaniu URL-i: http://calypso.cs.put.poznan.pl/proxy/NAZWA_PROJEKTU/(.*) > http://localhost:port/$1 . Apache dokonuje automatycznej translacji odnośników zawartych w treści HTML, ale nie jest to mechanizm doskonały.

Uwagi

Ten dokument może podlegać częstej aktualizacji.