cmod.ify
[LINUX] 서버 구축 및 데이터베이스 설치 가이드 본문
728x90
반응형
1. 원격 접속 서버 (Telnet & SSH)
멀리 떨어진 컴퓨터에 접속하여 명령어를 실행할 수 있는 서버 환경임.
Telnet (텔넷)
- 개요: 텍스트 기반 원격 접속 프로토콜 (TCP 23번 포트).
- 특징: 설치가 쉽고 리소스를 적게 차지하지만, 데이터가 암호화되지 않는 평문 전송 방식이라 보안에 취약함.
- 활용: 오늘날에는 보안 문제로 SSH가 대체했으나, 엔지니어들이 특정 포트의 개방 여부를 확인하는 용도로 가끔 사용함. (telnet [IP] [포트])
SSH (Secure Shell)
- 개요: 보안이 강화된 원격 접속 프로토콜 (TCP 22번 포트). 모든 통신 내용을 암호화함.
- 서버 설치 및 구동:
- 설치: sudo apt install openssh-server
- 실행: sudo systemctl start ssh (부팅 시 자동 시작: enable)
- 방화벽 허용: sudo ufw allow 22/tcp
- SSH 키 방식 접속 (보안 권장):
- 키 생성: ssh-keygen -t rsa -b 4096 (엔터 3번)
- 공개키 서버 전송: ssh-copy-id [사용자명]@[IP주소]
- 설정 완료 시 비밀번호 입력 없이 안전하게 접속 가능함.
2. 파일 전송 (SCP)
SSH 프로토콜을 기반으로 네트워크를 통해 파일을 안전하게 복사하는 명령어임.
- 기본 문법: scp [옵션] [원본] [대상]
- 로컬 -> 서버 전송: scp test.txt 유저@IP:/경로
- 디렉토리 전송: -r 옵션 사용 (scp -r ./sample 유저@IP:/경로)
- 서버 -> 로컬 다운로드: scp 유저@IP:/서버경로 /로컬경로
3. MariaDB (RDBMS)
관계형 데이터베이스 관리 시스템으로 MySQL과 높은 호환성을 가짐.
- 설치 및 실행: sudo apt install mariadb-server 후 서비스 start 및 enable 수행.
- 계정 설정:
- root 비번 생성: sudo mysqladmin -u root password '비밀번호'
- 유저 생성: CREATE USER '계정'@'%' IDENTIFIED BY '비밀번호';
- 권한 부여: GRANT ALL PRIVILEGES ON *.* TO '계정'@'%';
- 외부 접속 허용:
- 설정 파일(/etc/mysql/mariadb.conf.d/50-server.cnf)에서 bind-address를 0.0.0.0으로 수정함.
- 방화벽 허용: sudo ufw allow 3306/tcp
4. MongoDB (NoSQL)
문서 지향적(Document-oriented) 데이터베이스임.
- 설치: GPG 키 등록 및 저장소 리스트 추가 후 apt install mongodb-org로 설치함.
# MongoDB 공개 GPG 키 등록
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
#저장소리스트추가
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
- 오류 해결: 서비스 실행 시 권한 문제가 생기면 /var/lib/mongodb와 /var/log/mongodb의 소유권을 mongodb:mongodb로 변경해줘야 함.
- 접속 확인 mongosh
db.createUser({
user: "hapi",
pwd: "3556",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
"readWriteAnyDatabase"
]
})
- 보안 설정 (인증 모드):
- 관리자 계정 생성: db.createUser(...)
- 설정 파일(/etc/mongod.conf)에서 security: authorization: enabled 추가.
- 외부 접속: 포트 27017 방화벽 해제 후 mongodb://계정:비밀번호@IP:포트/ 형식으로 접속함.
5. Redis (In-Memory DB)
키-값(Key-Value) 구조의 고성능 인메모리 데이터 저장소임.
- 설치: sudo apt install redis-server
- 설정 및 보안:
- 파일: /etc/redis/redis.conf
- 외부 접속 허용: bind 0.0.0.0
- 비밀번호 설정: requirepass 비밀번호
- 접속: redis-cli -h [IP] -p 6379 -a [비밀번호]
- 보안을 위해 접속 후 AUTH [비밀번호] 명령어로 인증하는 방식이 권장됨.
- 방화벽: sudo ufw allow 6379/tcp
728x90
반응형
'BASIC > LINUX' 카테고리의 다른 글
| [LINUX] 사용자 계정 생성 스크립트 (0) | 2026.01.16 |
|---|---|
| [LINUX] Shell Programming(Script) (2) | 2026.01.16 |
| [LINUX] Programming Language 개발 환경 구축 (1) | 2026.01.15 |
| [LINUX] Virtual Box 전용 네트워크 구성 (0) | 2026.01.14 |
| [LINUX] 네트워크 (1) | 2026.01.13 |