본문 바로가기

tech/computing

Mantis 설치 For Linux (1)

반응형



bugzilla를 설치할려고 하려다가 perl베이스로 움직인다길래 Mantis로 바꿨다.
DB로 오라클을 사용할려고 했는데, 생각보다 녹녹치 않아서 mySQL를 설치했다.

아팟치는 원래 인스톨 되있었기 때문에...생략. 버전은 2.2.11
인스톨할 OS는 테스트서버로 쓰고있는 RedHat AS4

1.mantis설치
  - mantisbt-1.1.8.tar.gz를 다운로드.
  - tar zxvf mantisbt-1.1.8.tar.gz로 압축해제.
  - 압축해제된 디렉토리를 /usr/local/mantis로 옮김
  - mantis의 인스톨 디렉토리는 /usr/local/mantis (이하, $mantis_home)
  - 여기서, $mantis_home에 있는 config_defaults_inc.php 를 config_inc.php로 복사.
    #
    # 나중에 config_inc.php는 환경에 맞게 수정해줘야 됨.
    #
  - mantis설치는 일단 완료

2.mySQL설치
    #
    # 원래 좀더 최신버전으로 설치할려고 했는데,
    # 다운로드 할려면 로그인이 필요해서, 예전에 받아놓은 버전으로 설치.
    #
  - mySQL-5.0.41.tar.gz로 설치.
  - /usr/local/src에 압축해제.
  - mySQL의 소스 디렉토리는 /usr/local/src/mysql-5.0.41(이하, $mysql_ins)

    #
    # mySQL유저추가
    #
  - groupadd mysql
  - useradd -g mysql mysql

    #
    # mySQL의 인스톨 디렉토리는 /usr/local/mysql
    #
  - $mysql_ins에서 configure실행
    ./configure \
      --with-charset=utf8 \
      --with-extra-charsets=all \
      --with-mysqld-user=mysql \
      --prefix=/usr/local/mysql

  - make
  - make install

  - chown -R mysql:mysql /usr/local/mysql
  - cd /usr/local/mysql
  - cp share/mysql/my-medium.cnf /etc/my.cnf          # 초기설정파일 복사
  - bin/mysql_install_db --user=mysql                 # 데이터베이스 초기화
  - chown -R root .
  - chown -R mysql:mysql var
  - /usr/local/mysql/bin/mysqld_safe --user=mysql &   # 기동확인
  - /usr/local/mysql/bin/mysqladmin shutdown          # 종료확인
  - cp share/mysql/mysql.server /etc/init.d/mysqld    # 기동스크립트를 복사
  - chkconfig mysqld on                               # 자동기동설정
  - /etc/init.d/mysqld start                          # 기동확인

    # mySQL의 root유저 패스워드를 변경
  - $ /usr/local/mysql/bin/mysqladmin -u root password 'xxxxx'

    # root유저로 로그인 테스트
  - $ /usr/local/mysql/bin/mysql -u root -p
     Enter password: xxxxx

    # /etc/profile 에 mySQL의 패스설정
  - export PATH=/usr/local/mysql/bin:$PATH

    # root유저로 로그인해서 mantis가 사용할 데이터베이스를 작성
  - mysql> create databaase mantis default character set utf8;

    # mantis가 사용할 db user/password를 작성
  - mysql> grant all privileges on mantis.* to mantis@localhost identified by 'mantis'

    #
    # 일단, mantis가 사용할 데이터베이스, 유저명, 패스워드를 mantis로 통일.
    #
  - php설치 완료

3.php설치
  - php-5.3.0.tar.gz를 다운로드.
  - /usr/local/src에 압축해제.
  - php의 소스 디렉토리는 /usr/local/src/php-5.3.0(이하, $php_ins)
  - $php_ins에서 configure실행

    #
    # 혹 postgresql를 쓸일이 있을까 싶어 --with-pgsql추가시켰는데...쓸수 없었다.
    # 나중에 mantis가 쓰는 테이블을 만들어주는 sql를 확인해보면
    # 컬럼형을 boolean으로 잡아두고 값으로는 1이나 0를 넣고 있었다.
    # postgresql에서 insert/update에러가 난다.
    # 어느쪽이 잘못됐나 아직은 모르겠다.
    #
  - ./configure \
      --with-apxs2=/usr/local/apache2/bin/apxs \
      --with-pgsql=/usr/local/pgsql \
      --with-mysql=/usr/local/mysql \
      --with-config-file-path=/usr/local/apache/conf \
      --enable-sigchild
  - make
  - make install
  - $php_ins에 php.ini-development를 /usr/local/apache2/conf/php.ini로 복사.
  - php설치 완료

