728x90
반응형

[Linux] MongoDB 설치

작성일자 : 2018 08 23

환경 : CentOS 6.6 / MongoDB 4..0.1

 

1. Repo 생성


$ vi /etc/yum.repos.d/mongodb.repo

 ..

[MongoDB]

name=MongoDB Repository

baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/

gpgcheck=0

enabled=1

 ..

 


2. 설치


$ yum install mongodb-org

 


3. 실행


$ /etc/init.d/mongod start

 


++


Collection == Table

Document == 행


비교


Insert

SQL : INSERT INTO table ("idx","item") VALUES("1","test")

Mongo DB : db.table.insert({_id:"1",item:"test"})


Select

SQL : SELECT * FROM table WHERE idx="1"

Mongo DB : db.table.find({_id:"1"})


Update

SQL : UPDATE table SET item="test2" where idx="1"

Mongo DB : db.table.update( {_id:"1"}, {$set :{ city:"test2" } } )


Delete

SQL : DELETE FROM table WHERE idx="1"

Mongo DB : db.table.remove({_id:"1"})



부팅 시 자동시작 설정 : chkconfig mongod on

실행 : /etc/init.d/mongod start

Ex )      

$ mongo

> use mydb;

> db.test.save( { a: 1 } )

> db.test.find()

  { "_id" : ObjectId("54fc2a4c71b56443ced99ba2"), "a" : 1 }


728x90
반응형

'Linux' 카테고리의 다른 글

[Linux] telnet 사용  (0) 2018.09.16
[Linux] Node.js 설치  (0) 2018.09.16
[Linux] GIT Client 설정  (0) 2018.09.16
[Linux] PostgreSQL 설정  (0) 2018.08.12
[Linux] GUI 환경 설정  (0) 2018.07.21
728x90
반응형

[Linux] GIT Client 설정

 

작성일자 : 20180822

환경 : CentOS 6.6, GIT 1.8.3

 

# CentOS 6.6에서 yum install git 명령어로 설치 시 1.7.1 버전이 설치 되며

# 해당 버전으로 git 사용 시 HTTP request Failed 에러 발생


 

1. 설치파일 다운로드

 

$ wget http://springdale.math.ias.edu/data/puias/computational/6/x86_64/git-1.8.3.1-1.sdl6.x86_64.rpm

$ wget http://springdale.math.ias.edu/data/puias/computational/6/x86_64/perl-Git-1.8.3.1-1.sdl6.noarch.rpm 

 


2. 기존 Git 삭제(존재 시)


$ yum remove git -y

 


3. 설치


$ yum localinstall git-*.rpm perl-Git-*.noarch.rpm -y

 

# OS Minimal로 설치 후 git 1.8 버전으로 git 사용 시 SSL connection 에러 발생

 

아래 명령어 입력


$ yum update -y nss curl

 


4. 확인


$ git clone "GIT_Repository_URL"

 




+++

Commit 기본 명령어
git add -A
git commit -m "Comment"
git push origin master


728x90
반응형

'Linux' 카테고리의 다른 글

[Linux] Node.js 설치  (0) 2018.09.16
[Linux] MongoDB 설치  (0) 2018.09.16
[Linux] PostgreSQL 설정  (0) 2018.08.12
[Linux] GUI 환경 설정  (0) 2018.07.21
[Linux] Maven 설치  (0) 2018.07.15
728x90
반응형

계정 관련 설정 파일


작성일자 : 2018년 08월 18일

환경 : Amazon Linux AMI 2018.03


1. /etc/passwd

사용자에 대한 기본적인 설정 내지는 정보들이 들어 있다. 원래 이 파일에는 사용자의 패스워드에 대한 사항도 함께 저장되는데, shadow 프로그램에 의해서 암호화되어 기록된다. 다음은 Amazon Linuxpasswd 파일의 예제이다.



이 예에서 한 행이 콜론(:) 으로 구분된 7개의 필드로 구성되는 것을 알 수 있다. 각 필드의 의미는 다음과 같다.

 

