목록전체 글 (51)
이열매의 메모장
개요 MySQL에서 기본으로 설치하는 엔진에는 InnoDB, MyISAM, MERGE, MEMORY, CSV 엔진이 있다. 이외에도 추가 옵션을 통하여 설치 및 사용 가능하도록 MySQL은 다양한 스토리지 엔진을 지원한다. 이중에서 MyISAM 과 InnoDB는 가장 대표적이라고 볼 수 있는데, MySQL 5.5 버전 이전까지 사용한 엔진이 MyISAM 이고, 5.5 버전 이후의 MySQL 에서는 기본적으로 InnoDB를 사용하기 때문이다. 여기서는 이 두 엔진의 차이점에 대해서 간략하게 알아보도록 하자. MySQL MySQL은 멀티 유저 환경에서 데이터 접근 및 변경, 관리를 하는 소프트웨어다. 전세계적으로 가장 많이 사용되고 있는 오픈 소스 DBMS 중 하나지만, 2010년에 오라클이 MySQL AB..
MySQL 소스 컴파일 설치에는 어마무시한 시간이 걸리기 때문에 일반적으로 패키지 설치로 진행한다. 그러나 간혹 설치 경로를 지정하거나 권한 문제로 소스 설치가 필요한 경우가 있다. MySQL 소스 설치에 대해서 예전 버전으로 다룬 글이 많은데, 그때는 맞고 지금은 틀리므로 19년 11월 기준 MySQL 5.7 최신 버전을 설치해보자. 환경 간략 개요 OS : CentOS 7.4 MySQL : 5.7.27 MySQL 컴파일 설치 1. 의존성 라이브러리 설치 $ sudo yum install cmake ncurses ncurses-devel 2. 압축 파일 다운로드 및 해제 $ wget https://downloads.mysql.com/archives/get/file/mysql-5.7.27.tar.gz $..
도커 사용 시, 하나의 컨테이너가 실행되기 위해서는 여러 이미지(적어도 도커파일에서 정의한 RUN 명령어 개수만큼의)가 필요하다. 이 때, 해당 캐시는 /var/lib/docker 에 기본 설정 경로로 저장이 되는데, 이미지 변경과 컨테이너 배포 및 삭제를 반복하게 되면 차지하는 용량이 어마어마하다. 심지어 루트 파티션의 용량이 적을 경우엔 tab키마저 먹지 않는 용량 문제에 접하게 된다. 이러한 경우, 루트 파티션을 사용하지 못하도록 컨테이너 저장 경로를 바꿔줘야 한다. 경로를 변경하여 지정하는 방법에는 두 가지가 있는데, 1. 도커 데몬 설정 파일 변경 과 2. 도커 실행 서비스 설정 변경 이 있다. 1번의 경우는 도커 데몬의 설정 파일에 경로를 넣어주는 것이고, 2번의 경우는 도커를 실행하는 명령어..
환경 간략 개요 OS: CentOS 7 JAVA: jdk-1.8.0 Apache: 2.4.41 SSL 설정 1. OpenSSL 설치 RSA 키 생성을 위하여 OpenSSL이 필요하다. 리눅스엔 기본적으로 OpenSSL이 설치되어 있지만, 만약 없다면 yum으로 OpenSSL을 다운받자. 또한 이 모듈은 최신 버전을 유지하는 것을 추천한다. CentOS에서 버전 확인 $ rpm -qa | grep openssl * openssl과 openssl-devel 모두 보여져야 한다. OpenSSL 설치 $ yum -y install openssl openssl-devel 2. 아파치 설치 mod_ssl을 다운받을 수 있도록 컴파일 옵션을 주어 설치할 것이다. 아파치는 동적 모듈 시스템을 지원하므로 기존 아파치에서..
아파치 SSL/TLS 설정 도커라이징을 위하여 RSA key 생성 및 CSR 설정 부분을 질문 답변없이 변경해야 했다. 생각보다 자료를 찾는데 시간을 낭비해서 글을 쓴다. 역시 가끔은 공식 문서보단 스택 오버플로우에 먼저 검색하자 How To 비밀번호 설정하여 개인 키 생성 openssl genrsa -{사용할 암호화 알고리즘} -out {생성할 키 이름} -passout pass:{설정할 패스워드} {설정할 키 사이즈 bit} 해당 개인 키 비밀번호없이 공용키 생성 openssl rsa -in {개인키 이름} -out {생성할 공용키 이름} -passin pass:{위에서 설정한 개인키 패스워드} 질문 답변 원코맨드로 CSR 생성 openssl req -new -key {생성된 공용키} -out {생성..
개요 OpenSSL SSL 오픈소스 라이브러리 스스로 서명한 자기 서명 인증서 발급 제 3자가 보증하지 않으므로 요청 검증 불가 등 보안 문제 발생 Nginx 에 https 구현하기 1. SSL 모듈이 포함된 Nginx 컴파일 설치 $ tar -xvf nginx-1.17.4.tar.gz $ cd [압축을 푼 nginx의 conf 디렉토리] $ ./configure --prefix=[nginx를 설치할 디렉토리 경로] --user=[사용자 계정] --group=[사용자 그룹] \ --with-http_ssl_module// Nginx에 ssl 모듈 설치 2. OpenSSL을 통해 키와 인증서 생성 $ cd [nginx의 conf 디렉토리 경로] $ openssl genrsa -aes256 -out tmp-..
자동 빌드 정의 github에 dockerfile 올릴 경우, 연동되어 있는 docker hub의 레포지토리에서 해당 도커 파일로 이미지를 자동 빌드 로컬에서는 dockerfile만 생성하여 github에 올리고, 해당 이미지가 필요할 경우 docker hub에서 가져와 사용 가능 즉, 로컬에서 이미지 빌드가 생략되어 작업이 간략화 사용 방법 1. github과 docker hub 연동 a) 레포지토리 생성 시 연동할 경우 docker hub 에서 Create Repository 버튼 클릭 하단 폼의 Build Settings (Optional)에서 Github의 고양이 아이콘을 누르기 Github 계정에 로그인하여 Authorize docker 를 허용 연동한 github 계정의 어떠한 레포지토리와 연..
1. 사용자 계정 확인 cat /etc/passwd | grep [확인할 사용자 계정] 2. 사용자 계정 생성 useradd [생성할 사용자 계정] 홈 디렉토리 지정하여 계정 생성 useradd -d [지정할 홈 디렉토리] -m [생성할 사용자 계정] -d : 다음 경로로 홈 디렉토리 지정 -m : 홈 디렉토리에 하위 디렉토리 생성 3. 사용자 계정 삭제 해당 계정과 사용하는 홈 디렉토리 삭제 userdel -r [사용자 계정] 해당 계정만 삭제 userdel [사용자 계정] 4. 사용자 루트 권한 주기 CentOS 7 환경일 경우 sudo chmod -a -G wheel 사용자명