서버(Server)

    git fatal: unsafe repository 에러 해결법

    git fatal: unsafe repository 에러 해결법

    회사에서 자동화 파이프라인을 걸어뒀는데 Git 업데이트 이후 Git Pull이 안되는 문제가 있었다. fatal: unsafe repository ('directory' is owned by someone else') 정확히는 해당 에러가 발생하는 것을 확인했다. 해당 에러는 Git을 업데이트 하지 않았을 때 발생하는 에러로 취약점을 대비해서 멀티 변수를 사용하여 취약점을 임시 방어한 듯 보인다. 자세한 내용은 https://github.blog/2022-04-12-git-security-vulnerability-announced/ 에서 확인할 수 있다. (Git에서 v2.35.2. 로 업데이트 권장) CVE-2022-24765 업데이트 내용 사용자 간 공유될 수 있는 파일에서 .git 파일 관련 취약점..

    Synology WebStation에 SSL(HTTPS) 활성화하기

    Synology WebStation에 SSL(HTTPS) 활성화하기

    서론 ( 스킵 하셔도 됨 ) 최근 외주 형태로 계약한 회사에서 아무리 설득을 해도 AWS로 이전을 안하고 본인들 NAS에서 웹을 구동하길 원하더라.. 문제는 내가 NAS 환경을 세팅해놓은게 아니고, 난 NAS에서 웹을 구동하는 것을 좋아하지 않으니 당연히 NAS에 대해서 아는게 없었다.. 대충 도메인 연결시켜주고 작업을 했는데 회원가입이 들어가있어서 SSL을 적용해줘야해서 이것저것 알아보고 SSL을 적용했던 과정을 쓰고자 한다. 작업환경 ) Synology Nas에서 WebStation에서 PHP 5.6, Apache HTTP Server 2.2 을 사용한다. Synology DDNS 인증서도 적용되어있는 환경이다. Web Server 설정을 이미 다 해놨고, 실제 서비스를 하고있다는 가정하에 글을 읽어..

    마리아DB(Maria DB) 외부접속 허용법 우분투(ubuntu) 18.04

    마리아DB(Maria DB) 외부접속 허용법 우분투(ubuntu) 18.04

    서버 환경 우분투(ubuntu) 18.04 MariaDB : v15.1 (10.1.44) 제일 먼저 확인해야 할 것! 지금 DB 서버가 외부 접속을 허용하는 지 확인을 해보아야한다. netsat -tnlp 명령어로 해당하는 포트(3306은 마리아DB와 MySQL 서버의 Default 포트이다.) 가 외부접속을 허용하는지 확인한다. 처음에는 127.0.0.1:3306으로 외부접속을 허용하지 않는 형태로 나올 것이다.(필자는 허용한 상태라 :::3306이다.) 만약 로컬 접속만 허용하는 포트라면 수정이 필요하다. /etc/mysql/mariadb.conf.d 디렉터리로 이동한다. 여기서 50-server.cnf 파일을 수정해야한다. 여기서 bind-address부분을 주석처리 하거나 0.0.0.0을 주거나 ..

    Apache(아파치)서버 유저별 디렉터리 설정법

    아파치 유저별 디렉터리 설정 사용자 디렉터리 모듈 활성화 sudo a2enmod userdir 웹서버 재시작으로 모듈 반영 systemctl restart apache2 유저 디렉터리(~)에서 폴더 생성 후 인덱스 파일로 테스트를 해보면 끝난다. mkdir public_html vi public_html/index.html 접속링크 192.168.4.200/~유저이름 이후에는 웹서버 기본 디렉터리 설정에 관한 것이다. 웹서버 기본 디렉터리 설정 모듈 활성화가 되면 /etc/apache2/mods-enabled 디렉터리에 심벌릭 링크가 생성될 것이다.(userdir.conf, userdir.load) vi 에디터로 userdir.conf를 수정한다. UserDir public_html // 사용자 웹서버 ..

    AWS 개론

    AWS 클라우드 구축서비스, 전통적 IDC 장점 - 탄력적인 웹 규모 컴퓨팅 - 다양한 Command(API)제공 - 유연한 클라우드 호스팅 서비스 - 통합(EC2, S3, VCP등..), 안정성, 보안(아마존에서 보증) 단점 - 베어 메탈 성능을 원할 때(I/O에 대한 코드가 필요) - 웹 페이지가 몇개 뿐일 때(큰 서비스에 적합, 많은 서비스에 적합) - 솔루션에 적합(플랫폼보다는 솔루션에 적합) - 가격 AWS의 종류 Server / Stroage / DataBase Server Storage DataBase EC2(Elastic Compute Cloud) S3 RDS Lambda DynamoDB VPC(Virtual Private Cloud) EBS(Elastic Block Store) RedSh..

    Docker 설치법

    sudo apt-get update sudo apt install docker.io 삭제 할 경우 sudo apt-get remove docker docker-engine docker.io docker version 명령어를 통해 확인가능 선택적으로 실행(명령어 친 뒤 도커 활성화) sudo systemctl enable docker 자동으로 시작(시스템 시작 후 자동으로 실행) sudo systemctl start docker

    도커(Docker) 개론

    컨테이너 기술중 하나, 클라우드 서비스에서 공식적으로 지원. 복잡한 리눅스 application을 container로 묶어서 실행 가능하다 즉 환경, 개발, 테스트를 하나로 묶어 관리가 가능하다는 것이다. 리눅스 커널에서 제공하는 컨테이너 기술을 이용한 것이다. 소셜 코딩과 같은 개념이다. 다른 개발자들과 공유 할 수 있다는 점이 매력적이다. 컨테이너 기술 이해를 위해선 가상화 기술에 대한 이해가 필요하다. (Hypervisor) 컨테이너는 가상화보다 훨씬 경량화된 기술이다. (본인은 과거 임베디드에서 배웠던 내용) 컴퓨터 안에서 컴퓨터를 생성하기 위한 방법이다. 여유있는 서버를 효율적으로 운영하기 위해서 나온 방법 중 하나로, 서버에 가상머신을 설치하여 유휴자원을 더욱 더 유용하게 사용하기로 한 것이 ..

    데브옵스 개론

    개발 프로세스 기획 -> 디자인 충분한 논의 후 나온 업무 지시(정의)서에 따라 1. 코드 작성 2. 빌드 코드 작성 후 빌드 3. 테스트 빌드 후 테스트(코드에 이상 유무 있는지 확인) 4. 패키징 어플리케이션 배포 직전 코드들을 묶게 됨 5. 배포(릴리즈) 툴이나 직접 옮겨서 배포할 수 있다. 6. 모니터링 실제로 잘 운영되는지 확인, 점검하는 과정 초기 개발 시 보안이나 장애에 대한 것을 잘 관리하기 위해 다양한 툴들이 있다. Jira - 협업도구, 보드를 통해 업무 관리 가능 (업무에 대해 Tracking 하기 쉽지않기 때문에 누락사항을 방지하고 업무에 대해 일정을 조율하기 위해 협업도구를 사용) 업무 배정, 처리, 해당 업무에 대한 소스를 볼 수 있다. Confluence - 위키의 기능을 활용..