ec2-user:x:500:500:EC2 Edfault User:/home/ec2-user:/bin/bash

 

ec2-user사용자의 사용자명(username)

x사용자의 패스워드로 암호화되어 있으며 shadow 패스워드를 사용하는 경우에는 x로 표시

500 사용자의 UID

500사용자의 GID로 이 필드는 /etc/group 파일에 등록 되 있는 값으로 설정

EC2 Default User사용자에 대해 설명하는 주석

/home/ec2-user사용자의 홈 디렉토리

/bin/bash사용자의 기본사용 쉘

 


 

2. /etc/shadow

passwd의 보안 문제를 해결하기 위해 나온 것이 shadow이다. /etc/passwd 파일은 기본적으로 사용자의 패스워드가 드러나게 되어 있다. 이것이 해커들에게 힌트를 줄 수도 있으므로 좀 더 보안성을 높이기 위해 shadow 패스워드를 사용한다. , /etc/shadow 파일은 루트 사용자만이 읽기 권한을 가지고 있으므로 좀 더 안전하다. Shadow 패스워드는 /etc/passwd 파일이 모든 사용자가 읽기 권한을 가지는 점을 보완하기 위해 만들어진 것으로, 사용자의 패스워드는 shadow 파일에 넣어두고 /etc/passwd 에서는 패스워드를 x로만 표현



ec2-user:!!:17748:0:99999:7:::

 

ec2-user사용자의 사용자명(username) : passwd 파일의 사용자명과 같음

!!사용자의 암호화 된 패스워드로 이중느낌표(!!)의 경우에는 비밀번호의 미설정을 의미하고 에스터리스크(*)의 경우에는 로그인 불가 계정임을 의미

17748최종 패스워드 변경 일로 1970년 1월 1일 이후 부터의 일자수로 계산

0패스워드 변경 최소 일수로 패스워드를 한 번 변경하고 나면 최소 며칠 이후에 다시 설정할 수 있는가를 설정하는 것으로 0이면 아무 때나 다시 재설      정할 수 있다는 것을 의미

99999패스워드 변경 유예기간을 의미하며 설정한 패스워드가 며칠까지 유효한지를 결정하는 것

7패스워드 변경 경고일 수를 의미하며 설정된 숫자의 날 만큼 패스워드가 만료되기 전부터 로그인 시에 안내 메시지를 출력

 : 패스워드 변경 비활성화 기간 – 패스워드가 유효기간 종료 이후에 계정 비활성화될 일 수를 의미 (미설정)

 : 계정 사용 종료일 – 계정 자체의 종료일자를 설정하는 필드로 패스워드의 종료일과는 별개(미설정)

 : 예약 필드

 

 


3. /etc/group

group의 설정 파일은 /etc/group이다. 관리자가 특정 그룹을 지정하지 않고 사용자를 생성하면 사용자명과 동일한 그룹이 생성되어 이 파일에 기록된다. 만약 관리자가 사용자를 기존에 생성된 그룹에 포함시키면 이 파일에 해당 내용만 업데이트되어 기록된다. 그리고 관리자는 groupadd <group-name>을 실행하여 새로운 그룹을 생서알 수 있는데, 생성된 그룹은 /etc/group 파일에 저장된다.

 


ec2-user:x:500:


ec2-user그룹의 그룹명

x그룹을 위한 패스워드 필드로서 보통은 사용 ㅇ나함

500그룹 생성시에 500부터 차례로 부여되는 그룹의 GID. 만약 -r옵션을 붙이면 499번 이하의 역순으          로 할당되지 않은 번호를 부여

 : 그룹에 속한 사용자를 기술하며 쉼표(,)로 구분해당 예시에서는 본인 제외 사용자 없음


728x90
반응형
728x90
반응형

[Linux] PostgreSQL 설정

 

작성일자 : 2018 07 31

환경 : PostgreSQL 9.2.14, CentOS 6.6

시나리오

DB용 서버(CentOS) DB(PostgreSQL) 설치 후 외부(Window)에서 pgAdmin 툴을 사용해 접근

