DB 서버 만들기
1. DB 서버 만들기
- 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 |