리눅스 메일 서버 설치와 운영, 데이터베이스 서버 구축과 운영, FTP 서버 (6일차)

Tyun_Record·2023년 8월 17일
2
post-custom-banner

메일 서버

  • E-Mail의 송수신에 사용되는 프로토콜
    • SMTP ( Simple Mail Transfer Protocol ) : 클라이언트가 메일을 보내거나, 메일 서버끼리 메일을 주고 받을 때
    • POP3 ( Post Office Protocol ) : 메일 서버에 도착되어 있는 메일을 클라이언트로 가져올 때
    • IMAP ( Internet Mail Access Protocol) : POP3와 같음
  • 센드메일 서버 작동 원리
  • 메일 서버를 구현할 네트워크 환경 구성도

메일 서버 실습

server 세팅

  • dnf -y install sendmail
  • vi /etc/hostname 내용 mail.naver.com으로 변경
  • vi /etc/hosts에 192.168.111.100 mail.naver.com 추가
  • vi /etc/mail/local-host-names에서 mail.naver.com 추가
  • vi /etc/sysconfig/network에 HOSTNAME=mail.naver.com 추가
  • hostname 바뀐 모습
  • dnf -y install bind-* 설치
  • vi /etc/named.conf 편집 후 named-checkconf로 오류 확인
    • DNS 서버의 환경에 대한 설정하는 것
    • 운영하는 도메인에 대한 Zone 파일 및 리버스 Zone 파일을 생성
    • Zone 파일
      - 지정된 경로에 정해진 포맷으로 생성됨
      - 도메인에 대한 호스트명 지정, 2차 도메인 부여의 정보를 담고 있음
  • chmod 755로 named.localhost 권한 부여 ( /var/named )
  • naver.com.db 와 daum.net.db 생성 및 named-checkzone으로 확인
  • named 서버 재실행 후 방화벽 차단
  • nslookup으로 확인
  • vi /etc/sysconfig/network-scripts/ifcfg-ens160에서 DNS1=192.168.111.100로 변경
  • /etc/resolv.conf에 nameserver 192.168.111.100로 변경
  • dnf -y install sendmail-cf dovecot 다운
  • 정상 설치 확인
  • /etc/mail/sendmail.cf 에서 파일 수정
  • /etc/mail/access 수정 및 Mail Relay ( 198.168.111 임 )
    • makemap hash를 통해 정상 동작하게끔 덮어쓰기? 연결?
  • /etc/dovecot/covecot.conf 수정
  • /etc/dovecot/conf.d/10-ssl.conf 와 /etc/dovecot/conf.d/10-mail.conf 파일 수정
  • 메일 서버용 계정 생성 ( useradd, passwd )
  • sendmail과 dovecot 재시작 및 활성화

server(b) 세팅

  • dnf -y install sendmail
  • vi /etc/hostname 내용 mail.daum.net으로 변경
  • vi /etc/hosts에 192.168.111.200 mail.daum.net 추가
  • vi /etc/mail/local-host-names에서 mail.daum.net 추가
  • vi /etc/sysconfig/network에 HOSTNAME=mail.daum.net 추가
  • hostname 바뀐 모습
  • /etc/resolv.conf nameserver 192.168.111.100d으로 변경
  • vi /etc/sysconfig/network-scripts/ifcfg-ens160에서 DNS1=192.168.111.100로 변경
  • nslookup으로 확인
  • server(b)도 똑같이 dovecot 설치 후 daum으로 세팅

메일서버 테스트 (client)

  • 생성한 유저 정보 입력



