Debian의 Workbench 서버

[안내]

  • 이 설치 지침에 따라 FossID Workbench는 /fossid 경로에 설치됩니다.

  • 대상 운영 체제는 웹 서버나 SQL 서버 없이 설치됩니다.

  • 설치 지침을 수행하여 로그인한 사용자는 sudo를 실행할 수 있습니다.

[OS 요구사항]

  • Debian 11

  • Debian 12

  • Ubuntu 20.04

  • Ubuntu 22.04

  • Ubuntu 24.04

[PHP 요구사항]

  • PHP의 최소 요구 버전은 8.2입니다.

  • 단, 모든 하위 시스템(PHP, DB 등)은 유지보수 중인 가장 오래된 버전 이상을 사용하는 것을 권장합니다.

[DATABASE 요구사항]

  • Database 서버의 최소 요구 버전은 MySQL Server 8.0 또는 MariaDB 10.6입니다.

  • 단, 모든 하위 시스템(PHP, DB 등)은 유지보수 중인 가장 오래된 버전 이상을 사용하는 것을 권장합니다.


[시스템 전체 설정에 대한 전제 조건]

1. en_US.UTF-8 Locale

Workbench를 사용하려면 호스트 환경의 locale에서 "en_US.utf8"을 사용할 수 있어야 합니다.

시스템에서 현재 사용 가능한 locale을 표시하려면:

"en_US.utf8"이 없으면 추가해야 합니다. en_US.utf8이 있는 줄의 주석 처리를 해제하고 저장하면 됩니다.

다음 명령을 사용하여 locale을 생성합니다.

en_US.utf8이 포함되어 있는지 확인하세요.

2. PHP 8.2 이상을 사용하여 저장소를 추가합니다.

Debian 11이나 Ubuntu 20.04 또는 Ubuntu 22.04에 설치하려면, 먼저 PHP 8.2 이상이 있는 저장소를 추가해야 합니다.

Debian 11

Ubuntu 20.04 또는 Ubuntu 22.04

참고: Ubuntu 24.04와 Debian 12에는 최신 버전의 PHP 8.2가 포함되어 있으며, 기본적으로 PHP-8.2를 사용하는 nginx 구성만 변경하면 됩니다.


[Deliverables 접근]

FossID deliverables에 대한 접근 정보는 delivery mail에 포함되어 있습니다.

delivery portal에서 fossid-release_regular_amd64.deb 를 다운로드하세요 .

FossID 제공물 설치

패키지 저장소 업데이트:

FossID 설치:


[DATABASE 및 웹 서버 설치]

1. MySQL/MariaDB 설치

지원되는 배포판에서 MariaDB 및/또는 MySQL의 이전 버전이 설치되어 있으므로 최신 버전을 설치하는 것이 좋습니다.

MySQL 8.0 이상 버전을 설치하는 경우, https://dev.mysql.com/doc/refman/8.0/en/installing.htmlarrow-up-right의 공식 가이드를 따르는 것이 좋습니다.

MariaDB 10.6 이상 버전을 설치하는 경우, arrow-up-righthttps://mariadb.com/kb/en/installing-mariadb-deb-files/arrow-up-right 의 공식 가이드를 따르는 것이 좋습니다 .

참고: MySQL/MariaDB 구성 파일에서 문자 집합 및 정렬에 대한 다음 값을 명시적으로 설정하는 것이 좋습니다.

MySQL 복제의 경우, 매개변수 default_collation_for_utf8mb4utf8mb4_general_ci 로 설정해야 합니다 .

자세한 내용은 https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_collation_for_utf8mb4 arrow-up-right 를 참조하세요.

(1) 서버 구성 업데이트

MySQL 서버 배포판의 해당 파일(예: /etc/mysql/my.cnf 또는/etc/my.cnf)에서 max_allowed_packet 에 대해 64M 이상의 값을 [mysqld] 태그 아래에 설정해야 합니다.

아래 참조를 참조하세요.

이는 Linux 배포판과 MySQL 서버 배포판에 따라 다를 수 있습니다. 해당 Linux 및 MySQL 버전 배포판의 설명서를 참조하세요.

MySQL을 다시 시작합니다:

