[서버] 세팅 - SSH, WEB (Apache), FTP, DB (Mysql)

2025. 4. 25. 14:48·서버

리눅스 삼대장

센트오에스 우분투 수세

 

[CentOS]

홈페이지 들어가서 다운하는데

7.9버전 다운

7버전이 크기가 가장 작음

올더버전 들어가서 버전 클릭 > 8664 > iso 다운

 

[Oracle VirtualBox]

상단 > 머신 > 새로만들기 >

 - 이름 및 운영체제

이름 설정 / 폴더 설정 / iso 이미지 센트오에스iso / 

무인설치 건너뛰기하면 지맘대로해서 큰일남 체크 ㄴㄴ

 - 무인설치

비번설정

 - 하드웨어

기본메모리 4096

프로세서 2

 - 하드디스크

40기가

> 완료

 

네트워크 잡기

서버 여러개일 경우 서버마다 설정해 줘야함

기존서버의 네트워크 냅두고 상단

호스트전용네트워크 만들기 

NAT 네트워크 만들기

네트워크 설정

expert > 네트워크 > 어댑터

내부에서만 쓸거면 NAT

외부로도 나가게 만들거면 NAT네트워크

나는 후자로

이름 새로만든 NAT넽트워크 

어댑터2

네트워크 어댑터 활성화

호스트전용어댑터

이름 2 

확인

 

버추얼박스 환경설정 

상단 파일> 설정 잘 설정하기 (서버 포스팅한거 첫번째거 잘 보기)

 

일반 시스템마더보드 

포인팅장치 USB태블릿 바꿔주기

 

서버 가동

언어셋 한국어

 

소프트웨어 선택 기본웹서버 

오른쪽은 개발용툴, 보안툴, 시스템관리도구 체크 

좌상단 완료

 

저장공간

들어가서 확인하고 좌상단 완료 

 

네트워크 및 호스트명

이더넷3 끔 > 켬

이더넷8 끔 > 켬

자동으로 잡힘 

설정 > 일반 > 사용가능하면 자동으로 이네트워크에 연결 

체크해두면 네트워크 자동으로 켜짐 3번 8번 모두 설정하기

>완료

 

여기서 보였던 아이피 10.어쩌고 아이피가 게스트아이피

 

설치 시작

루트 암호 설정

제발까먹지마! 그리고 텐키숫자 안먹는다

넘버락, 캡스락 잘보기!

사용자생성은 안해도됨

 

이거는 CentOS 버전 7번대의 설정이다 

8버전, 9버전 화면 다 다름 ㅠㅠ

 

x-window안깔아서 CLI 환경임

그래도 용량 적게먹고 속도가 빠름

 

서버 시작

루트로 로그인 후 

nslookup

naver.com

해서 정보가 잘뜨면 네트워크 연결 잘 된거임

 

ifconfig

정보보기 

 

iptables -F

방화벽 풀기

 

입력후 네트워크 > NAT 네트워크 > SSH 추가

포트 22 게스트 아이피 설정할때 보인거 

번호             IP 주소                                          역할

1번 ?.?.94.1 게이트웨이 IP (호스트 PC, 네 컴퓨터 IP)
2번 ?.?.94.2 DHCP 서버 IP (IP를 뿌려주는 서버)
3번 ?.?.94.3 리눅스 서버 IP (가상머신 IP)

 

푸티로 접속

 

vi /etc/selinux/config

:set nu

7번라인

SELINUX=disabled

init 6 => 재부팅 

 

cd /etc/yum.repos.d/

ls -al

rm -drf CentOS-*

폴더 안에 있는거 다 지우기 

ls -al

vi centos.repo

새로 만들어서

​[base]
name=CentOS-$releasever - Base
baseurl=http://mirror.kakao.com/centos/$releasever/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
# kakao
baseurl=http://mirror.kakao.com/centos/$releasever/updates/$basearch
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://centos.mirror.cdnetworks.com/$releasever/extras/$basearch
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://centos.mirror.cdnetworks.com/$releasever/centosplus/$basearch
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
baseurl=http://centos.mirror.cdnetworks.com/$releasever/contrib/$basearch
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

이거 넣기 (쉬프트+인서트)

붙여넣을때 맨앞에 잘리는거 가끔 발생하니까 맨위 잘 보기

저장하고 나오기 :wq