구성 :

DB 서비스 계정 : dbadmin

DB 설치 위치 : /db/pgsql

DB 데이터 위치 : /db/data

 



1. 계정 설정


1-1. 서비스용 계정 생성


$ adduser dbadmin

$ passwd dbadmin

 


1-.2 서비스용 계정 환경변수 설정


$ su - dbadmin

$ vi ~/.bash_profile

 

..

POSTGRES_HOME=/db/pgsql

export POSTGRES_HOME

# PostgreSQL Home Path

 

 

PGDATA=/db/data

export PGDATA

# PostgreSQL Data Path

 

LD_LIBRARY_PATH=/home/dbadmin/pgsql/lib 

export LD_LIBRARY_PATH

# PostgreSQL Library Path

 

 

PATH=$POSTGRES_HOME/bin:$PATH

export PATH

 

..

 

 


1-3. 환경변수 적용


$ source ~/.bash_profile

 



2. 설치 전 설정


2.1 관련 패키지 설치


$ su - root

$ yum -y install gcc gcc-c++ make autoconf wget readline readline-devel zlib zlib-devel openssl openssl-devel gettext gettext-devel python python-devel

 


2.2 설치 파일 다운로드


$ wget http://ftp.postgresql.org/pub/source/v9.2.14/postgresql-9.2.14.tar.gz

 



2.3 소유자 변경


$ chown dbadmin.dbadmin postgresql-9.2.14.tar.gz

$ chown dbadmin.dbadmin /db


 

2.4 압축 해제


$ tar –zxvf postgresql-9.2.14.tar.gz

$ cd postgresql-9.2.14

 


 

2.5 설정


$ ./configure --prefix=/db/pgsql

# --prefix : 설치 경로 설정

 

 


3. 설치

 

# DB 설치는 Root가 아닌 환경변수 설정완료 및 파일 소유 계정으로 설치 권고


$ make

 


 

$ make check

 



$ make install

 




 

4. 설치 후 설정


4.1 initdb 실행



$ POSTGRES_HOME/bin > ./initdb

# 시스템 카달로그를 포함하고 있는 Postgres 기본 DB를 생성하는 명령어

# $PGDATA = /db/data

 


 


4.2 외부 접근 허용

 

$ vi $PGDATA/pg_hba.conf

..

host     all        all        0.0.0.0/0           md5

..

 

# 기존 host 라인 삭제 및 새로운 라인 추가

 


 

$ vi $PGDATA/postgresql.conf

..

listen_addresses = ‘*’

..

 

# 기존 listen_addresses 옵션 수정

 




5. 실행 및 확인


$POSTGRES_HOME/bin > ./pg_ctl start

 

 


 


 

계정 비밀번호 설정


POSTGRES_HOME/bin > ./psql postgres

postgres=# alter user dbadmin with password ‘dbadmin’;

 

 


6. 외부 접근 확인


pgAdmin4에서 연결 확인

 


Host name/address : DB서버 IP

Default Port : 5432

Default Database : postgres

Username, Password 서비스 계정 및 설정한 패스워드

 


 

 

+++

psql 명령어만 사용 시 자동으로 계정명의 데이터베이스에 접근하기 때문에

postgres 계정을 서비스계정으로 사용하면 psql만으로 초기 접근 가능

 

psql 종료

ctrl+D

 

데이터베이스 생성

$ psql postgres

Postgres=# create database ‘database_name’;

 

데이터베이스 확인

$ psql postgres

\l

 

데이터베이스 사용자 확인

$ psql postgres

\du

 

데이터베이스 사용자 생성, 수정, 삭제

create user ‘ID’ with password ‘PASSWORD’;

alter user ‘ID’ with password ‘PASSWORD’;

drop user ‘ID’;


728x90
반응형

'Linux' 카테고리의 다른 글

[Linux] MongoDB 설치  (0) 2018.09.16
[Linux] GIT Client 설정  (0) 2018.09.16
[Linux] GUI 환경 설정  (0) 2018.07.21
[Linux] Maven 설치  (0) 2018.07.15
[Linux] Tomcat 설치  (0) 2018.07.03
728x90
반응형