4.아팟치 추가 설정
  - $apache_home/conf의 httpd.conf를 수정.
     - <IfModule alias_module>섹션에 Alias /mantis /usr/local/mantis 를 추가.

     - <IfModule cgidmodule>섹션이 끝나는 부분의 다음에
       <Directory "/usr/local/mantis">
         AllowOverride None
         Options None
         Order allow,deny
         Allow from all
       </Directory>
       를 추가

  - LoadModule php5_module  modules/libphp5.so 를 추가.
    php인스톨할때 자동으로 추가된다. 혹 추가 되어있지 않으면 추가.

  - AddType application/x-httpd-php        .php  .php5
    AddType application/x-httpd-php-source .phps .php5s
    mime type를 추가.

  - $apache_home/bin/apachectl restart 로 아팟치 재기동.

5. mantis의 추가설정
  - $mantis_home/configinc.php를 수정한다.
    mantis의 대부분의 설정은 이 파일에서 설정한다.

      #
      # 일단, timezone를 설정해준다.
      # mantis를 인스톨하고 실행할때마다, timezone이 설정되지 않아서
      # 디폴트로 설정했다는 warning이 브라우저에 계속 표시됐다.
      # 설정파일에 timezone를 설정해주면 waring이 없어진다.
      # 혹시, timezone이 설정되지 않았다는 warning이 표시되면 다음의 설정을 추가.

         ################################
         # Mantis TimeZone Settings
         ################################
         date_default_timezone_set('Asia/Tokyo');

     # 데이터베이스 접속정보 설정
        # --- database variables ---------
        $g_hostname             = 'localhost';
        $g_db_username          = 'mantis';
        $g_db_password          = 'mantis';
        $g_database_name        = 'mantis';
        $g_db_schema            = ''; // used in the case of db2

        # Supported types: 'mysql' or 'mysqli' for MySQL, 'pgsql' for PostgreSQL,
        # 'mssql' for MS SQL Server, 'oci8' for Oracle, and 'db2' for DB2.
        $g_db_type              = 'mysql';

    # mantis화면에 표시할 e-mail등을 설정하려면, Mantis Email Settings에서 해당항목을 설정.

    #
    # mail서버를 설정한다.
    # 처음에 헷깔렸던게 유저를 등록한 다음, 패스워드를 설정하는 곳이 없어서 한참 찾았는데,
    # 유저를 등록하거나, 패스워드를 초기화 시키면 유저를 등록할떄 설정한 멜어드레스로 url를 보내준다.
    # 그래서, mail서버 설정은 처음에 해주는게 좋다. 각자 환경에 맞게..설정.
    #
   
    # select the method to mail by:
    # 0 - mail()
    # 1 - sendmail
    # 2 - SMTP
    $g_phpMailer_method     = 2;   # SMTP

    $g_smtp_host            = 'xxx.xxx.xxx.xxx';
    $g_smtp_username = 'xxxx';
    $g_smtp_password = 'xxx';

    # 사용언어 설정. 설정하는곳 밑에 쓸수있는 언어리스트가 나와있다.
    # 리스트에서 하나 고르면 된다.
    $g_default_language     = 'japanese';

    # Fallback for automatic language selection
    $g_fallback_language    = 'japanese';

  - 브라우저 열어서 http://server-ip/mantis/admin/install.php로 접속.
  - 여기서 db정보를 설정해주면, mantis가 사용할 테이블를 만들어준다.
    #
    # database server : localhost 이고
    # 나머지는 전부 mantis다. 사실 이쪽 설정이 좀 헷깔려서
    # mySQL에서 db명이나 유저명을 전부 mantis로 해줬다.
    # 나중에 다른 명칭들로 한번 바꿔어 봐야겠다.

  - install/update버튼 누르면 결과 표시되고, 설정이 완료된다.

6. 뒷풀이
  - http://server-ip/mantis/login.php로 접속.
  - 디폴트접속 유저 administrator/root 로 로그인.
    $mantis_home/admin 디렉토리를 지우면 로그인화면에 경고 메세지가 나오지 않는다는데
    난 지우지 않고 administrator의 암호를 바꿨다.
  - 유저 추가하면 등록한 유저의 메일어드레스로 메일이 전송된다.
    전송된 메일의 url로 접속하면 패스워드를 설정하는 화면이 나온다.
  - 프로젝트 추가해서 그동안 엑셀에 써놓은, 버그를 추가했다.
  - 화면에 표시되는 사마귀 그림이 꽤 거슬린다. 다른걸로 바꿔야겠다.


출처 : http://ppung.tistory.com/24?srchid=BR1http%3A%2F%2Fppung.tistory.com%2F24

반응형