CentOS 7에 Mantis 버그 트래커 설치하기

핵심 요약
- 준비: CentOS 7, sudo 권한 사용자 필요
- 요구 소프트웨어: Apache, MariaDB, PHP 7.x
- 주요 단계: EPEL 등록 → Apache/MariaDB/PHP 설치 → MariaDB 보안 및 DB/사용자 생성 → Mantis 다운로드 및 웹루트에 배포 → Apache 가상호스트 구성 → 방화벽 열기 → 웹에서 설치 완료
Important: 실제 운영에서는 기본 비밀번호(예: administrator/root)는 반드시 변경하고, HTTPS(SSL) 적용과 SELinux/파일 권한 확인을 권장합니다.
요구사항
- CentOS 7이 설치된 서버
- 루트 권한을 가진 sudo 사용자
- 외부로부터 패키지 다운로드 가능(인터넷 접속)
1 시작하기
먼저 EPEL 저장소를 추가하고 시스템을 최신 상태로 업데이트합니다. 이 단계는 추가 패키지와 의존성을 안정적으로 설치하기 위해 필요합니다.
sudo yum install epel-release -y
sudo yum update -y
2 LAMP 서버 설치
Mantis는 웹 애플리케이션이므로 Apache, PHP, 데이터베이스(MariaDB)를 필요로 합니다.
- Apache 설치 및 서비스 활성화
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd
- MariaDB 설치 및 활성화
sudo yum install mariadb mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
- PHP 설치 (Mantis는 PHP 5.5 이상 필요)
CentOS 기본 저장소에 원하는 PHP 버전이 없을 수 있으므로 Webtatic 같은 서드파티 저장소를 사용해 PHP 7.x를 설치하는 예시를 보여줍니다.
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install php71w php71w-cli php71w-mysqli -y
php -v
Note: 운영 환경에서는 PHP 버전을 정책에 맞게 선택하세요. PHP 확장(예: php-mbstring, php-gd, php-xml 등)도 Mantis나 플러그인에 따라 필요할 수 있습니다.
MariaDB(MYSQL) 구성
기본 MariaDB 설치는 보안 설정이 되어 있지 않으므로 mysql_secure_installation 스크립트로 초기 보안을 강화합니다.
sudo mysql_secure_installation
스크립트에서 루트 비밀번호 설정, 익명 계정 제거, 원격 root 로그인 비허용, 테스트 DB 제거, 권한 테이블 리로드 등을 권장대로(Y) 선택하세요.
그 다음 MariaDB 콘솔에 접속해 Mantis용 데이터베이스와 전용 계정을 만듭니다.
mysql -u root -p
MariaDB 프롬프트에서:
CREATE DATABASE mantisdb;
GRANT ALL PRIVILEGES ON mantisdb.* TO 'mantis'@'localhost' IDENTIFIED BY 'mantispassword';
FLUSH PRIVILEGES;
\q
Important: 위 예시의 데이터베이스 이름과 비밀번호는 테스트용입니다. 실제 환경에서는 강력한 비밀번호와 별도의 호스트 정책을 사용하세요.
3 Mantis 다운로드 및 설치
최신 안정 버전의 Mantis를 SourceForge에서 다운로드하고 Apache 웹 루트로 배포합니다. 이 예시는 mantisbt-2.4.0을 사용합니다.
wget https://excellmedia.dl.sourceforge.net/project/mantisbt/mantis-stable/2.4.0/mantisbt-2.4.0.zip
unzip mantisbt-2.4.0.zip
sudo mv mantisbt-2.4.0 /var/www/html/mantis
sudo chown -R apache:apache /var/www/html/mantis
파일 권한과 소유권을 apache 사용자로 변경하는 것은 웹서버가 파일을 읽고, 설치 중 생성되는 파일을 쓸 수 있게 하기 위함입니다.
다음으로 Apache 가상호스트 설정 파일을 만듭니다.
sudo nano /etc/httpd/conf.d/mantis.conf
파일 내용(도메인과 관리자 이메일을 실제 값으로 교체하세요):
ServerAdmin [email protected]
DocumentRoot "/var/www/html/mantis"
ServerName yourdomain.com
Options FollowSymLinks
AllowOverride All
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
TransferLog /var/log/httpd/mantis_access.log
ErrorLog /var/log/httpd/mantis_error.log
설정 저장 후 Apache 재시작:
sudo systemctl restart httpd
Note: CentOS 7에서는 디렉티브 디폴트나 Apache 버전에 따라 Allow/Order 구문 대신 Require all granted 같은 구문을 사용해야 할 수 있습니다.
4 방화벽 설정 및 웹 인터페이스 접근
HTTP(포트 80)를 허용합니다.
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
그런 다음 브라우저에서 http://yourdomain.com 으로 접속하면 Mantis 설치 화면이 표시됩니다.
설치 화면에서 데이터베이스 이름, 사용자명, 비밀번호, 관리자 계정 정보를 입력한 후 “Install/Upgrade” 버튼을 클릭하면 데이터베이스 초기화가 진행됩니다. 완료되면 다음과 같은 완료 화면이 나타납니다.
계속을 클릭하면 로그인 페이지가 표시됩니다.
초기 관리자 계정 예시: 사용자명 “administrator”, 비밀번호 “root”. 로그인 후 반드시 관리자 암호를 변경하세요.
축하합니다! CentOS 7 서버에 Mantis Bug Tracker가 설치되어 기본 대시보드에 접근할 수 있습니다.
보안 권장 및 운영 포인트
- 기본 관리자 계정 및 샘플 비밀번호는 즉시 변경하세요.
- HTTPS 적용: Let’s Encrypt나 상용 인증서를 사용해 SSL/TLS를 구성하세요.
- SELinux가 활성화된 경우 파일 컨텍스트와 Apache 쓰기 권한을 확인하세요(예: restorecon, chcon 사용).
- 정기 백업: 데이터베이스(DB 덤프)와 /var/www/html/mantis의 업로드 파일을 백업 스케줄에 포함하세요.
- 시스템 사용자 관리: Mantis 관련 작업은 최소 권한 원칙으로 수행하세요.
문제 해결(트러블슈팅) 및 롤백
- Apache 로그 확인
- 접근 로그: /var/log/httpd/mantis_access.log
- 오류 로그: /var/log/httpd/mantis_error.log
- PHP 오류가 보이면 php.ini의 error_log 설정과 display_errors 옵션(운영에서는 off 권장)을 확인하세요.
- 데이터베이스 연결 오류가 발생하면 MariaDB 루트로 접속해 사용자 권한과 호스트(‘localhost’)를 확인하세요.
- 설치 중 잘못된 설정으로 되돌리려면:
- 웹루트의 mantis 디렉터리를 제거하거나 이름을 변경
- 데이터베이스를 드롭하거나 새 데이터베이스를 생성
- Apache 설정에서 가상호스트 항목을 제거하거나 주석 처리 후 httpd 재시작
롤백 예시 명령:
sudo systemctl stop httpd
sudo mv /var/www/html/mantis /var/www/html/mantis-backup-$(date +%F)
mysql -u root -p -e "DROP DATABASE IF EXISTS mantisdb;"
sudo systemctl start httpd
Important: 프로덕션 환경에서 데이터 삭제 전에는 반드시 백업을 확인하세요.
역할별 설치/운영 체크리스트
- 운영 관리자(시스템)
- 서버 패치 및 보안 업데이트 수행
- 방화벽·포트 정책 적용
- SELinux·파일 권한 확인
- 자동 백업 스케줄 설정
- DB 관리자
- 데이터베이스 사용자·권한 관리
- 정기적인 DB 백업 및 복구 테스트
- 성능 모니터링(쿼리 잠금/인덱스)
- 애플리케이션 관리자
- Mantis 업그레이드 계획 수립
- 플러그인 호환성 검증
- 기본 설정(이메일, 알림, 트래커 설정) 구성
호환성 및 마이그레이션 팁
- Mantis 버전과 PHP 버전 호환성을 확인하세요. 최신 Mantis는 최신 PHP를 요구할 수 있습니다.
- 다른 이슈 트래커에서 마이그레이션하는 경우 데이터 변환 스크립트 또는 CSV 익스포트/임포트를 검토하세요.
- 플러그인을 설치할 때는 먼저 테스트 환경에서 호환성 검증을 수행하세요.
간단한 설치 방법론(요약 단계)
- 패키지 저장소 추가 및 시스템 업데이트
- Apache, MariaDB, PHP 설치 및 기본 서비스 활성화
- MariaDB 보안 설정 및 mantis용 DB/사용자 생성
- Mantis 다운로드 및 웹루트에 배포
- Apache 가상호스트 구성 및 재시작
- 방화벽에서 HTTP 허용
- 브라우저로 접속해 설치 마법사 실행 및 관리자 계정 설정
1줄 용어집
- Mantis: PHP 기반 오픈소스 이슈 트래커
- LAMP: Linux, Apache, MySQL(MariaDB), PHP 웹 스택
- VirtualHost: Apache에서 도메인별 사이트 설정 블록
체크리스트: 설치 확인 항목
- Apache가 정상 동작하고 있는가? (systemctl status httpd)
- MariaDB에 mantisdb와 사용자 생성 여부 확인
- /var/www/html/mantis가 웹브라우저에서 접근 가능한가?
- 관리자 계정으로 로그인 후 비밀번호를 변경했는가?
- SSL 적용 또는 리버스 프록시로 HTTPS 처리 계획이 수립되었는가?
요약
CentOS 7에 Mantis를 설치하려면 LAMP 스택 준비, MariaDB 보안 설정, Mantis 파일 배포, Apache 가상호스트 구성, 방화벽 규칙 적용, 웹 설치 마법사 실행의 순서로 진행하면 됩니다. 설치 후에는 관리자 비밀번호 변경, SSL 적용, 백업/모니터링 정책을 즉시 적용하세요. 문제가 발생하면 Apache/MariaDB 로그를 우선 확인하고 필요한 경우 서비스 중지 후 롤백 절차를 수행합니다.
추가로 필요하면 SSL 설정 예시, SELinux 컨텍스트 명령, 또는 자동 업그레이드 스크립트 샘플을 제공해 드립니다.