ruby, gem, rails 등 redmine Wiki의 설명을 따라 설치 시도 하였으나 ruby 관련 지식이 없어서 실패...(Linux 고수 및 ruby 관련 고수 아니면 Bitnami 활용이 정신건강에 이로움ㅎ)

그래서 Bitnami 로 한방에 설치!!


1. 기존에 subversion, mysql이 설치되어 있어서 모두 삭제

2. Bitnami-redmine-2.2.3-0 설치


시행착오 1

Console root 접속 시 ERROR 2002 (HY000): Can't connect to local MySQL server through socke '/tmp/mysql.sock'

실제 설치경로 /opt/redmine-2.2.3-0/mysql/my.cnf 설정파일에 /opt/redmine-2.2.3-0/mysql/mysql.sock 셋팅되어 있으나 /tmp/쪽에서 참조하려고 해서 삽질..

my.cnf 파일을 /etc/하위에 복사하니 해결

(기존에 mysql 설치/삭제 하면서 꼬인듯함.. mysql 단독 기본으로 설치하면 해당 위치에 있다.)



시행착오 2

bitnami 에서 실행하는 svn 시작 시 svn home 수정하다하다 안되서.. 그냥 포기.. 간단하게 수정;;

/opt/redmine-2.2.3-0/subversion/scripts/ctl.sh

#!/bin/sh


if [ "x$1" = "xstart" ]; then
        /opt/redmine-2.2.3-0/subversion/bin/svnserve -d -r /home/svn/
        echo "svn 시작 완료"
elif [ "x$1" = "xstop" ]; then
        PID=`ps -enf | grep svnserve |awk '{print $1}'`
        if [ "$PID" == "" ]; then
                echo "svn 시작되지 않음"
        else
                kill -9 $PID
                echo "svn 종료 완료"
        fi
elif [ "x$1" = "xstatus" ]; then
        ps -enf | grep svnserve
        echo "PID 나오면 떠 있는거 것지..."
elif [ "x$1" = "xcleanpid" ]; then
        echo "뭔 명령어여... 사용하지 말어.."
fi



시행착오 3

Plugins 디렉토리 /opt/redmine-2.2.3-0/apps/redmine/htdocs/plugins 하위에 plugin 디렉토리 위치하고, 디렉토리 명은 해당 plugin 설명에 나온 그대로 변경해야 함!!

rake db:migrate RAILS_ENV=production


시행착오 4

설치 시 사용자명부분에 꼭 영문으로 하자!!! 한글로 했다가 페이지 안 떠서 엄청 삽질...


시행착오 5

메일알림 관련해서 gmail을 셋팅하였으나, TLS 관련해서 플러그인 설치관련 정보들이 많이 있었으나 잘 되지 않았다.

그래서 Redmine이 설치되어있는 서버에 SMTP 익명사용자 발송가능하게 셋팅하여 처리!!!


MyLyn 설치

git clone git://github.com/danmunn/redmine_mylyn_connector.git

bundle install --without development test

rake redmine:plugins:migrate RAILS_ENV=production


apps/redmine/htdocs/config/configuration.yml

default:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      enable_starttls_auto: true
      address: "127.0.0.1"
      port: '25'
      domain: "ddakker.org"
      authentication: :plain


svn hook 기능을 이용하여 사용자별 커밋 리스트를 저장

post-commit 에 정의


#사용자 아이디를 구한다.(커밋정보=사용자, 시간 등)

INFO=$(svnlook info -r $REV $REPOS)

#IFS=-e "\n"

IFS=$"\n"

set -- $INFO

array=( $@ )


#현재 날짜를 구한다. YYYYMMDD

DATE_STRING=$(date +%Y%m%d)


#리비전 번호에 대한 커밋리스트를 구해 log파일에 Append한다.

svnlook changed -r $REV $REPOS >> "/home/svn/repos/hooks/svn_commit_${array[0]}_$DATE_STRING.log"

마우스 오버 시 이전에 오버됐던 객체를 리턴한다.