yum update

깔린당

 

그러고 다시 

ls -al

rm -drf CentOS-*

내가 만든 레포 파일 빼고

폴더 안에 있는거 다 지우기 

 

[ FTP - 데몬 설치 ]

yum install vsftpd*

systemctl status vsftpd.service

뜨면 잘 깔린거

[서버 사용자 만들기]

cd /home/

ls -al

사용자 하나도없음

 

useradd api

passwd api

비번설정

 

[ FTP 환경설정 ]

vi /etc/vsftpd/vsftpd.conf

12번라인 익명사용자허용 no로 변경

91, 93번라인 디도스방지 이거는 다른세팅 후에 건드려야함 지금 만지면 에러남 냅두기

101,102,104번 라인 주석 풀고

104번의 파일 경로 메모해두기 (사용자 화이트리스트)

저장후나오기

 

vi /etc/vsftpd/chroot_list

api 

추가할 사용자 작성후 저장하고나오기

 

가동하기

systemctl start vsftpd.service

버츄얼머신 네트워크 NAT네트워크 포트포워딩에

FTP 추가하기 포트 21

 

정보) 버츄얼박스니까 GUI로 나오지 진짜 서버는 CLI임 충격.

 

아이피 복사해서 파일질라로 접속해보기

얼레 안되네 왜? 방화벽 때문에

systemctl stop firewalld.service

 

ntsysv

에서 자동으로 시작되는 프로그램에서 방화벽 체크해제하기

그리고 ftp는 작동되게 체크

 

[WEB - 아파치 설치]

rpm -qa | grep httpd

이게 아파치임 탐캣아니고

엄마야 벌써 깔려있네~

우리는 웹서버 설치했음 그러면 깔려있음

 

그놈서버로 설치했으면 안깔려있었을거임

깔려있으니까 바로 실행

systemctl start httpd.service

 

포트포워딩하기

Apache 포트 80

 

웹들어가보면 작동 잘됨

 

환경설정만 더 하면 됨

vi /etc/httpd/conf/httpd.conf

:set nu

:119

웹디렉토리 경로 이름 원하는 거로 바꾸기

:119 co 119

원본줄은 주석처리하고 새로운줄 수정

DocumentRoot "/home/api/public"

:125

:125 co 125

원본줄 주석후 아래줄 

"/home/api"

:133

:133 co 133

원본줄 주석후 아래줄 

<Directory "/home/api/public">

저장 후 나오기

 

파일질라에서 웹디렉토리로 사용할 파일 만들기

public 디렉토리 생성해서 html 아무거나 올려보기

 

systemctl restart httpd.service

재시작하기

 

퍼미션걸림

 

cd /home/

ls -al

사용자 파일 권한이 700임

chmod 755 api(사용자디렉토리)

 

웹 새로고침해보면 잘 뜸

올려둔 html 잘 작동함

 

[데이터베이스 - mysql 설치]

rpm -qa | grep mysql

안뜬다 없다는거

rpm -qa | grep mariaDB

라이브러리밖에읎다

 

mysql 설치

구글에 mysql검색

만약 사수가 5.1 다운하라고 한다면

 

다운로드 > 맨 아래 커뮤니티 다운로드 > 맨위 Yum 클릭

>

센트오에스 7이니까 리눅스7 해야하는데 8.4라고 써잇음

근데 사수가 5.1 다운하래 

레포지토리 인포 클릭해보면 버전이 좌라라라랅

근데 여기 없다

 

염말고 아카이브로 들어가기

https://downloads.mysql.com/archives/community/

여기서 다운 ㄴㄴ

 

서버에서 

cd /home

mkdir down

만들어서 여기서 다운해야함

 

맨위에있는파일의 다운로드버튼에 우클릭해서 링크 복사

https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar

 

cd down

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar

 

다운을 다받았으면

ls -al 해서 잘 받아졌나 확인하고

tar -xf my탭자동완성

해서 압축풀기

 

그럼 번들을 푼거라 rpm개많이생김

rpm -ivh mysql-community-*

다깔기

근데 에러남 마리아디비 라이브러리있어서 죽여야됨

 

rpm -qa | grep mariadb-libs

해서 나온거 복사

rpm -e 붙여넣기 --nodeps

강제 삭제하기

rpm -qa | grep mariadb

했을때 아무것도 안나오면 잘 삭제된거

 

