개발자 블로그를 위한 열걸음

개발자 블로그를 위한 열걸음

드디어 블로그 운영을 위한 모든 준비가 완성되었습니다. 하지만 준비가 끝난 것이지 정상적으로 이용할 수는 없습니다. 예를들어 SMTP 설정을 하지 않고 시작했기 때문에 새로운 스탭이나 회원을 모집할 수 없고, 업로드 최대 용량설정으로 인해 Theme를 다운로드 받을 수 없는 상태입니다. 그래서 가장 먼저 데이터베이스에 직접 새로운 스탭을 넣거나 테마를 다운받아 마운트된 폴더에 넣어주는 방법을 사용했습니다.

개발자 블로그를 위한 아홉걸음
드디어 지금까지 준비한 모든 것들로 블로그를 배포할 준비가 되었습니다. 배포를 진행하기 앞서 DuckDNS를 통해 발급받은 도메인으로 연습을 해보시길 바랍니다. 특히 CMS를 선택함에 있어 개인차가 있을 수 있고, 개발스택을 정하실 수 있기 때문입니다. 지금까지의 방법과 비슷하게 워드프레스나 JAVA CMS도 설치할 수 있으니 사용해 보시길 권장드립니다. 개발자 블로그를 위한 일곱걸음홈서버를 운영하는 사람들은

스탭 추가

블로그를 개인적으로 운영하기 때문에 혼자 운영을 하고 있습니다. 그럼에도 불구하고 계정을 "Manager" 와 "HyoBin" 이라는 스탭으로 분리해서 작업을 하고 있습니다.

애초에 Ghost에서도 각기 다른 역할이 부여되어 있고, 역할 기반 접근 제어 (Role-Based Access Control, RBAC) 에 근거해 Owner 와 Editors 라는 계정으로 분리해 블로그의 운영과 글쓰기를 분리해서 사용하고 있습니다. 특히 Owner의 계정은 블로그 테마, 운영방침, 초기화 등 운영에 민감한 기능들을 포함한 모든 기능을 사용할 수 있기에 제한적으로 사용하는 것이 좋다고 판단했습니다.

하지만 설치 과정 중 설정을 하지 않았다면 SMTP 의 부재로 스탭 초대 기능이 정상적으로 작동되지 않습니다. 그래서 관련 포스팅을 먼저 작성했으니 참고 부탁드립니다.

Ghost에서 SMTP 설정하기
현재 POORM 블로그는 SMTP를 설정하지 않고 구축해버린 관계로 스태프 계정 추가, 뉴스레터 기능 등이 정지되어 있습니다. Ghost에서는 Mailgun이라는 업체의 메일 시스템을 설정에서 제공하고 있지만, Mailgun 시스템 자체가 무료 서비스가 아닙니다. SMTP 설정 방법 1. 구글 계정 관리 접속 구글의 우측상단의 계정 프로필을 눌러 ‘Google 계정 관리’로 접속합니다. 2. app password

설정을 하지 않고 추가하는 방법은 다음과 같습니다. (namespace와 pod 는 설정을 확인해주세요)

  1. 운영중인 k8s에 ghost의 mysql이 작동하는 pod를 확인합니다.
    kubectl get pod -n namespace
  1. pod를 통해 mysql에 접근합니다.
    kubectl exec -it ghost-mysql-0 -n namespace – mysql -u root -p
  1. 데이터 베이스 및 스탭 관련 테이블에 확인합니다.
use bitnami_ghost;
select * from roles;
select * from users;
select * from roles_users;

데이터베이스를 확인했다면 roles_users 테이블의 user_id는 users 테이블의 id, role_id는 roles의 id인 것을 확인 할 수 있습니다.

  1. 계정 추가

다음과 같이 입력을 합니다. 비밀번호는 암호화된 비밀번호로 입력해야하지만 변경할 수 있으니 여기선 평문으로 입력합니다.

INSERT INTO users (
    id,
    name,
    slug,
    password,
    email,
    status,
    visibility,
    created_at,
    created_by
) VALUES (
    '3', -- 유니크한 ID
    'testuser', -- 이름
    'testuser', -- 슬러그 (고유 URL에 사용)
    'testpassword', -- 평문 비밀번호
    'test@test.com', -- 이메일
    'active', -- 상태
    'public', -- 가시성
    NOW(), -- 생성 시간
    '1' -- 생성자 ID
);
  1. 역할 부여
INSERT INTO roles_users (id, role_id, user_id) values ('676a66fc79b46a00dc34da71', '676a66fc79b46a00dc34da69', 3);

id값은 뒷자리에 1을 추가하고 role_id와 user_id에 적절한 역할의 id값과 방금 생성한 user의 id(3)을 입력합니다.

  1. 스탭 확인

이렇게 SMTP 설정이 안되있을 때 임시 방편으로 스탭을 추가하는 방법에 대해 알아 봤습니다.

💡
테스트 후 계정은 삭제했습니다.
delete from roles_users where user_id=3;
delete from users where id=3;

Read more

푸름이세요? 아니요 구름인데요

푸름이세요? 아니요 구름인데요

클라우드 컴퓨팅(Cloud Computing) 이란? 클라우드 컴퓨팅은 IT 인프라를 손쉽게 관리할 수 있도록 도와주며, 확장성과 유연성을 제공하는 기술입니다. 물리적인 서버를 직접 구매하지 않아도 되며, 필요한 만큼의 자원을 사용하고 비용을 절감할 수 있다는 점에서 많은 기업과 개인이 활용하고 있습니다. 클라우드 서비스의 유형을 크게 세 가지 모델로 나눌 수 있습니다. 인프라스트럭처 서비스(

By hyobin
빔슬람(Vimslam)이 되보자

빔슬람(Vimslam)이 되보자

Vim이란? Vim은 서버에서 작업하는 사람들 사이에서 유용한 텍스트 편집기입니다. UNIX 시스템에서 표준 편집기였던 VI의 개선판으로 Vi Improved의 약자입니다. 그래서 대부분의 유닉스기반(리눅스를 포함한) 운영체재에 설치되어있고 작동합니다. Vim은 다음과 같은 특징을 갖고 있습니다. * 모드 기반 편집 Vim은 입력 모드와 명령 모드로 구분됩니다. 사용자는 명령 모드에서 편집, 삭제, 검색 등을 빠르게 할

By hyobin