DTD 부분 오타 있으면 발생하는군요....


<?xml version="1.0" encoding="euc-kr" ?>

<!DOCTYPE struts PUBLIC

    "-//Apahce Software Foundation//DTD Struts Configuration 2.0//EN"

    "http://struts.apache.org/dtds/struts-2.0.dtd">



Apahce  ;;; --> Apache 흠.. 이 전에는 왜 잘 됐었지 ;; 어이 없네..(리얼도 잘 된다.. 왜 이려..)


import org.junit.Test;

public class ClassKindTestCase {
	public interface ParentClass {
		public void add();
	}

	@Test
	public void innerClassTest(){
		innerLocalClass("ddakker", 21);
		innerAnonymousClass("ddakker", 22);
	}
	
	// 로컬 클래스
	public void innerLocalClass(final String name, final int age){
		class ChildClass implements ParentClass {
			@Override
			public void add(){
				System.out.println("[innerLocalClass] name=" + name + ", add age=" + age);
			}
		}
		
		ParentClass instance = new ChildClass();
		executeMethos(instance);
	}
	
	// 익명 내부클래스
	public void innerAnonymousClass(final String name, final int age){
		/*ParentClass instance = new ParentClass(){
			@Override
			public void add() {
				System.out.println("[innerAnonymousClass] name=" + name + ", add age=" + age);
			}
		};
		executeMethos(instance);*/
		executeMethos(
			new ParentClass(){
				@Override
				public void add() {
					System.out.println("[innerAnonymousClass] name=" + name + ", add age=" + age);
				}
			}
		);
	}

	// 실행(공통 분리)
	public void executeMethos(ParentClass object){
		object.add();
	}
	
}

[설정]

struts.xml

<struts>

...

<constant name="struts.custom.i18n.resources" value="프로퍼티 파일명(확장자는 빼고, 국가 문자열 빼고(_ko 등)" />

...

</struts>


[JSP]

...

<%@ taglib prefix="s" uri="/struts-tags" %>

...

<s:text name="err.msg" />

...


[Action]

...

getText("err.msg"); // ActionSupport 를 상속받아야함

...

oscache-2.3.2.jar 가 기존에 포함되어 있길래 재대로 활용해보았다.


하지만 운영서버에서 서버가 버벅되다 죽는것이 확인되었다.


이유를 못 찾는 와중에 WAS 시스템 엔지니어로 부터 OSCache문제라는 통보를 받았다 ㅠ


구글링도 해보았지만 해결책을 쉽게 찾지 못 하였다.


캐쉬 최대 갯수도 늘려보아도 소용이 없던 찰라에 oscache 버전을 최신으로 교체해보았다.


결론은.. 원활하게 운영중이다..


이런. ㅠㅠ


현재 oscache-2.4.1.jar 버전으로 정상 가동중이다.


WAS 기동 시 시스템 프로퍼티에 아래와 같이 등록한다.


-Dlog4j.configuration=log4j 설정 파일.xml


create database aaa default character set utf8;

SET storage_engine=INNODB;

create or replace procedure sp_config_setting2
is   
    menuCd  varchar(4);
    menuUrl varchar(200);
    
    cursor curTb    
    is
    select menu_cd, menu_url from menu where menu_ctg = 'A' and use_yn = 'Y' and menu_view_yn = 'Y';
begin
    
    open curTb;
    
    loop
        fetch curTb 
        into menuCd, menuUrl;
        EXIT  WHEN  curTb%NOTFOUND; 
        
        if menuUrl is not null then
            
            if instr(menuUrl, '냠냠냨') = '0' then
                dbms_output.put_line(menuCd || '=' || menuUrl || '-' || instr(menuUrl, '냠냠냠'));
                
                update menu set menu_url = '냠냠냠' where menu_cd = menuCd;
            end if;
        end if;
    end loop;    
    
    close curTb;
end;

--execute sp_config_setting2();
--DROP PROCEDURE sp_config_setting2;

+ Recent posts