Changes from Version 1 of TracCgi

차이점 주위로
다음 차이점은 무시하기:
작성자:
trac (IP: 127.0.0.1)
날짜/시간:
2009-05-24 AM 7:16:16 (16 년 전)
설명:

--

Legend:

변경되지 않음
추가됨
제거됨
변경됨
  • TracCgi

    v0 v1  
     1= CGI 모드로 Trac 설치하기 = 
     2 
     3To install Trac as a CGI script, you need to make the `trac.cgi` executable as a CGI by your web server. 
     4 
     5  ''Please note that using Trac via CGI is significantly slower than any other deployment method, such as [TracModPython mod_python] or [TracFastCgi FastCGI].'' 
     6 
     7If you're using [http://httpd.apache.org/ Apache HTTPD], there are a couple ways to do that: 
     8 
     9 1. URL을 `trac.cgi` 스크립트에 맵핑하기 위해서 `ScriptAlias`를 사용하십시오. 
     10 2. `trac.cgi` 파일을 웹서버에서 CGI를 실행하는 디렉토리에 복사하십시오(일반적으로 `cgi-bin`이라는 이름입니다). 또한 심볼릭 링크를 만들 수도 있습니다. 하지만 그러한 경우에 `cgi-bin` 디렉토리에 대해서 `FollowSymLinks` 옵션이 활성화되어 있는지 확인하십시오. 
     11 
     12CGI를 friendly URL에 맵핑할 수 있기 때문에 첫번째 옵션이 추천되어집니다. 
     13 
     14이제, 아파치 설정파일을 편집하고 다음 내용을 추가하십시오. 파일이름과 위치는 설치환경에 맞게 수정하십시오. 
     15{{{ 
     16ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi 
     17}}} 
     18 
     19 ''Note that this directive requires the `mod_alias` module to be installed and enabled.'' 
     20 
     21If you're using Trac with a single project you need to set its location using the `TRAC_ENV` environment variable: 
     22<Location "/trac"> 
     23  SetEnv TRAC_ENV "/path/to/projectenv" 
     24</Location> 
     25}}} 
     26 
     27Or to use multiple projects you can specify their common parent directory using the `TRAC_ENV_PARENT_DIR` variable: 
     28{{{ 
     29<Location "/trac"> 
     30  SetEnv TRAC_ENV_PARENT_DIR "/path/to/project/parent/dir" 
     31</Location> 
     32}}} 
     33 
     34 ''Note that the `SetEnv` directive requires the `mod_env` module to be installed and enable.'' 
     35 
     36This will make Trac available at `http://yourhost.example.org/trac`. 
     37 
     38If you are using the [http://httpd.apache.org/docs/suexec.html Apache suEXEC] feature please see [http://trac.edgewall.org/wiki/ApacheSuexec]. 
     39 
     40On some systems, you ''may'' need to edit the shebang line in the `trac.cgi` file to point to your real Python installation path. On a Windows system you may need to configure Windows to know how to execute a .cgi file (Explorer -> Tools -> Folder Options -> File Types -> CGI). 
     41 
     42== 정적 자원 맵핑하기 == 
     43 
     44Out of the box, Trac will serve static resources such as style sheets or images itself. For a CGI setup, though, this is highly undesirable, because it results in the CGI script being invoked for documents that could be much more efficiently served by the web server directly. 
     45 
     46Web servers such as [http://httpd.apache.org/ Apache HTTPD] allow you to create “Aliases” to resources, thereby giving them a virtual URL that doesn't necessarily bear any resemblance to the layout of the servers file system. We already used this capability above when defining a `ScriptAlias` for the CGI script, and we'll use it now to map requests to the static resources to the directory on the file system that contains them, thereby bypassing the processing of such requests by the CGI script. 
     47 
     48Edit the Apache configuration file again and add the following snippet '''before''' the `ScriptAlias` for the CGI script , file names and locations changed to match your installation: 
     49{{{ 
     50Alias /trac/chrome/common /usr/share/trac/htdocs 
     51<Directory "/usr/share/trac/htdocs"> 
     52  Order allow,deny 
     53  Allow from all 
     54</Directory> 
     55}}} 
     56 
     57Note that whatever URL path you mapped the `trac.cgi` script to, the path `/chrome/common` is the path you have to append to that location to intercept requests to the static resources.  
     58 
     59For example, if Trac is mapped to `/cgi-bin/trac.cgi` on your server, the URL of the Alias should be `/cgi-bin/trac.cgi/chrome/common`. 
     60 
     61Alternatively, you can set the `htdocs_location` configuration option in [wiki:TracIni trac.ini]: 
     62{{{ 
     63[trac] 
     64htdocs_location = /trac-htdocs 
     65}}} 
     66 
     67Trac will then use this URL when embedding static resources into HTML pages. Of course, you still need to make the Trac `htdocs` directory available through the web server at the specified URL, for example by copying (or linking) the directory into the document root of the web server: 
     68{{{ 
     69$ ln -s /usr/share/trac/htdocs /var/www/your_site.com/htdocs/trac-htdocs 
     70}}} 
     71 
     72== 인증정보 추가하기 == 
     73 
     74아파치에서 인증정보를 추가하는 가장 쉬운 방법은 패스워드 파일을 생성하는 것입니다. 패스워드 파일을 생성하기 위해서는 `htpasswd` 프로그램을 사용하십시오. 
     75{{{ 
     76$ htpasswd -c /somewhere/trac.htpasswd admin 
     77New password: <type password> 
     78Re-type new password: <type password again> 
     79Adding password for user admin 
     80}}} 
     81 
     82첫번째 사용자를 추가한 후에는, 더 이상 "-c" 옵션이 필요하지 않습니다.: 
     83{{{ 
     84$ htpasswd /somewhere/trac.htpasswd john 
     85New password: <type password> 
     86Re-type new password: <type password again> 
     87Adding password for user john 
     88}}} 
     89 
     90  ''`htpasswd` 프로그램의 전체 문서가 필요하다면 man 페이지를 참고하십시오.'' 
     91 
     92사용자를 추가한 후에, [wiki:TracPermissions]을 사용해서 사용자들의 권한을 설정할 수 있습니다. 
     93 
     94이제, 아파치 설정파일에서 패스워드 파일에 대한 인증을 활성화해야 합니다.: 
     95{{{ 
     96<Location "/trac/login"> 
     97  AuthType Basic 
     98  AuthName "Trac" 
     99  AuthUserFile /somewhere/trac.htpasswd 
     100  Require valid-user 
     101</Location> 
     102}}} 
     103 
     104If you're hosting multiple projects you can use the same password file for all of them: 
     105{{{ 
     106<LocationMatch "/trac/[^/]+/login"> 
     107  AuthType Basic 
     108  AuthName "Trac" 
     109  AuthUserFile /somewhere/trac.htpasswd 
     110  Require valid-user 
     111</LocationMatch> 
     112}}} 
     113 
     114더 나은 보안을 위해서, SSL을 활성화하던지 아니면 최소한 인증방법으로 "Basic" 대신에 "Digest"를 사용할 것을 추천합니다. 더 많은 정보에 대해서는 [http://httpd.apache.org/docs/2.0/ Apache HTTPD documentation] 문서를 읽으십시오. 
     115 
     116---- 
     117참고 :  TracGuide, TracInstall, TracFastCgi, TracModPython