[Spring] 정적 리소스 사용 설정

 

작성일자 : 2018 07 28

시나리오 : 프로젝트 내부에 위치한 정적 리소스에 접근

관련파일 :




web.xml 내 Spring의 초기 Default 설정에 의해 모든 접근은 Servlet 요청으로 판단

<servlet-mapping>

       <servlet-name>appServlet</servlet-name>

       <url-pattern>/</url-pattern>

</servlet-mapping>

 

 

설정 추가


두 가지 방법 중 하나 선택


web.xml

..

..

<servlet-mapping>

        <servlet-name>default</servlet-name>

        <url-pattern>*.js</url-pattern>

</servlet-mapping>

</web-app>

..

..

 

*.js의 요청은 Servlet이 아닌 default로 처리


Or

 

servlet-context.xml

..

..

<resources mapping="/js/**" location="/resources/js/" />

 

<resources mapping="/resources/**" location="/resources/" /> //default config

..

..

 

resource 설정 추가 


확인


webapp 밑 경로 내 파일 정적 리소스 파일 생성




*.js

..

<script src="<c:url value="/resources/js/test.js"/>"></script>

..

 


해당 jsp 접근 시 경로내 정적 리소스를 로드하는 것을 확인






직접 접근해도 접근 및 확인 가능





728x90
반응형

'Java' 카테고리의 다른 글

[Spring] Spring Security 적용  (0) 2018.10.17
[Spring] Error Page 커스터마이징  (0) 2018.10.15
Spring, PostgreSQL 연동 with MyBatis  (6) 2018.06.03
Spring 개발 환경 세팅  (0) 2018.06.02
JVM  (0) 2018.04.07
728x90
반응형

[Jenkins] 자동빌드 설정

 


# Poll SCM 옵션을 사용하여 자동빌드실행을 설정하며, SCM 연동이 우선되는 것을 권장


** 여기서에 빌드는 Compile + linking의 빌드가 아닌 Jenkins 내에서 작업을 의미하는 빌드입니다.

** mvn install에 의한 빌드 X

 

 

 

위 설정 값은 2분마다 한번 씩 SCM(Git, SVN..)의 수정(Commit) 여부를 확인하여 수정사항이 있을 시 빌드 실행

 

+++

ex)

10 간격으로 빌드 작업을 수행

H/10 * * * *


모든 시간의 30 동안에 10 간격으로 빌드를 수행

H(0-29)/10 * * * *


12 달은 제외하고 매달 1일과 15일에 한번씩 빌드를 수행

H H 1,15 1-11 * 

 


728x90
반응형

'Jenkins' 카테고리의 다른 글

[Jenkins] 이전 저장소로 빌드  (0) 2018.10.20
[jenkins] GIT Publisher  (0) 2018.10.20
[Jenkins] 자동배포 설정  (0) 2018.07.21
[Jenkins] Github 연동  (0) 2018.07.21
[Jenkins] SVN 연동  (0) 2018.07.21
728x90
반응형

[Jenkins] 자동배포 설정


작성일자 : 2018 07 16

환경 : Jenkins 2.129, JDK 1.8.0_101, Maven 3.3.9, Tomcat 7.0.88, Git 1.8, Linux

서버 #1 - Jenkins, Git, Maven, JDK

서버 #2 – Tomcat


구성 : Jenkins - JDK, Maven 설치 및 경로 설정 / Git 연동 / Maven 빌드 설정 완료

               Jenkins 작업(Build) 실행 시 저장소 동기화 및 빌드 작업(mvn install) 후 .war 파일 target에 생성


시나리오 : Jenkins 작업(Build) 수행 시 생성되는 .war 파일을 원격 WAS 서버에 배포


 

# 사전에 Jenkins 작업을 수행하면 배포할 파일이 생성 되는 시점 까지의 설정이 우선되는 것을 권고



1. Tomcat 설정