rpm -ivh mysql-community-*

필요한거 깔라고 나옴

 

yum install perl-JSON

rpm -ivh mysql-community-*

이제 깔림

 

버츄얼머신에 포트포워딩 mysql 3306으로 추가

 

systemctl start mysqld.service

하면 시작됨

 

netstat -ln | grep "3306"

mysql -u root -p

엔터

얼레? 난 비번 설정안했는데 로그인이 안되네?! 또는 비번 까먹음

할때

 

임시비밀번호가있음

vi /var/log/mysqld.log

/root 해서 검색하기 (9째줄에있음)

임시패스워드가 생성되었다며 아래에 그러면 임시패스워드가 보임

root@localhost : 임시패스워드

복사해서 

mysql -u root -p

들어가서 

비번바꾸기

use mysql => 해야하는데 임시비번으로 들어오면 안드가짐

alter user 'root'@'localhost' identified by '바꿀비번';

8번대랑 다름 5번대라서

패스워드 정책이 다름 흥

정책 바꿔야댐

SET GLOBAL validate_password_policy=LOW;

이거로 바꾸고

다시 비번 바꾸기

alter user 'root'@'localhost' identified by '바꿀비번';

a123456789 길게써야댐 길이제한있어서

exit

mysqladmin -u root -p reload

mysql -u root -p

바꾼비번으로 들어가기


mysql 5.7부터 root 임시비밀번호가있음 

vi /var/log/mysqld.log

이거로 확인가능

 

MariaDB는 처음에 루트비밀번호가 없어서 엔터로 바로 들어갈수있음


mysql -u root -p

\status

언어셋이 라틴으로 잡혀있음 

그리고 utf-8임

마리아디비에서 한거처럼 바꾸면됨

 

utf8mb4 => 이모티콘도됨

 

exit

vi /etc/my.cnf

:set nu

3번 빈 라인에 추가

[client]

default-character-set=utf8mb4

[mysql]

default-character-set=utf8mb4

 

[mysqld]원래있는거 바로밑에 

character-set-server=utf8mb4

 

systemctl restart mysqld.service

에러나면 오타났다는거

잘썼는데 에러나면 skip- character-set-client 핸드쉐이크 어쩌고...추가 못봤다

 

[ mysql  사용자 추가]

mysql -u root -p

use mysql;

desc db;

컬럼 22개임

y는 앞에 세개 뺴고 19개 쓰기

create database api;

SET GLOBAL validate_password_policy=LOW;

create user 'api'@'localhost' identified by 'a123456789';

create user 'api'@'%' identified by 'a123456789';            -- 디비버에서 연결하기위함

insert into db values ('localhost','api','api','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y'); -- 컬럼 22개

insert into db values ('%','api','api','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y');

exit

mysqladmin -u root -p reload

 

[디비버로 연결]

새로 만들고 

드라이버셋팅즈에서 라이브러리 잘 확인하기

버전에 맞는 jar파일 메이븐에서 다운해서 넣고 연결

낮은버전의 mysql의 경우 드라이버 클래스네임에 cj빼고 입력하기

 


[포트포워딩 정보]

 

 

저작자표시 비영리 변경금지 (새창열림)
'서버' 카테고리의 다른 글
  • [서버] Docker
  • [서버] Docker 세팅
  • [서버] WAS - Tomcat 세팅
  • [서버] 엿보기 구멍
9na0
9na0
응애
  • 9na0
    구나딩
    9na0
  • 전체
    오늘
    어제
    • 분류 전체보기 (169) N
      • Web (95) N
      • Java (28)
      • 데이터베이스 (12)
      • 세팅 (11)
      • 과제 (3)
      • 쪽지시험 (2)
      • 정보처리기사 (2)
      • 서버 (13)
  • 블로그 메뉴

    • 링크

      • 구깃
    • 공지사항

    • 인기 글

    • 태그

      net1
      net3
      noticewriteok
      datalist
      file25_t
      file25
      file24
      spring-boot
      notice_writer
      net5~10
      net4
      exam1_1~10
      re2
      io_dto
      Oracle
      macbook pro m4
      net2
      java_io1~10
      re_java10
      ab1
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    9na0
    [서버] 세팅 - SSH, WEB (Apache), FTP, DB (Mysql)
    상단으로

    티스토리툴바