(참고) MySQL 구성

  • 데이터베이스 : fossid_db

  • 사용자 : fossiduser, 비밀번호 : 123

  • fossiduser에게 fossid_db 대한 액세스를 제공

  • 설치 이후, Workbench 접속 초기 사용자 [ 아이디 : fossid , 비밀번호 : fossidlogin ]

위 구성은 나중에 fossid.conf 파일의 webapp_db_* 에 추가해야 합니다. 강력하고 고유한 비밀번호를 사용하세요.

[MySQL 인스턴스 설정]

데이터베이스를 생성합니다:

사용자를 생성합니다.

사용하는 서버가 (MariaDB가 아닌) MySQL 서버인 경우 다음 추가 명령도 실행하세요.

일부 시스템에서는 MariaDB가 mysql-server 패키지와 함께 설치됩니다. MySQL 서버가 설치되어 있는지 확인하려면 다음을 실행하세요.

→ MySQL이 설치된 경우의 출력 예:

→ MariaDB가 설치된 경우의 출력 예:

새로 만든 데이터베이스로 FossID 데이터베이스 스키마를 가져옵니다.

[관리자 비밀번호 구성]

Workbench FossID 계정 관리자 비밀번호를 설정합니다. (처음 로그인할 때 비밀번호는 argon2id와 md5 해시가 제거된 상태로 해시 됩니다.)

2. 웹 서버 설치

이 참조 설정에서는 NginX 웹 서버를 사용합니다. 다른 웹 서버도 사용 가능하지만, FossID는 NginX를 사용하므로, 본 문서에서는 NginX 기준으로 가이드 및 설정을 제공합니다.

Nginx 설치:

(1) NginX 구성

샘플 /fossid/setup/templatesnginx.conf.dist/etc/nginx/nginx.conf 로 복사합니다 :

기본적으로 NginX는 PHP 요청을 php8.2 소켓으로 전달하도록 설정되어 있습니다. 다른 버전의 PHP가 설치되어 있는 경우 소켓 경로를 변경해야 합니다.

설치된 php 버전을 확인하려면 다음을 실행하세요.

php 8.2가 아닌 경우, /etc/nginx/nginx.conf을 편집하여 다음 섹션을 찾으세요.

fastcgi_pass unix:/run/php/php8.2-fpm.sock; 부분을 현재 시스템에서 사용하는 PHP 버전에 맞게 수정하세요.

예를 들어, php 버전이 8.3라면 다음과 같이 변경이 필요합니다.

(선택사항) HTTPs 활성화

HTTP를 활성화하는 방법에 대한 지침은 nginx.conf 템플릿 파일에서 확인하세요 .

(2) PHP 구성

아래 [www.conf 설정] 이 설정되어 있는지 확인하거나, 샘플 파일(/etc/php/X.Y(버전)/fpm/pool.d/www.conf)을 /etc/php-fpm.d/www.conf로 복사한 후 Linux 배포판에 해당하는 www.conf 파일을 편집합니다.

  • www.conf 샘플 파일 위치 : /fossid/setup/templates/www.conf.dist

  • www.conf 복사 위치 : /etc/php/X.Y(버전)/fpm/pool.d/www.conf 또는 /etc/php-fpm.d/www.conf

[www.conf 설정]

PHP의 올바른 버전을 확인한 후, 해당 버전에 맞게 listen = /run/php/php<버전>-fpm.sock 항목을 수정합니다.

예를 들어, php 버전이 8.3라면 다음과 같은 줄을 작성해야 합니다.

phpX.Y-fpm 서비스가 실행 중이고 www-data 사용자가 접근할 수 있는지 확인하세요. 일부 시스템에서는 서비스 이름이 php-fpm과 다를 수 있습니다.

그룹 소유권을 변경한 /var/lib/php후 php-fpm을 다시 시작합니다.

php-fpm 서비스를 시작합니다:

NginX 서비스를 다시 시작합니다.

php 서비스 폴더의 그룹 소유권을 변경합니다.


[FossID 구성]

[기본 fossid.conf 설정]

FossID 구성 파일은 /fossid/etc/fossid.conf에 위치하며, 아래 구성항목들을 설정해야 합니다.

※ 스캔 서버 액세스 구성

※ 데이터베이스 연결 구성

※ Workbench URL 구성

이 정보는 이메일에서 올바른 절대 URL을 생성하는 데 사용됩니다.