$ vi $TOMCAT_HOME/conf/tomcat-users.xml

..

<tomcat-users>

..

 <role rolename="manager"/>

 <role rolename="manager-script"/>

 <role rolename="manager-gui"/>

 <role rolename="manager-status"/>

 <role rolename="manager-jmx"/>

 <user username="ID" password="password" roles="standard,manager,manager-script,manager-gui,manager-status,manager-jmx"/>


</tomcat-users>

..

 

 

manager-gui — Access to the HTML interface.

manager-status — Access to the "Server Status" page only.

manager-script — Access to the tools-friendly plain text interface that is described in this document, and to the "Server Status" page.

manager-jmx — Access to JMX proxy interface and to the "Server Status" page.

 

위에서 설정한 username, password 기억!




2. Jenkins 설정


플러그인 설치

 

 


 

프로젝트 설정


 



알맞은 컨테이너 추가


 


 

Username password에는 tomcat-users.xml(1. Tomcat 설정)에서 설정해준 username, password 입력


 


추가해준 Credentials, Tomcat, 배포 파일 설정

Context path를 지정하지 않을 경우 Jenkins Project target Default로 참조





3. 확인


빌드 시 서버에 자동 배포까지 진행

 

 

728x90
반응형

'Jenkins' 카테고리의 다른 글

[jenkins] GIT Publisher  (0) 2018.10.20
[Jenkins] 자동빌드 설정  (0) 2018.07.21
[Jenkins] Github 연동  (0) 2018.07.21
[Jenkins] SVN 연동  (0) 2018.07.21
[Jenkins] Maven 설정  (0) 2018.07.21
728x90
반응형

[Jenkins] Github 연동


작성일자 : 2018 07 16

환경 : Jenkins 2.129, Git 1.8, CentOS 6.3


 

1. Git 설정

 

GIT 토큰 발행


 






토큰 Don’t forget!



 

2. Jenkins 설정

 

2.1 Jenkins 서버에서 git 설치

 

yum install git로 설치 할 경우 RHEL/CentOS 6 에는 git 1.7 이 포함되어 있고 https protocol을 처리 못하는 관련 버그가 존재하므로 yum repository 를 제공하는 The PUIAS Computational repository 에서 최신 git 버전을 다운로드


$ wget http://springdale.math.ias.edu/data/puias/computational/6/x86_64/git-1.8.3.1-1.sdl6.x86_64.rpm

$ wget http://springdale.math.ias.edu/data/puias/computational/6/x86_64/perl-Git-1.8.3.1-1.sdl6.noarch.rpm

$ yum remove git -y

$ yum localinstall git-*.rpm perl-Git-*.noarch.rpm -y

 

 


2.2 Jenkins Web 설정


GIT 경로 설정 


 

 

 



Git 경로는 서버에서 아래 명령어로 확인 가능




Git 서버 설정



 

 


 

ID 생성 및 Secret에 위(1. GIT 설정) 에서 생성한 액세스 토큰 입력


 


Credentials 생성 완료 후 아래와 같이 설정 




Test Connection 후 아래 형태의 문구가 나오면 연결 성공

 


 

 

2.3 Jenkins 프로젝트 설정

 

Github에서 저장소 URL 확인





확인 한 URL로 Jenkins 프로젝트 설정




+++


GIT URL 입력 했을 때 아래와 같은 에러 발생 시


fatal: unable to access 'https://github.com/repository/': SSL connect error


$ yum update -y nss curl libcurl

 

+++


GIT Repository가 Private로 설정 되어 있을시 위 화면에서 추가로 Credentials에 git 아이디,비밀번호 설정이 필요  


3. 확인


GitHub 클릭 시 해당 저장소로 이동





첫 빌드 이후 작업공간 에서 연동 여부 확인 가능


 



728x90
반응형

'Jenkins' 카테고리의 다른 글

[Jenkins] 자동빌드 설정  (0) 2018.07.21
[Jenkins] 자동배포 설정  (0) 2018.07.21
[Jenkins] SVN 연동  (0) 2018.07.21
[Jenkins] Maven 설정  (0) 2018.07.21
[Linux] Jenkins 설치  (0) 2018.02.10
728x90
반응형

