리눅스 삼대장
센트오에스 우분투 수세
[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빼고 입력하기
[포트포워딩 정보]