(https://mycompany.com 부분은 실제 사용 중인 FossID 서버의 접속 URL로 바꾸어 입력합니다.)

fossid.conf 파일을 저장합니다.

(참고: 구성 변경 사항은 즉시 적용되므로 재시작이 필요하지 않습니다.)


[설치 완료]

데이터베이스가 성공적으로 생성되었는지 확인하고 추가 인덱스를 추가합니다.

필요한 역할과 권한을 만듭니다.

라이선스 데이터베이스를 생성합니다.


[Workbench 접근 확인]

http://localhost/arrow-up-right 로 이동합니다

관리자 비밀번호 구성 단계에서 생성한 사용자 이름 fossid과 비밀번호로 로그인합니다 .

(참고: FossID Workbench는 공식적으로 Chrome 브라우저에서 지원됩니다.)


[참고 사항]

※ Git 구성

FossID Workbench는 Git 저장소에서 프로젝트 소스 코드를 직접 가져올 수 있는 API를 제공합니다. Workbench는 SSH를 통해 연결되며, www-data 사용자가 사용할 수 있는 키가 필요합니다.

www-data 사용자 의 홈 디렉토리 경로를 확인하세요 .

출력은 /var/www와 유사합니다 .

홈 디렉토리에 .ssh라는 이름의 폴더를 만듭니다. (이전 명령의 출력이 /var/www 와 같다고 가정)

새로 만든 .ssh 폴더에 git 서버에서 신뢰하는 개인 키를 복사하세요.

git 저장소를 호스팅하는 서버를 알려진 호스트에 추가해야 합니다. 추가하려는 각 서버에 대해 다음 명령을 실행하세요.

www-data 사용자를 .ssh 폴더와 그 내용의 소유자로 지정합니다.

Git 저장소를 사용하여 새 스캔을 생성하는 API 호출 방법은 제품 설명서를 확인하세요. 설명서는 메뉴(문서)에서 확인할 수 있으며, 다음 URL에서 확인할 수 있습니다.

http://localhost/help/ko/index.htmlarrow-up-right

※ 종속성 분석 구성

FossID Workbench 사용자 인터페이스에서 바로 패키지 종속성 및 라이선스 정보를 제공하는 데 사용할 수 있는 FossID-DA 또는 OSS 검토 툴킷이라는 두 가지 도구가 있습니다. 종속성 분석 기능을 사용하면 소프트웨어가 준수해야 하는 라이선스에 대한 더 나은 통찰력을 얻을 수 있습니다. FossID는 종속성 분석 API도 제공하므로 지속적 통합 파이프라인에 포함할 수 있습니다.

자세한 빌드 및 설치 지침은 종속성 분석 설치를arrow-up-right 참조하세요 .

※ 아카이브 추출 활성화

FossID Workbench는 스캔에 업로드된 아카이브를 추출할 수 있습니다. zip이나 7zip은 자동으로 설치되지만, 일부 상용 도구는 수동으로 설치해야 합니다.

예: unrar 설치

먼저, /etc/apt/sources.list에 유료 저장소를 추가해야 할 수도 있습니다. 아래 스니펫을 참조하세요. 설정에 따라 호스트 이름과 배포판 이름이 다를 수 있습니다.

Change

to

After this change, run

※ 스캔 용량 구성 - 클라이언트 측

클라이언트 측에서는 스캔이 발행되는 방식을 구성하여 토큰별보다 더 세부적인 수준에서 스캔 용량을 분배할 수 있습니다.

다음 설정은 단일 Workbench 스캔이 시작할 수 있는 스캔 스레드 수를 제어할 수 있습니다.

동시 스캔 수는 다음 설정으로 제어할 수 있습니다.

새로운 스캔을 시작하려고 할 때 최대 스캔 수가 이미 진행 중이면 해당 스캔은 대기열에 추가되고 현재 실행 중인 스캔 중 하나가 완료되면 자동으로 시작됩니다.

간헐적인 네트워크 지연으로 어려움을 겪고 있다면 일괄 검사를 실행하면 전반적인 사용자 경험이 향상될 수 있습니다. 사용자 인터페이스에서 더 나은 사용자 경험을 얻으려면 아래 설정에서 일괄 처리 크기를 줄이세요. 네트워크 지연을 보완하려면 일괄 처리 크기를 늘리세요.

문제가 발생할 경우 문제 해결 페이지를 참조하세요 .

Last updated