[Jenkins] SVN 연동

 

작성일자 : 2018 07 16

환경 : Amazon Linux AMI 2018.03, SVN 1.9.7, Jenkins 2.129, JDK 1.8.0_101

구성 : 서로 다른 서버에서 실행중인 SVN Jenkins를 연동

 


1. Jenkins 프로젝트 설정



URL svn://”IP”/”Path”

Credentials Username with password 옵션으 username password SVN에서 설정한 RW 가능 계정 정보 설정




 

2. SVN 서버 설정


# SVN 프로세스 실행

# 3690 Port Open 확인

 

 

3. 확인


첫 빌드 후 작업공간에서 연동 여부 확인



 


728x90
반응형

'Jenkins' 카테고리의 다른 글

[Jenkins] 자동배포 설정  (0) 2018.07.21
[Jenkins] Github 연동  (0) 2018.07.21
[Jenkins] Maven 설정  (0) 2018.07.21
[Linux] Jenkins 설치  (0) 2018.02.10
CI/CD  (0) 2018.02.08
728x90
반응형

SVN 저장소 설정


작성일자 : 2018 07 16

환경 : Amazon Linux AMI 2018.03 / SVN 1.9.7

 


1. SVN 서버 설정


# Root 계정으로 작업 권고


 

1.1 SVN 설치


설치 명령어 입력


$ yum install subversion

 


설치완료




 

1.2 저장소 설정


SVN 최상위 루트폴더 설정


$ mkdir /var/svn

 


repository 생성


$ svnadmin create --fs-type fsfs /var/svn/repos

 


생성완료



 


1.3 환경 설정


$ vi /var/svn/repos/conf/svnserve.conf

 

# 공백 주의



$ vi /var/svn/repos/conf/passwd

 

ID=PASSWORD 형식




$ vi /var/svn/repos/conf/authz

 


 

환경변수 설정


$ vi /etc/profile

..

SVN_EDITOR=/usr/bin/vim

export SVN_EDITOR

..

$ source /etc/profile

 



1.6 서비스 시작


$ svnserve -d -r /var/svn/repos

// svnserve -d -r <path to repository>

 

++ 아래와 같은 오류 출력 시



/etc/sysconfig/svnserve 에서 환경에 맞게 경로 수정




SVN 기본 디렉터리 구조 생성


$ svn mkdir --parents svn://127.0.0.1/var/svn/repos/trunk

$ svn mkdir --parents svn://127.0.0.1/var/svn/repos/branches

$ svn mkdir --parents svn://127.0.0.1/var/svn/repos/tags

 

// svn mkdir svn://”IP”/”Repository Path”/”Directory”

// trunk, branches, tags 3개 디렉터리 생성

// 명령어 입력 시 자동으로 VIM이 활성화 되며, :q , c 차례로 입력 후

// root 비밀번호, svn 계정 입력( Write 권한 있는 계정 필수 )

 

 

svn list svn://”IP”/”Repository” 입력 후 아래 내용 확인

 


 


2. Client 서버 설정


# Window 기준


2.1 로컬 저장소 설정


Tortoise SVN 설치 ( https://tortoisesvn.net/downloads.html )



저장소로 사용할 폴더 우클릭 후 SVN Checkout 클릭


URL 입력 후 계정 입력




연결 확인



 


2.2 Commit


테스트를 위한 저장소 수정



 

디렉터리 우클릭 후 Commit


 



  

Commit 내용은 TortoiseSVN Repository Browser에서 확인 가능




728x90
반응형

'도구, 툴 > 세팅' 카테고리의 다른 글

[React] 기본 프로젝트 띄우기  (0) 2019.11.03
[vue] vuetify 사용 설정  (1) 2019.07.21
GIT 저장소 설정  (0) 2018.07.15
node.js 설치  (0) 2018.06.10
VSCode 설치  (0) 2018.06.10

+ Recent posts