본문 바로가기

설치&설정 관련

mysql에서 emoji를 저장하기 위한 케릭터셋 설정 mysql에서 emoji를 저장하기 위한 케릭터셋 설정 utf8 to utf8mb4 utf8 인코딩은 한 문자를 나타내기 위해서 1바이트에서 4바이트까지를 사용합니다. 그런데 말입니다. mysql의 utf8은 3바이트로 이루어져 있습니다. emoji를 제대로 표현하기 위해서는 4바이트의 문자열이 필요합니다. 아래는 utf8 에서 utf8mb4로 변환 하는 내용을 정리 하였습니다. MYSQL에서 설정 변경 mysql 5.5.3 이상에서만 utf8mb4를 사용할 수 있습니다. 참고 설정 변경 # linux - my.cnf # windows - my.ini [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci skip-charact.. 더보기
AWS PRESIGNED-URL 생성시 태그 추가 AWS PRESIGNED-URL 생성시 태그 추가 AWS S3에 파일 업로드 url 생성시 Tag를 설정하는 방법 입니다. 필요 모듈 정보 @aws-sdk/client-s3 코드 예제 function getAwsConfig() { const awsInfo = { region: 'ap-northeast-2' }; awsInfo['credentials'] = { accessKeyId: 'AWS_ACCESSKEY', secretAccessKey: 'AWS_SECRETKEY', }; return awsInfo; } const s3Client = new S3Client({ ...this.getAwsConfig() }); async function createSignedUrlWithTagExample() { con.. 더보기
git branch main으로 설정하기 2020년 6월 236857: all: replace usages of whitelist/blacklist and master/slave 에서 인종 차별적 요소나 주종 관계의 의미를 담는 whitelist/blacklist와 master/slave를 사용하지 말자는 발제가 있었습니다. github도 기본 branch명을 master에서 main으로 변경하였습니다. master => main 변경 branch 생성시 -M 옵션을 주게되면 해당 branch가 기본이 됩니다. $ echo "# hello world" >> README.md $ git init $ git add README.md $ git commit -m "first commit" $ git branch -M main $ git remote .. 더보기
Nginx를 통한 PROXY 통신시 간혈적인 502 오류 발생 구조 API 서버를 ECS로 배포시 간혈적으로 502 오류가 발생하였습니다. 원인으로 NGINX의 로그를 확인해본 결과 아래와 같은 로그를 확인하였습니다. 2022/09/22 17:24:42 [error] 2650#2650: *1202397 connect() failed (110: Connection timed out) while connecting to upstream, client: 172.10.6.7, server: , request: "GET /mobilecheck/ HTTP/1.1", upstream: "https://172.10.6.175:443/", host: lahuman.github.io" 2022/09/22 17:24:52 [error] 2650#2650: *1202419 connect.. 더보기
ec2에 redis-cli 설치 redis-cli를 ec2에 설치 시 tls 옵션을 사용하기 위해서는 redis-cli를 사용하여 전송 중 데이터 암호화가 활성화된 Amazon ElastiCache for Redis 노드에 연결의 내용과 같이 make BUILD_TLS=yes를 이용해서 설치해야 합니다. 아래는 Amazon Linux 2의 설치 명령어 입니다. root 계정의 경우 sudo 명령어를 빼고 진행하세요. $ sudo yum -y install openssl-devel gcc $ wget http://download.redis.io/redis-stable.tar.gz $ tar xvzf redis-stable.tar.gz $ cd redis-stable $ make distclean $ make redis-cli BUILD_.. 더보기
Mysql 백업 정리 mysql 백업 MYSQL 설치 위치 : /database/mysql/bin 백업을 하기 위해서 비밀번호 없이 접근할 수 있는 설정을 생성해야 합니다. # /database/mysql/bin 에서 실행 # mysql_config_editor set --login-path=설정이름 --host=주소 --user=아이디 --port=포트 --password $ mysql_config_editor set --login-path=myroot --host=localhost --user=root --password Enter password: ***** #설정을 사용하여 접속 $ mysql --login-path=myroot .. mysql> 설정이 완료 되면 backup.sh 파일을 생성 합니다. # backup.. 더보기
DB 테이블에서 객체 필드 뽑아내기 DB 테이블을 이용해서 Entity 객체를 생성할때, 눈으로 하나하나 보면서 만들면 시간이 오래걸리고, 오타가 생길수도 있습니다. SQL을 이용해서 쉽게 field를 도출할 수 있습니다. SELECT GROUP_CONCAT(CONCAT( '/* ', CASE WHEN LENGTH(COLUMN_COMMENT) > 0 THEN COLUMN_COMMENT ELSE COLUMN_NAME END, ' */', CHAR(13), CONCAT( TRIM(CN1), TRIM(CONCAT(UPPER(SUBSTRING(CN2, 1, 1)) , SUBSTRING(CN2, 2, LENGTH(CN2)))), TRIM(CONCAT(UPPER(SUBSTRING(CN3, 1, 1)) , SUBSTRING(CN3, 2, LENGTH(.. 더보기
Nginx 와 xwkik proxy 처리 Nginx 설정 옵션 정리 설치는 Nginx source를 이용한 compile 설치를 참고 하셔요. /usr/local/nginx 750 권한으로 오류 발생 이부분은 nginx에서 work process가 nobody(기본값)으로 동작하면서 /usr/local/nginx 디렉토리(rwxr_x___)에 접근 권한이 없어서 발생한 문제입니다. 쉽게는 해당 디렉토리의 권한을 755(rwxr_xr_x)변경하면 되지만, 보안(?)이슈로 변경이 안되어 아래와 같이 처리 했습니다. ERR_CONTENT_LENGTH_MISMATCH 오류 문제를 해결하기 위해서 버퍼링을 비활성화 하였습니다. proxy_buffering 문제로 해당 설정을 사용하면, Nginx는 프록시 서버로 부터 응답을 받아 버퍼에 저장합니다. 다만.. 더보기
REDMINE 설치 및 추천 플러그인 정리 환경 정보 CPU - 3.4 Ghz (2 cores) Memory - 2 GB Storage - 20 GB Operating System - RHEL 8.2 Hostname – lahuman IP Address - 192.168.0.2 DBMS - Mysql 5.7 필요시 Redhat Repository 설정하기를 설정을 확인하셔요. root 계정으로 진행합니다. 서버 최신 버젼 업데이트 $ dnf update -y 계정 생성 $ useradd -r -m -d /opt/redmineuser redmineuser # 추후 bundle install시 필요 $ passwd redmineuser $ usermod -aG wheel redmineuser mysql 설정 mysql binary 설치시 설정을 참고.. 더보기
XWIKI 첨부파일 확장자 확인 후 업로드 처리 XWIKI 첨부파일 확장자 처리 xwiki에서 보안 요건으로 첨부파일의 확장자를 확인 후 업로드 처리 해야 합니다. 처리 방식을 고민하다가, CKEditor를 수정하여 처리한 내역을 정리합니다. 사용한 xwiki 버전 정보는 XWiki 13.10.3 입니다. CKEditor 설정 변경 If you want to configure the CKEditor globally for all the wikis in your farm then you have to copy the file META-INF/resources/webjars/application-ckeditor-webjar//config.js from WEB-INF/lib/application-ckeditor-webjar-.jar to WEB-INF/cl.. 더보기