데이터베이스 서버 구축과 운영

  • DBMS 개념
  • DB와 관련된 SQL 문
    • DB 이름 조회
      • SHOW DATABASE;
    • 사용할 DB 지정
      • USE 데이터베이스이름;
    • DB 생성
      • CREATE DATABASE 데이터베이스이름;
    • DB 삭제
      • DROP DATABASE 데이터베이스이름;
  • 테이블 운영과 관련된 SQL 문
    • 테이블 이름 조회
      • SHOW TABLES;
    • 테이블 구조(형태) 조회
      • EXPLAIN 테이블이름;
      • DESC 테이블이름;
    • 테이블 생성
      • CREATE TABLE 테이블이름 (필드이름 필드타입, 필드이름2 필드타입..);
    • 테이블 삭제
      • DROP TABLE 테이블이름;
    • 테이블 수정
      • ALTER TABLE 옵션
      • ALTER TABLE customer MODIFY name CHAR(20);
        ALTER TABLE customer CHANGE name fullname CHAR(10);
        ALTER TABLE customer ADD phone VARCHAR(20) AFTER name;
        ALTER TABLE customer DROP age;
  • 레코드 삽입/삭제/수정과 관련된 SQL 문
    • 레코드 삽입
      • INSERT INTO 테이블이름 VALUES (값1, 값2, ...);
      • INSERT INTO customer VALUES( 'HONG' , '홍길동', 26 );
    • 레코드 삭제
      • DELETE FROM 테이블이름 WHERE 조건;
      • DELETE FROM customer WHERE id= 'HONG';
    • 레코드 수정
      • UPDATE 테이블이름 SET 필드이름1 = 수정할값1, 필드이름2 = 수정할값2.... WHERE 조건;
      • UPDATE customer age=25 WHERE id=‘hong’;
    • 테이블 조회
      • SELECT 필드이름1, 필드이름2 .... FROM 테이블이름
        WHERE 조건;
      • SELECT * FROM customer;
        SELECT id, name FROM customer;
        SELECT id, name FROM customer WHERE id =‘john’;
        SELECT id, name FROM customer WHERE age > 25;

리눅스 MariaDB 설치와 운영

  • 리눅스 firefox에서 maria db 파일 설치 후 터미널에서 설치
  • systemctl로 maria db 재시작 후 활성화
  • 방화벽 비활성화
  • maria db 접속 및 비밀번호 생성

Windows에서 MariaDB 접속

  • mariadb 파일 설치, client 만
  • cmd창에서 접근

MariaDB 접근 권한 주기

  • 윈도우에서 접근 가능해진 모습

쇼핑몰 DB 구축

  1. WinClient에서 데이터베이스 생성
  2. Linux server에서 생성된 db 확인
  3. WinClient에서 테이블 생성 및 값 입력
  4. 생성된 테이블 구조 확인
  5. 테이블에 한글 넣을 수 있도록 데이터베이스와 테이블에 utf8 설정
  6. 각 테이블에 데이터 입력

visual studio와 MariaDB의 연동

  • 연결 구성도

  • visual studio 설치

  • ODBC 설치

  • window 검색 > 관리 도구 > ODBC 데이터 원본 > 시스템 DSN > 추가 > ODBC Unicode Driver 추가 > 접속

  • visualstudio > ASP.NET Web Forms 사이트

  • 새프로젝트 구성

  • 데이터 소스 구성



  • 쿼리 테스트

FTP

  • 파일을 전송하기 위한 서비스
  • 파일 전송 자체를 위해서는 성능이 뛰어남
  • vsftpd는 CentOS에서 제공해줌 ( 리눅스와 유닉스 환경에서 보안성과 성능이 우수한 FTP 서버 )

Vsftpd 설치

  • dnf -y install vsftpd
  • vmlinuz-4로 시작하는 파일을 file1으로 합침
  • /etc/vsftpd/vsftpd.conf 수정 ( 익명=게스트 접속 허용 )
  • FileZilla Client (인터넷 검색) 기본 다운 및 설치
  • FileZilla 세팅
  • 리눅스 서버와 연결되어 pub 파일이 생성된 모습
  • 리눅스 서버에 있는 파일을 다운로드 받을 수 있음
  • 윈도우 파일을 리눅스 서버 디렉토리에 넣기 위해 /etc/vsftpd/vsftpd.conf 수정
  • pub 폴더의 소유를 root가 아닌 ftp가 할 수 있도록 권한 변경
  • 새로운 사이트 추가 세팅
  • 이후 정상적으로 윈도우 파일을 리눅스 서버로 업로드 가능

Vsftpd.conf 옵션

  • anonymous_enable : anonymous(익명) 사용자의 접속을 허가할지 설정
  • local_enable : 로컬 사용자의 접속 허가 여부 설정
  • write_enable : 로컬 사용자가 저장, 삭제, 디렉터리 생성 등의 명령을 실행하게 할 것인지 설정 (anonymous 사용자는 해당 x)
  • anon_upload_enable : anonymous 사용자의 파일 업로드 허가 여부를 설정
  • anon_mkdir_write_eanble : anonymous 사용자의 디렉터리 생성 허가 여부를 설정
  • dirlist_enable : 접속한 디렉터리의 파일 리스트를 보여줄지 설정
  • download_enable : 다운로드 허가 여부 설정
  • listen_port : FTP 서비스의 포트 번호를 설정 ( 기본 : 21 )
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 8월 17일

큰 도움이 되었습니다, 감사합니다.

답글 달기