본문 바로가기
컴퓨터 활용(한글, 오피스 등)/기타

solaris 11.4에서 redmine 설치하는 방법

by 3604 2026. 1. 9.
728x90
 

Solaris 11.4 환경에서 안정적이고 성능 최적화된 Redmine 시스템을 구축하기 위해 권장되는 버전 조합은 다음과 같습니다.

Solaris 11.4의 기본 패키지 관리자(pkg)가 제공하는 최신 런타임을 활용하면서, Redmine의 안정적인 메이저 버전을 선택하는 것이 포인트입니다.


1. 최적 권장 버전 요약 (2026년 기준)

구분 권장 버전 이유
Redmine Redmine 5.1.x 현재 가장 안정적이며 Solaris 11.4의 Ruby 3.2와 완벽 호환됨
Ruby Ruby 3.2 Solaris 11.4 pkg에서 기본 제공하는 최신 안정 버전 (성능 최적화됨)
Rails Rails 6.1 Redmine 5.1의 코어 프레임워크
Database MariaDB 10.3 Solaris SMF와 연동이 가장 매끄러우며 pkg로 즉시 설치 가능
Web Server Apache 2.4 Solaris 기본 웹 서버로 Passenger 모듈과 연동성이 좋음
Passenger 6.0.x 최신 Ruby 버전 및 Apache 2.4 환경 지원

2. 관련 프로그램 버전 상세 가이드

1) Redmine 버전 선택

  • Redmine 5.1.x (Stable): Solaris 11.4 환경에 가장 추천합니다. Ruby 3.2까지 지원하며, 성능 개선이 이루어진 버전입니다.
  • 주의: 최근 출시된 Redmine 6.x 버전은 Ruby 3.4 및 Rails 7.2를 요구할 수 있는데, 이는 Solaris의 기본 패키지 버전보다 높을 수 있어 수동 컴파일 부담이 커집니다.

2) Ruby 및 Rails

  • Ruby 3.2: Solaris 11.4의 runtime/ruby-32 패키지를 사용하세요. Ruby 3.x의 YJIT 성능 향상을 누릴 수 있습니다.
  • Bundler 2.4 이상: RubyGems를 통해 최신 버전을 설치하여 의존성을 관리합니다.

3) 데이터베이스 (Database)

  • MariaDB 10.3: Solaris 11.4에서 database/mariadb-103으로 제공됩니다.
  • MySQL2 Gem (0.5.x): Ruby와 DB를 연결하는 드라이버로, MariaDB 10.3 헤더 파일과 호환성이 확인된 버전을 사용해야 합니다.

4) 이미지 및 문서 처리

  • ImageMagick 6.9+: Gantt 차트 및 PDF 내보내기를 위해 필수입니다. library/video/imagemagick 패키지로 설치 가능합니다.

