DB 서버 만들기

DB 서버 만들기

1. DB 서버 만들기

 - maridb repository

 - mariadb repo 파일 작성

    - 이때, maria DB란? MySQL과 호환되는 오픈 소스 분산 DB 관리 시스템(DBMS)

    - sudo vim /etc/yum.repos.d/MariaDB.repo 입력

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.6/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

 

 - sudo yum install MariaDB-server MariaDB-client를 입력하여 설치

 

 - 보안 관련 설정

    - 그 전에 먼저, sudo yum install mysql을 입력하여 mysql 설치

    - sudo systemctl enable mysql을 입력하여 계속 실행하게 

    - 그 다음, sudo systemctl start mysql을 입력하여 mysql 실행

    - sudo /usr/bin/mariadb-secure-installation 입력

        - Switch to unix_socket authentication [Y/n] : n

        - Change the root password? [Y/n] : y

        - New password : 1234

        - 그외 나머진 y

    - 이렇게 하면 보안설정 완료

 

 - 인코딩 설정

    - sudo vim /etc/my.cnf.d/server.cnf 입력

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake

 

    - sudo vim /etc/my.cnf.d/mysql-clients.cnf 입력

[mysql]
default-character-set = utf8mb4

...

[mysqldump]
default-character-set = utf8mb4

 

2. 유저 생성 및 권한 부여

 - mysql -u root -p

 - GRANT ALL PRIVILEGES ON  *.* TO korea@`%` IDENTIFIED BY 'korea1234'; 입력

 - 원격 db 접속 클라이언트 sqlyog 설치 (다운로드 링크) 

 - SQLyog를 연결하기 위해 포트포워딩에 다음과 같이 입력

 

 - SQLyog 연결 창엔 다음과 같이 입력

 

 

3. Pure-FTPd 설치 및 세팅

 - Pure-FTPd란? FTP 서버를 구축하기 위해 설계된 오픈 소스 FTP 서버 SW

 - ※ FTP(File Transfer Protocol) : 파일 전송 프로토콜

 - 설치 : sudo yum install pure-ftpd -y 입력

 - 세팅

    - sudo vim /etc/pure-ftpd/pure-ftpd.conf 입력

        - MySQLConfigFile /etc/pure-ftpd/pureftpd-mysql.conf 에서 앞에 # 주석 풀기 (MySQL과 연동하기 위함)

    - sudo vim /etc/pure-ftpd/pureftpd-mysql.conf 입력

        - MYSQLSocket에서 /var/run/mysqld/mysqld.sock → /var/lib/mysql/mysql.sock로 변경

            - mysql 소켓 파일 확인은 mysql이 돌아가고 있는 상태에서 sudo updatedb 명령 후,

              sudo locate mysql | grep sock 로 경로를 찾을 수 있음

        - MYSQLUser에서 root → pureftpd로 변경 (pure-ftpd에서 mysql에 접속할 때 사용할 ID)

        - MYSQLPassword에서 rootpw → korea1234로 변경 (pure-ftpd에서 mysql에 접속할 때 사용할 PW)

        - MYSQLDatabase pureftpd (동일함) (ftp 사용자 정보 DB)

        - MYSQLCrypt에서 scrypt → cleartext로 변경 (비번은 평문으로 저장)

    - 다 했으면, sudo systemctl restart pure-ftpd를 입력하여 재실행

 - MariaDB에 pureftpd 계정 생성

    - 아래의 권한부여 SQL은 mysql root 계정으로 실행 (mysql -u root -p)

        - 이번에 추가되는 pureftpd 계정은 pureftpd DB에 대한 권한만 가짐

        - 이렇게 pureftpd 계정을 꼭 추가해야 하는건 아니지만, 추가하면 보안이 강화됨

    - GRANT ALL PRIVILEGES ON pureftpd.* TO pureftpd@`localhost` IDENTIFIED BY 'korea1234';

 

4. 데이터 생성 및 추가

 - SQLyog에 다음과 같이 입력

DROP DATABASE IF EXISTS pureftpd;

CREATE DATABASE pureftpd;

USE pureftpd;

CREATE TABLE users (
  uidx int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user` varchar(100) NOT NULL,
  `password` varchar(100) NOT NULL,
  `gid` int(10) unsigned NOT NULL,
  `uid` int(10) unsigned NOT NULL,
  `occurDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `status` tinyint(1) unsigned NOT NULL DEFAULT '1',
  `ipaccess` varchar(15) NOT NULL,
  `comment` varchar(100) NOT NULL,
  `ulBandWidth` smallint(5) unsigned NOT NULL,
  `dlBandWidth` smallint(5) unsigned NOT NULL,
  `quotaSize` smallint(5) unsigned NOT NULL,
  `quotaFiles` int(10) unsigned NOT NULL,
  `dir` varchar(100) NOT NULL,
  PRIMARY KEY (`uidx`)
);

insert  into `users`(`uidx`,`user`,`password`,`gid`,`uid`,`occurDate`,`status`,`ipaccess`,`comment`,`ulBandWidth`,`dlBandWidth`,`quotaSize`,`quotaFiles`,`dir`) values 
(1,'project1','korea1234',1000,1000,NOW(),1,'*','',0,0,0,0,'/my_projects/project1'),
(2,'project2','korea1234',1000,1000,NOW(),1,'*','',0,0,0,0,'/my_projects/project2'),
(3,'project3','korea1234',1000,1000,NOW(),1,'*','',0,0,0,0,'/my_projects/project3');

 

5. 클라이언트 설치하고 접속해보기

 - 리눅스 FTP 클라이언트 설치

    - sudo yum install ftp -y입력

 - FTP 접속

    - ftp 127.0.0.1

    - user : project1

    - Password : korea1234

'Back-End Study > Linux' 카테고리의 다른 글

ftp를 passive로 서비스하기  (0) 2022.09.08
파일질라를 이용해 파일서버 접근하기  (0) 2022.09.08
Filezilla (파일 서버 만들기)  (0) 2022.09.05
웹서버 만들기  (0) 2022.09.01
클라이언트와 서버  (0) 2022.09.01