= Instalowanie Trac'a jako CGI = Żeby zainstalować Trac'a jako skrypt CGI będziesz musiał ustawić `trac.cgi` wykonywalnym jako CGI w twoim serwerze web. Jeśli używasz [http://httpd.apache.org/ Apache HTTPD], jest kilka sposobów aby tego dokonać: 1. Użycie `ScriptAlias(aliasów skryptów)` żeby zmapować URL do skryptu `trac.cgi`. 2. Skopiowanie pliku `trac.cgi` do katalogu gdzie twój serwer web będzie wykonywał skrypty CGI (zwykle nazywany `cgi-bin`). Możesz również stworzyć symboliczne dowiązanie, ale wtedy upewnij się że obcja `FollowSymLinks` jest włączona na rzecz twojego katalogu `cgi-bin`. Zalecana jest pierwsza opcja gdyż pozwala mapowanie CGI do przyjaźnie wyglądającego URL. Teraz, zedytuj plik konfiguracyjny Apache o dodaj snippet, nazwy plików oraz położenie, zgodne z twoją instalacją: {{{ ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi # Trac musi wiedzieć gdzie znajduje się twoja baza SetEnv TRAC_ENV "/path/to/projectenv" }}} To spowoduje że Trac będzie dostępny pod adresem: `http://yourhost.example.org/trac`. ''Uwaga: Upewnij się że moduły takie jak mod_alias oraz mod_env są dostępne i są włączone w konfiguracja Apacha.'' ''Note: Jeśli używasz opcji [http://httpd.apache.org/docs/suexec.html Apache suEXEC], zobacz [http://projects.edgewall.com/trac/wiki/ApacheSuexec ApacheSuexec] (na stronie głównej Trac'a).'' == Mapowanie Zasobów Statycznych == Trac sam z siebie może serwować zasoby statyczne takie jak arkusze stylów bądź rysunki. Użycie CGI jest w tym momencie wysoce bezsensowne ponieważ powoduje każdorazowe wywołanie skryptu CGI dla dokumentów które mogły by być znacznie efektywniej serwowane przez serwer web. Serwery web takie jak [http://httpd.apache.org/ Apache HTTPD] pozwalają tworzyć “aliasy” do zasobów, poprzez tworzenie wirtualnych URLi które niekoniecznie są w jakiś sposób identyczne dla warstwy systemu plików serwera web. Używaliśmy tej możliwości już wcześniej, definiując `ScriptAlias` do skryptu CGI i użyjemy go teraz żeby mapować zapytania skryptu CGI. Przeedytuj plik konfiguracyjny Apache ponownie i dodaj następujący snippet '''przed''' `ScriptAliasem` dla skryptu CGI, nazwy plików oraz lokacje odpowienio zmienione dla twojej instalacji: {{{ Alias /trac/chrome/common /usr/share/trac/htdocs Order allow,deny Allow from all }}} Zauważ że bez znaczenia jest dokąd mapowałeś skrypt, bo ścieżka `/chrome/common` jest ścieżką którą trzeba dodać do lokacji aby złapać na czas zapytania do zasobów statycznych. Na przykład jeśli Trac jest mapowany do `/cgi-bin/trac.cgi` na twoim serwerze, to Alias do URL powinien brzmieć `/cgi-bin/trac.cgi/chrome/common`. Alternatywnie możesz ustawić opcję `htdocs_location` w [wiki:TracIni trac.ini]: {{{ [trac] htdocs_location = /trac-htdocs }}} Trac użyje wtedy tego adresu URL w trakcie osadzania zasobów statycznych na stronie HTML. Oczywiście wciąż musisz uczynić katalog `htdocs` dostępnym dla Trac'a poprzez serwer web pod specyficznym adresem URL. Na przykład poprzezkopiowanie (lub linkowanie) katalogu do katalogu głównego serwera web. == Dodawanie Autoryzacji == Najprostszym sposobem włączeina autoryzacji w Apache jest stworzenie pliku z hasłem. Użyj programy `htpasswd` aby stworzyć nowy plik z hasłem: {{{ $ htpasswd -c /somewhere/trac.htpasswd admin New password: Re-type new password: Adding password for user admin }}} Po dodaniu pierwszego użytkownika, nie potrzeba już przełącznika "-c": {{{ $ htpasswd /somewhere/trac.htpasswd john New password: Re-type new password: Adding password for user john }}} ''Uwaga: Po więcej informacji, zobacz stronę manuala dla hasła `htpasswd`.'' Jeśli już utworzyłeś użytkowników, możesz w prosty sposób nadać im uprawnienia, wykorzystując TracPermissions. Teraz będziesz musiał włączyć autoryzację przeciwko plikowi haseł w konfiguracji Apacha: {{{ AuthType Basic AuthName "Trac" AuthUserFile /somewhere/trac.htpasswd Require valid-user }}} Dla lepszej ochrony, rekomendowane jest wlączenie SSL albo przynajmniej użycie schematu autoryzacji “Digest” zamiast “Basic”. Po więcej informacji, przeczytaj [http://httpd.apache.org/docs/2.0/ dokumentację Apache HTTPD]. ---- Zobacz również: TracGuide, TracInstall, TracFastCgi, TracModPython