이번에 개인프로젝트로 대규모 홈페이지를 시작하였다. 프로젝트를 시작하기 전에 개인 우분투서버의 패스워드 인증을 막고 개인키 인증만 허용하게 구상을 했지만 이유를 알수없는 로그인 오류로 서버로부터 거부를 당해왔다. 그렇기에 이번에는 우분투 서버에서 개인키 인증을 어떻게 하는지에 대해서 적어보려고 한다. 과정은 간단하지만 파일권한이 하나라도 맞지 않다면 거부가 뜨기에 잘 확인해야 한다. 우선 mkdir -m 700 ~/.ssh 으로 폴더에 700 권한을 주고 생성한다. 그다음 공개키, 개인키를 생성해야 하는데 ssh-keygen -t rsa 이렇게 입력을 하고 엔터를 계속 누르면 ~/. ssh 폴더에 id_rsa, id_rsa.pub 파일이 생겨있을 것이다. 생성이 되었다면 ~/. ssh 폴더에 author..
우분투에 nas시스템을 이식하면서 파티션의 잔여용량을 확인하는방법을 찾아서 기록을 해 놓는다. - 전체 용량 확인 (KB, GB) - df -P | grep -v ^Filesystem | awk '{sum += $2} END { print "full capacity(KB) : " sum " KB" }' df -P | grep -v ^Filesystem | awk '{sum += $2} END { print "full capacity(GB) : " sum/1024/1024 " GB" }' - 사용 가능 용량 확인 (KB, GB) - df -P | grep -v ^Filesystem | awk '{sum += $4} END { print "usable capacity(KB) : " sum " KB" }' d..
이번에는 1편에 이어 깃허브 액션의 구성에 대해서 써보도록 하겠다. 2편에서는 1편의 gradle build가 끝났다는 전제로 깃허브 액션의 파이프라인을 만드는 법에 대해서 써보려고 한다. Gradle 빌드도 그랬지만 깃허브액션도 Spring Framework에 관한 정보가 전혀 없었다. boot에서는 jar파일로 처음부터 gradle빌드가 되어서 생성되기 때문에 도커로 배포한다고 해도 도커에 빌드하여 바로 배포가 가능하다. 하지만 이것은 불가능하기 때문에 생각한 것이 나 같은 경우 개인서버의 도커에 DockerFile로 미리 우분투 20.04 설치, jdk8을 설치, 환경변수로 지정하여 빌드를 한 다음 그렇게 만든 이미지를 미리 만들어 놓은 다음 우분투 컨테이너에 톰캣을 설치하여 scp로 파일전송을 하..
국비교육이 끝나고 슬슬 최종프로젝트에서 구축했었던 자동배포 시스템에 대해서 적어보려고 한다. 이번 국비교육에서 가장 크게 느꼈던 점이 다른 분들은 기술에는 크게 공을 많이 들이지만 배포에는 도전을 하지 않는다는 것을 많이 느꼈다. 그렇기에 이번에 팀원들을 설득하여 동의를 받고(반대는 많았지만...) 프로젝트 시작 1주일 전부터 밤을 새워가며 깃허브액션에 대해서 공부를 시작했었다. 하지만 시작부터 큰 문제가 있었다. 팀원들의 반대도 있었지만 그보다도 스프링 프레임워크를 깃허브액션으로 배포하려니 구글에는 스프링부트에 관한 정보밖에 없었다.(정말로 하나도 없었다.....) 구글에 정보가 없었기 때문에 ChatGPT가 도움이 될 리가 없었고 그렇기에 Gradle스크립트를 처음부터 공부하기 시작했었다. 그렇게 공..
최근 학원에서 JSP로 CRUD를 본격적으로 시작하였다. 내용도 복잡해진 만큼 스터디그룹에서도 조금 더 어려운 내용으로 만들어 보기로 하여 멤버각자 프로그램을 만들어 보고 있다. 나는 이번기회에 프로그램도 만드는 김에 도커로 jdbc로 오라클 db가 연결된 tomcat서버에 만든 프로젝트를 올려보기로 했다. 이번 배포의 목적은 다음글에서 정리하기로 하고 외부 톰캣서버(AWS와 같은 환경)에 톰캣 jdbc를 연동시켜 보겠다. 우선 알아야할 것은 도커는 공인 ip와 서브 ip로 나뉜다. 자세히 공부한 것이 아니라 이번에 서버를 구축하면서 알게 된 선에서 말하겠다. 공인 ip는 통신사에서 부여되는 ip이며 서브(sub) ip는 간단히 말하면 가상 ip와 같은 개념이다. 당연한 말이지만 도커에서는 컨테이너를 만..
최근 학원에서 JSP수업이 시작되었다. 학원이 끝나는 9월부터 소규모 홈페이지를 운영할 계획이 있어 사전준비로 톰캣서버의 구축과 도메인의 연결방법에 대해서 준비를 할 필요가 있었다. 이번에서 최근 구축한 톰캣서버를 구축하는 방법에 대해서 정리해보려고 한다. 일단 나는 학원에서 톰캣 8.5를 사용 중이라 버전을 맞추기 위해서 톰캣 8.5로 구축하였다. 시놀로지 도커는 GUI상에서 이미지를 설치할수 있지만 가끔 Docker Hub에 접속이 되지 않는 경우가 많아 ssh로 직접 pull하는방법을 사용하였다. ssh의 root계정으로 접속을 하고 docker pull [이미지 이름] https://hub.docker.com/ Docker Hub Container Image Library | App Contain..
오늘은 학원 스터디그룹의 html과제를 위해서 나의 개인서버에 web서버를 구축하여 팀원 개개인의 폴더를 나누어 얼마 전 싸게 구입한 도메인을 연결하였다. 여기서 중요한 점은 도메인설정에서는 하위폴더를 직 접 등록이 불가능하다는 것이다. 예로 들어 메인폴더를 www.naver.com로 등록은 가능하지만 www.naver.com을 입력했을 때 하위폴더인 www.naver.com/forder1 에 바로 접속하게 하는 것을 도메인 사이트에서 직접적으로 등록은 불가능하다는 뜻이다. 그렇기에 등록할 도메인을 하위폴더까지 묶어서 등록하는 방법을 써보려고 한다. (호스팅 서비스를 이용하고 있다면 등록가능) 일단 내가 사용한 도메인사이트는 카페 24이니 카페 24 기준으로 설명하도록 하겠다. 도메인을 사용하기 위해서는..
오늘은 며칠간 시도했던 시놀로지> 도커 위에 올렸던 오라클리눅스에 샘플스키마 설치에 성공했다. 학원에서 vmware로 한번 설치한적은 있지만 환경변수가 달라서 경로를 찾는데에 상당한 시간이 걸렸지만 발상의 전환으로 드디어 성공했다 이 과정에서 중요한 점을 말하자면 지금 내가 사용하고 있는 오라클 리눅스라는 os는 Centos계열의 리눅스라 apt-get이 먹히지 않는다는 점이다. 그렇기에 보통 yum이 기본으로 설치되어 있을 건데 개인적으로는 wget이 깔끔하게 설치되었던 것 같다. 그래서 wget을 yum으로 설치해주면 간단하게 사용할 수 있다. 그래서 이때까지의 실패를 머릿속으로 정리해서 다시 한번 천천히 설치해 보기로 했다. 가장 먼저 해야할것은 당연히 docker 컨테이너의 ID를 알아내는 것이다..
모든 과정은 도커에서 sqlplus sys / as sysdba 로 접속을 해야 설정이 가능하다. 오라클 계정 생성 create user [id] identified by [pw] 권한 설정 앵간해서는 모든권한을 다 준다. GRANT SELECT ANY TABLE TO [id]; 계정권한 확인은 SELECT * FROM DBA_SYS_PRIVX WHERE GRANTEE = [ID]; 계정확인은 SELECT * From ALL_USERS; PW변경은 ALTER USER [ID] IDENTIFIED BY [새PW] 사용자가 소유한 모든 테이블을 확인할때는 SELECT [테이블명] FROM USER_TABLES; 이다.
오늘은 학원에서 오라클 DB를 시작했다. 학원에서는 vmware에 우분투를 올리고 오라클을 설치해서 사용하는데 이 방법에는 가장 큰 문제점이 있다. 나처럼 맥북 air 램 8기가짜리 모델을 쓰면 답도 없다는 것이다. 그렇기에 생각해 낸 것이 지금 개인적으로 돌리고 있는 synology nas에 오라클을 올리면 다 해결되는 문제인 것이다. 그렇게 도커에 오라클을 올려보기로 했다. 하지만 어제까지만 해도 포트바인딩에 대해서 전혀 알지 못하였고 어떻게 오라클에 접속하는지도 알지 못해서 하나부터 찾아보기로 했다. 그렇게 정보를 쌓다 보니 결국 이틀 만에 해결방법을 찾아내고 만다. 그럼 일단 말도 안 되게 많았던 문제점부터 정리해 보겠다. 시작은 우분투를 시놀로지 도커에 올려서 시도해 봤었다. 하지만 도커는 다양..