3. 설치 시 버전 충돌 방지 팁

  1. GCC 버전 고정: Solaris에는 여러 GCC 버전이 있을 수 있습니다. developer/gcc-11을 사용하여 최신 라이브러리 컴파일 시 호환성을 확보하세요.
  2. 의존성 배제: bundle install --without development test 명령어를 사용하여 운영 환경에 불필요한 Gem 버전들이 섞이지 않도록 차단합니다.
  3. 환경 변수 설정: ```bashexport CC=/usr/bin/gcc export CXX=/usr/bin/g++
  4.  
  5. 컴파일 시 Solaris 기본 cc 대신 gcc를 사용하도록 강제

추가로 이 버전들을 기반으로 실제 설치 명령어를 다시 정리해 드릴까요? (예: Ruby 3.2와 MariaDB 10.3을 사용하는 구체적인 설치 스크립트 등)

 
 
 
 

Solaris 11.4 환경에서 Redmine을 설치하는 과정은 의존성 패키지(Ruby, Database, Web Server)가 많아 다소 복잡할 수 있습니다. Solaris의 패키지 관리자인 pkg를 활용하면서 부족한 부분은 소스 컴파일이나 RubyGems를 통해 보완하는 것이 핵심입니다.


1. 필수 사전 패키지 설치

Solaris 11.4에서 기본적으로 제공하는 개발 도구와 라이브러리를 먼저 설치합니다.

Bash
sudo pkg install developer/gcc-11 \
                 developer/build/make \
                 system/header \
                 library/zlib \
                 library/libxml2 \
                 library/libxslt \
                 database/mariadb-103 \
                 runtime/ruby-32

(참고: MariaDB 대신 PostgreSQL을 사용해도 무관합니다.)


2. 데이터베이스 설정 (MariaDB 기준)

Redmine이 사용할 데이터베이스와 사용자를 생성합니다.

  1. 서비스 시작: svcadm enable mariadb103
  2. DB 접속: mysql -u root -p
  3. 쿼리 실행:
  4. SQL
    CREATE DATABASE redmine CHARACTER SET utf8mb4;
    CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
    EXIT;
    

3. Redmine 다운로드 및 구성

최신 안정 버전을 다운로드하고 설정 파일을 준비합니다.

  1. 다운로드: Redmine 공식 홈페이지에서 tar.gz 파일을 받거나 svn/git으로 내려받습니다.
  2. 설정 파일 복사:
  3. Bash
    cd /path/to/redmine
    cp config/database.yml.example config/database.yml
    cp config/configuration.yml.example config/configuration.yml
    
  4. database.yml 수정: 위에서 생성한 DB 정보를 입력합니다.

4. Ruby 의존성 설치 (Bundler)

Solaris 환경에서는 특정 Gem(특히 nokogiri나 mysql2) 설치 시 컴파일 에러가 발생할 수 있습니다. GCC 경로를 지정해주는 것이 좋습니다.

Bash
gem install bundler
bundle config set --local without 'development test'
bundle install

5. 세션 및 데이터베이스 초기화

비밀키 생성과 테이블 생성을 진행합니다.

Bash
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data

6. 실행 및 확인

가장 간단한 방법인 Webrick(내장 서버)으로 우선 테스트합니다.

Bash
bundle exec ruby bin/rails server -e production

이후 브라우저에서 http://서버IP:3000으로 접속하여 로그인(ID/PW: admin/admin)이 되는지 확인합니다.


💡 설치 시 주의사항 (Solaris 특이점)

  • 권한 설정: files, log, tmp, public/plugin_assets 디렉토리는 Redmine을 실행하는 사용자에게 쓰기 권한이 있어야 합니다.
  • 컴파일러: Solaris 기본 cc 대신 gcc를 사용하도록 환경 변수(export CC=gcc)를 설정해야 하는 경우가 많습니다.
  • 실제 운영 환경: 위 단계 이후에는 Apache나 Nginx와 Passenger를 연동하여 안정적인 서비스를 구축하는 것을 권장합니다.

혹시 설치 과정 중 특정 Gem 설치 단계에서 에러가 발생했나요? 발생한 에러 메시지를 알려주시면 Solaris 환경에 맞는 해결 방법을 찾아드릴 수 있습니다.

 

solaris 11.4에서 redmine 설치하는 방법을 상세하게 표시해. 시스템 구축, db구성, 실행 방법 등 상세하게 표시해

 
 
 
 
 

Solaris 11.4 환경에서 Redmine을 설치하는 과정은 의존 패키지(Ruby, Database)와 Solaris 고유의 패키지 관리 도구인 pkg, 서비스 관리 도구인 SMF를 이해하는 것이 중요합니다.

다음은 Solaris 11.4 환경에 최적화된 Redmine 설치 상세 가이드입니다.


1. 시스템 환경 준비 (필수 패키지 설치)

Solaris 11.4의 기본 저장소를 사용하여 Ruby, MariaDB, 컴파일러를 설치합니다.

Bash
# 최신 패키지 목록 업데이트
sudo pkg refresh

# GCC, Make, Ruby, MariaDB, 필수 라이브러리 설치
sudo pkg install developer/gcc-11 \
                 developer/build/make \
                 system/header \
                 library/zlib \
                 library/libxml2 \
                 library/libxslt \
                 database/mariadb-103 \
                 runtime/ruby-32 \
                 library/video/imagemagick

2. 데이터베이스 구성 (MariaDB)

Redmine 데이터를 저장할 데이터베이스와 전용 사용자를 생성합니다.

  1. 서비스 활성화:
  2. Bash
    sudo svcadm enable mariadb103
    
  3. 보안 설정 및 비밀번호 생성:
  4. Bash
    # 처음 설치 시 root 비밀번호 설정을 위해 실행
    sudo mysql_secure_installation
    
  5. Redmine용 DB 생성:
  6. SQL
    mysql -u root -p
    
    CREATE DATABASE redmine CHARACTER SET utf8mb4;
    CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
    EXIT;
    

3. Redmine 소스 다운로드 및 설정

운영의 안정성을 위해 /opt/redmine 경로를 권장합니다.

  1. 디렉토리 생성 및 권한 설정:
  2. Bash
    sudo mkdir -p /opt/redmine
    sudo chown $(whoami) /opt/redmine
    cd /opt/redmine
    
  3. 소스 다운로드:
  4. Bash
    # 최신 스테이블 버전(예: 5.1.x) 다운로드
    curl -O https://www.redmine.org/releases/redmine-5.1.1.tar.gz
    tar -xzvf redmine-5.1.1.tar.gz --strip-components=1
    
  5. DB 연결 설정:
    YAML
    production:
      adapter: mysql2
      database: redmine
      host: localhost
      username: redmine
      password: "your_password"
      encoding: utf8mb4
    
  6. Bash
    cp config/database.yml.example config/database.yml
    # 아래 내용을 파일에 맞게 수정 (production 섹션)
    vi config/database.yml
    

4. Ruby 의존성 설치 및 초기화

Solaris 환경에서는 mysql2와 같은 Native Extension Gem 설치 시 GCC 경로를 명확히 해주어야 할 때가 있습니다.

  1. Bundler 설치 및 라이브러리 로드:
  2. Bash
    gem install bundler
    bundle config set --local without 'development test'
    bundle install
    
  3. 비밀키 생성 및 테이블 초기화:
  4. Bash
    bundle exec rake generate_secret_token
    RAILS_ENV=production bundle exec rake db:migrate
    # 기본 데이터 로드 (언어 선택 시 'ko' 입력)
    RAILS_ENV=production bundle exec rake redmine:load_default_data
    

5. 실행 및 서비스 등록

운영 환경에서는 Apache/Nginx와 연동하는 것이 정석이나, 설치 확인을 위해 먼저 독립 실행을 시도합니다.

임시 실행 (테스트용)

Bash
bundle exec ruby bin/rails server -e production -b 0.0.0.0
  • 브라우저에서 http://서버IP:3000 접속 확인 (초기 계정: admin / admin)

SMF 서비스 등록 (Solaris 방식)

시스템 재부팅 시 자동 실행을 위해 Solaris 전용 서비스 관리자(SMF)에 등록하는 것이 좋습니다.


6. 사후 관리 및 권한 설정

보안을 위해 다음 디렉토리의 소유권과 권한을 다시 한번 확인합니다.

  • files, log, tmp, public/plugin_assets: 실행 계정이 쓰기 권한을 가져야 합니다.
  • 방화벽 설정: Solaris의 ipfilter를 사용하는 경우 3000번 포트(혹은 연동할 80/443 포트)가 열려 있는지 확인하세요.

다음 단계로 무엇을 도와드릴까요?

  • "Apache(HTTPD)와 Passenger를 연동하는 설정을 알려줘"
  • "Solaris SMF 매니페스트(XML) 파일을 만드는 법을 알려줘" 라고 말씀해 주세요!
 

"Apache(HTTPD)와 Passenger를 연동하는 설정을 알려줘"

 
 
 
 
 

Solaris 11.4 환경에서 Redmine을 실제 서비스 환경으로 운영하기 위해 **Apache(HTTPD)**와 Phusion Passenger를 연동하는 방법을 상세히 설명해 드리겠습니다.

Solaris의 Apache는 /usr/apache2/2.4 경로에 위치하며, Passenger는 RubyGems를 통해 설치하고 모듈을 빌드해야 합니다.


1. Passenger 설치 및 모듈 빌드

먼저 Passenger Gem을 설치하고 Apache용 모듈을 컴파일합니다. 이 과정에서 C++ 컴파일러와 Apache 개발용 헤더가 필요합니다.

Bash
# Apache 개발용 패키지 설치 확인
sudo pkg install web/server/apache-24/developer

# Passenger Gem 설치
sudo gem install passenger

# Apache용 Passenger 모듈 빌드 (대화형 설치 프로그램 실행)
# 이 과정에서 부족한 라이브러리가 있다면 화면에 표시됩니다.
sudo /usr/ruby/3.2/bin/passenger-install-apache2-module

설치가 완료되면 화면 마지막에 Apache 설정 파일에 추가해야 할 3~4줄의 설정 코드가 나타납니다. 이를 반드시 메모해 두세요.


2. Apache 설정 (Passenger 모듈 로드)

Solaris의 Apache 설정 구조에 맞춰 Passenger 설정 파일을 생성합니다.

  1. Passenger 전용 설정 파일 생성:
  2. Bash
    sudo vi /etc/apache2/2.4/conf.d/passenger.conf
    
  3. 설치 결과물 붙여넣기 (예시): (주의: 아래 경로는 실제 설치된 위치에 따라 다를 수 있으므로 위에서 메모한 내용을 사용하세요.)
  4. Apache
    LoadModule passenger_module /usr/ruby/3.2/lib/ruby/gems/3.2.0/gems/passenger-x.x.x/buildout/apache2/mod_passenger.so
    <IfModule mod_passenger.c>
      PassengerRoot /usr/ruby/3.2/lib/ruby/gems/3.2.0/gems/passenger-x.x.x
      PassengerDefaultRuby /usr/ruby/3.2/bin/ruby
    </IfModule>
    

3. Redmine 가상 호스트(VirtualHost) 설정

이제 Apache가 Redmine 디렉토리를 인식하도록 설정합니다.

  1. 사이트 설정 파일 생성:
  2. Bash
    sudo vi /etc/apache2/2.4/site-enabled/redmine.conf
    
  3. 가상 호스트 내용 작성:
  4. Apache
    <VirtualHost *:80>
        ServerName your-domain.com  # 또는 서버 IP
        DocumentRoot /opt/redmine/public
    
        # Redmine 실행 환경 설정
        RailsEnv production
    
        <Directory /opt/redmine/public>
            AllowOverride all
            Options -MultiViews
            Require all granted
        </Directory>
    
        # 에러 및 접속 로그 관리
        ErrorLog "/var/apache2/2.4/logs/redmine_error_log"
        CustomLog "/var/apache2/2.4/logs/redmine_access_log" combined
    </VirtualHost>
    

4. 권한 설정 및 서비스 재시작

Apache 사용자(webservices)가 Redmine 파일을 읽고 쓸 수 있도록 권한을 조정해야 합니다.

  1. 소유권 변경:
  2. Bash
    sudo chown -R webservices:webservices /opt/redmine
    
  3. Apache 서비스 활성화 및 재시작:
  4. Bash
    # 설정 파일 구문 검사
    sudo /usr/apache2/2.4/bin/apachectl configtest
    
    # 서비스 재시작 (Solaris SMF 방식)
    sudo svcadm restart apache24
    

5. 최종 확인

  1. 브라우저에서 http://서버IP로 접속합니다.
  2. 만약 403 Forbidden 에러가 발생한다면, 상위 디렉토리인 /opt/redmine 전체에 대해 webservices 사용자의 접근 권한(x 권한)이 있는지 확인하세요.
  3. 로그 확인: 에러 발생 시 /var/apache2/2.4/logs/redmine_error_log를 확인하면 원인을 쉽게 파악할 수 있습니다.

추가로 궁금한 점이 있으신가요? 예를 들어, "HTTPS를 위한 SSL 설정법"이나 "Redmine 이메일 알림을 위한 SMTP 설정법"이 필요하시면 말씀해 주세요!

 

"Solaris SMF 매니페스트(XML) 파일을 만드는 법을 알려줘"

 
 
 
 
 

Solaris 11.4에서 Redmine(또는 Apache)을 시스템 부팅 시 자동으로 실행하고, 프로세스 다운 시 자동으로 재시작하게 하려면 SMF(Service Management Facility) 매니페스트를 작성해야 합니다.

Solaris SMF는 XML 형태의 매니페스트 파일을 사용하여 서비스의 의존성, 실행 스크립트, 재시작 정책 등을 관리합니다.


1. SMF 매니페스트 XML 작성

Redmine을 위한 서비스 매니페스트 파일 /var/svc/manifest/site/redmine.xml을 생성합니다. (Redmine을 Passenger+Apache로 운영한다면 apache24 서비스가 이미 SMF로 관리되므로, 이 과정은 **독립 실행형(Puma/Webrick)**으로 운영할 때 필요합니다.)

XML
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type='manifest' name='redmine'>
  <service name='site/redmine' type='service' version='1'>
    
    <instance name='default' enabled='false'>
      
      <dependency name='network' grouping='require_all' restart_on='error' type='service'>
        <service_privileged_entity name='svc:/milestone/network:default'/>
      </dependency>
      <dependency name='filesystem' grouping='require_all' restart_on='error' type='service'>
        <service_privileged_entity name='svc:/system/filesystem/local:default'/>
      </dependency>

      <exec_method type='method' name='start' 
                   exec='/usr/bin/bundle exec ruby bin/rails server -e production -p 3000 &amp;' 
                   timeout_seconds='60'>
        <method_context working_directory='/opt/redmine'>
          <method_credential user='webservices' group='webservices'/>
        </method_context>
      </exec_method>

      <exec_method type='method' name='stop' 
                   exec=':kill' 
                   timeout_seconds='60'/>

      <property_group name='startd' type='framework'>
        <propval name='duration' type='astring' value='child'/>
      </property_group>
      
    </instance>
  </service>
</service_bundle>

2. 매니페스트 검증 및 등록

작성한 XML 파일에 문법 오류가 없는지 확인하고 시스템에 등록합니다.

  1. XML 구문 검사:아무런 메시지가 출력되지 않으면 정상입니다.
  2. Bash
    svccfg validate /var/svc/manifest/site/redmine.xml
    
  3. 매니페스트 가져오기(Import):
  4. Bash
    sudo svccfg import /var/svc/manifest/site/redmine.xml
    

3. 서비스 활성화 및 상태 확인

이제 svcadm 명령어를 통해 서비스를 제어할 수 있습니다.

  1. 서비스 시작:
  2. Bash
    sudo svcadm enable site/redmine
    
  3. 상태 확인:상태가 online이면 정상적으로 실행 중인 것입니다.
  4. Bash
    svcs -lp site/redmine
    

4. 문제 해결 (로그 확인)

만약 서비스 상태가 maintenance(유지보수) 모드로 빠진다면, Solaris가 생성한 서비스 로그를 확인해야 합니다.

Bash
# 로그 파일 경로 확인
svcs -xv site/redmine

# 로그 내용 실시간 확인
tail -f /var/svc/log/site-redmine:default.log

💡 팁: Apache와 연동한 경우

만약 앞서 설명드린 Apache + Passenger 조합으로 Redmine을 설치하셨다면, 별도의 Redmine SMF를 만들 필요가 없습니다. 대신 Apache 서비스를 관리하면 됩니다.

  • Apache 서비스 재시작: sudo svcadm restart apache24
  • 부팅 시 자동 실행 확인: svcs apache24 (이미 활성화되어 있어야 합니다.)
  •  
 

 

728x90