본문 바로가기

Fossology

Fossology 우분투(Ubuntu)에 설치하기

우분투 13.10 64bit 기준! Fossology 2.5 기준! 노란색 음영은 변경내역

 

1. Fossology 저장소 주소 등록
/etc/apt/sources.list 파일에 아래 내용 추가
deb http://www.fossology.org/releases/2.5.0/Ubuntu/ 13.10 contrib

다른 버전일 경우 위의 경로에서 버전만 교체 ex)2.4.0

 

2. 저장소 업데이트
$ sudo apt-get update

 

3. Fossology 설치
$ sudo apt-get install fossology

 

4. Linux 커널 매개변수 값 변경 (kernel.shmmax와 kernel.shmall)
kernel.shmmax : 공유 메모리 세그먼트의 최대 크기(단위:바이트)
kernel.shmall : 특정 시점에 사용 가능한 공유 메모리의 최대 크기(단위:페이지)
* Fossology에서 사용하는 PostgreSQL의 안정적인 작동을 위해 설정 필요

 

Kernel 값 변경을 위해선 관리자 권한이 필요하다(su)

관리자 권한을 얻기 위해 우선 관리자 암호를 수정한다.

$ sudo passwd root

현재 계정의 암호를 입력 후 관리자 계정의 암호를 변경한다.

 

관리자 모드로 진입한다.

$ su

 

커널 매개 변수 변경 진행

# echo 17179869184 > /proc/sys/kernel/shmmax
# echo 4194304 > /proc/sys/kernel/shmall
# echo "kernel.shmmax = 17179869184" >> /etc/sysctl.conf
# echo "kernel.shmall = 4194304" >> /etc/sysctl.conf

 

하기 쉘 스크립트를 만들어서 변경 사항을 확인 하라는데
변경 사항이 확인 되지 않음... 쉘 스크립트에 문제가 있는듯... 검토 필요...

설정은 됐을테니 확인은 패스!
[shm.sh]
#!/bin/bash
page_size=`getconf PAGE_SIZE`
phys_pages=`getconf _PHYS_PAGES`
shmall=`expr $phys_pages / 2`
shmmax=`expr $shmall \* $page_size`
echo kernel.shmmax=$shmmax
echo kernel.shmall=$shmall

 

5. PostgreSQL설정 값 변경
/etc/postgresql/<version>/main/postgresql.conf 파일에서 아래의 설정 값들을 수정

번거롭더라도 검색해 가면서 각 항목에 대하여 하나 하나 수정 해 갈 것

각 라인 앞부분읜 변수명으로 검색하면 좋음, //과 뒤의 내용은 도움말임. 내용에 넣지 말 것

 

#hba_file = 'ConfigDir/pg_hba.conf' # host-based authentication file   //주석처리

listen_addresses = '*'              # listen to connections from all IPs   // 주석 제거
max_connections = 50                # maximum number of client connections
                                    # allowed
shared_buffers = 1GB                # If you have a system with 1GB or more
                                    # of RAM, a reasonable starting value
                                    # for shared_buffers is 1/4 of the memory
                                    # in your system.
effective_cache_size = 2GB          # how much memory is available for disk    //주석제거
                                    # caching; 1/2-3/4 of memory
work_mem = 128MB                    # work_mem parameter allows PostgreSQL    //주석제거
                                    # to do larger in-memory sorts
maintenance_work_mem = 200MB        # roughly 50MB/GB of ram   //주석제거
fsync = on                          # turns forced synchronization on or off   //주석제거
full_page_writes = off                 # recover from partial page writes   //주석제거
log_line_prefix = '%t %h %c'       # prepend a time stamp to all log entries
standard_conforming_strings = on //주석제거
autovacuum = on                     # Enable autovacuum subprocess?  'on'   // 주석제거

 

 

6. PHP 설정
/etc/php5/apache2/php.ini 파일을 열어서 아래 내용 수정

이것도 위처럼 앞의 변수명을 검색해서 수정하면 손쉬움

 

max_execution_time = 300
memory_limit = 702M
post_max_size = 701M
upload_max_filesize = 700M

 

 

7. Apache 설정
etc/apache2/sites-available/000-defualt 파일을 열어서
VirtualHost 안쪽의 마지막에 아래내용 삽입

 

<VirtualHost *:80>
... ...

# FOSSology example apache config

 Alias /repo /usr/share/fossology/www/ui

 <Directory "/usr/share/fossology/www/ui">
         AllowOverride None
         Options FollowSymLinks MultiViews
         Order allow,deny
         Allow from all
         # uncomment to turn on php error reporting
         #php_flag display_errors on
         #php_value error_reporting 2039
 </Directory>

</VirtualHost>

 

 

8. Web Agent들에게 Fossology url로 사용 할 /repo를 무시하도록 처리
/usr/share/cups/doc-root/robots.txt 파일을 열어서 해당 내용 수정

 

User-agent: *
Disallow: /repo

 

 

9. Apache 설정 검토
$ sudo apache2ctl configtest
실행 후 출력되는 내용 확인. Syntax OK면 통과

 

10. Apache 설정 적용
$ sudo apache2ctl graceful
변경된 Apache 설정을 적용

 

11. Fossology 실행
웹브라우저를 실행 한 후 http://localhost/repo/ 입력
화면에 Fossology 화면이 나타나는 것을 볼 수 있다.

관리자 로그인 아이디와 암호는 아래와 같다.
ID : fossy
PW : fossy

 

[참고자료]
Ubuntu에 Fossology 설치 가이드 :

http://www.fossology.org/projects/fossology/wiki/Ubuntu_Install_2_5
Fossology 설정 가이드 :

http://www.fossology.org/projects/fossology/wiki/SysConfig
PostgreSQL 설정 가이드 :

http://www.postgresql.org/docs/9.0/static/kernel-resources.html
공개SW포털 가이드 :

http://www.oss.kr/?mid=oss_repository9&page=1&sort_index=regdate&order_type=desc&document_srl=41629