WEB - 리눅스 => Apache(1.3x, 2.x), Nginx(1.x)
WAS => Tomcat => Spring(8.x), Spring-boot(10.x)
도커를 안쓰게 되면
Centos7 => JDK17, FTP, SSH, Apache(80), Tomcat(8080), Mysql(3306)
Centos7-1 => JDK11, FTP, SSH, Nginx, Tomcat, Oracle(1521), MariaDB(3306)
Postgresql, MongoDB, JDK11를 쓴다면 7-1에 추가
Centos7-2 => JDK21, Nfinx, Tomcat 11.x, Postgresql, Redis, MariaDB
이렇게 서버를 계속 새로 만들어야함
도커 안깔고 딱 하나만 있는 서버 => 로컬서버
이런 형태를 사용하는게 카페24
각각의 포트를 알고있어야 도커를 할때 편함
아파치의 데몬 이름 httpd
엔지닉스의 데몬이름 nginxd
[WEB - 아파치 설치]
yum search httpd
yum install httpd
2.4.6-99버전이 깔린다고 나옴 => y
systemctl start httpd.service
아파치 키고
netstat -an
또는
netstat -an | grep "80"
쳐서 80번 포트가 돌아가고있는지 확인
오라클버츄얼머신 > 도구 > 네트워크 > NAT네트워크 > 포트토워딩에 http 추가 포트 80
이렇게 하고 웹브라우저 켜서
주소창에 아이피를 넣었을때 Testing123.. 뜨면 성공
systemctl stop httpd
연결 끊김
다시 켜려면
systemctl start httpd.service
아파치 환경설정
설정할거니까 일단 스탑
systemctl stop httpd
환경설정 파일 들어가기
vi m/etc/httpd/conf/httpd.conf
:set nu
:40 => 포트번호확인
:66 => 이름이 아파치로 잡혀있어서 아파치라고함
:119 => 해당 경로에 html파일들을 넣어야함 "웹디렉토리" 무조건 저기에 넣어야 함
/var/www/html 이라고 돼있는데 var파일은 root만 접근 가능하다 그래서 일반사용자는 접근 불가능
그래서 수정이 필요함
#으로 119라인 주석처리하기
119번 라인을 120번에 복사
:119 co 120
복사한 줄 주석 풀고 경로 수정하기 "/home/cms(일반사용자명)/html"
119줄 수정시 아래 애들도 수정해야함 안하면 서버 시작안함
:124
주석 처리 후
:124 co 125
복사하고 주석 풀고
경로 수정 "/var/www/" => "/home/cms"
:132
똑같이 수정 "/home/cms/html"
cms하위에 html폴더 만들기
html폴더에 html파일 넣고
실행시켜보면 권한때문에 실행이 안됨
cms의 html폴더는 755로 잘 설정되어있는데
cms 사용자의 폴더의 권한이 700으로 되어있어서 권한 오류남
chmod 705 cms
를 이용해서 일반사용자 홈디렉토리의 권한을 설정하고 다시 실행해보면 잘 된다!
index.html => 대문
다른 html작동시키려면 파일명 입력
1. web daemon => httpd => yum install httpd
2. /etc/httpd/conf/httpd.conf => apache 환경설정
3. DocumentRoot "var/www/html" => /home/사용자명/html 로 변경
4. <Directory "var/www"> => /home/사용자명 으로 변경
5. <Directory "var/www/html"> => /home/사용자명/html 으로 변경
6. 사용자 디렉토리로 이동 웹 디렉토리를 생성
7. /home/사용자 퍼미션 700 => 705 변경 필수
8. systemctl start httpd 또는 ststemctl start httpd.service
다른블로그 암만따라해봐라 잘되나 ㅋㅋ
[DB - MariaDB 설치]
yum install mysqld
읎다
mariadb 홈페이지 가기
다운로드에
11.4.5버전 버전뒤에 아무것도 안붙는게 좋음
os 리눅스
미러 오사카
=> tar.gz로 다운됨 ㅇㅣ거슨 설정 매우 힘들다 개고수라면 이것으로 다운하기
초보는 yum으로 다운해야함
조금위에있는 탭
마리아 디비 서버 레포지토리 선택해
센트오에스
버전 11.4
미러 오사카
해서 아래쪽 카피 클릭
루트로 서버 접속
cd /etc/yum.repos.d
vi mariadb.repo
쉬프트인서트로 붙여넣기 맨앞 안잘렸나 잘 확인
yum install mariadb
netstat -an | grep "3306"
rpm -qa MariaDB
서버가 업슴
마리아디비서버 설치
yum install MariaDB-* --skip-broken
그래도 없다 뭔가 잘못됨
서버 따로 다운해야하는데 없음
깔려있는 클라이언트 버전은 11.4.3 다운할 서버버전도 똑같이 해야하는데 서버 없음
다운한 오사카서버에 서버파일이 없었던거임 보안때문이라던가 뭔가 문제가 있었던것..
젠장
버전을 낮추거나 (버전 낮추면 쉽게 할수있음)
서버 따로 다운하기
repo만들때 복사했던거 보면 베이스url 있음
클릭 > server7 > x86_64 > rpms
가져와서 wget으로 다운
강제설치
-nodeps 옵션사용
rpm -ivh MariaDB-server-compat-11.4.3-1.el7.centos.noarch.rpm --nodeps
rpm -ivh MariaDB-server-11.4.3-1.el7.centos.x86_64.rpm --nodeps
systemctl start mariadb.service
mysql -u root -p
기본 패스워드 안잡혀이씀 그냥 엔터로 들어가기
status
언어셋이 라틴임
언어셋 바꾸기
exit로 마리아디비나가기
vi /etc/my.cnf
#
# This group is read both by the client and the server
# use it for options that affect everything
#
[client]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
[mysqldump]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
#[client-server]
#
# include *.cnf from the config directory
#
!includedir /etc/my.cnf.d
[디비 루트 비번 설정]
mysql -u root -p
use mysql
select * from user
desc db => 24개 나옴
alter user 'root'@'localhost' identified by 'a123456';
exit
mysqladmin -u root -p reload
mysql -u root -p
[디비 사용자 추가]
use mysql
create user 'koo'@'localhost' identified by 'koo1004';
create user 'koo'@'%' identified by 'koo1004';
insert into db values ('localhost','mrp','koo','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y','y'); => DB 컬럼 24개만큼
insert into db values ('%','mrp','koo','y','y','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
[디비버로 디비 백업]

덤프데이터베이스 > 다음 > 파일저장 경로 설정 > 에러 나도 그냥 저장 경로 가서 파일 확인해보고 정상이면 쓰면됨
낚이지마~!
[복구]
리스토어 데이터베이스로 백업파일 넣어서 완료하기
언어셋 안맞아서 에러나면
파일질라로 파일 유저의홈디렉토리에 넣기
(절대 웹디렉토리(html)에 올리면 안됨 작살남 해커들이 데이터베이스 내용 다봄 개인정보유출 삐용삐용!!!🚨 쇠고랑찬다)
또는 dump-mrp-202504241437.sql 파일을 dump-mrp-202504241437.sql. 이렇게 점 붙이면 다운 안됨
또는 아예 sql지움dump-mrp-202504241437 => 안전
백업할때만 .sql로 설정
서버에서 명령어로 복구해도 언어셋 안맞아서 안됨
언어셋 바꾸려면
먼저 내 서버에서 테스트 테이블 만들어보고
mysqldump -u koo -p mrp > mrp.sql
백업한 후 내 서버의 언어셋을 확인한 후
백업했던 파일 열어서그 파일의 언어셋을 서버의 언어셋으로 바꾼다
COLLATION
메모장에서 컨트롤 h

모두바꾸기
다시 이 파일을 파일질라로 서버에 올려서
서버에서
mysql -u koo -p mrp < dump-mrp-202504241437.sql
해서 복구 완료 후
디비버에서 새로고침 해보면 잘 보임
[Mysql or MariaDB]
* 언어셋이 중요
1. 기존 데이터베이스에서 복구할 데이터베이스가 서로 다를 경우 (서버가 다를 경우)
2. 기존 데이터베이스의 언어셋 \status로 확인 => utf8mb4
3. 신규 서버의 데이터베이스의 언어셋, 기존 데이터베이스의 언어셋 동일하게 세팅
4. 신규 서버의 데이터베이스 테스트용 테이블을 생성하여 백업함 (COLLATE 확인)
백업 후 .sql 파일을 메모장으로 열어서 COLLATE 부분을 확인 필수
5. 기존 데이터베이스를 백업 => mysqldump 명령어를 이용하던가 디비버 백업 이용
6. 해당 백업된 기존 데이터베이스 .sql파일을 메모장으로 열어 COLLATE 부분을 확인
7. 기존 데이터베이스와 신규 데이터베이스 언어셋이 같은 경우 바로 복구 가능 (COLLATE 같을 경우)
8. COLLATE 다를 경우 메모장에서 COLLATE 언어를 신규서버 데이터베이스 COLLATE 언어로 모두 수정 후 복구
9. mysql 명령어로 복구 가능
[Project 구축 서버]
1. Web 셋팅
2. Database 셋팅
3. WAS 셋팅
4. 배포
[서버 보안]
[포트 바꾸기]
먼저 ssh포트 바꾸기 나는9022로바꿔야징
vi /etc/ssh/ssh_config
41번줄 9022
vi /etc/ssh/sshd_config
17번줄 9022
systemctl restart sshd
재시작
서버 나가기
버츄얼박스에서 포트포워딩 ssh 포트 22로 돼있는거 9022로 바꾸기
푸티로 서버 접속시 포트 9022로 바꿔서 접속
이런식으로 포트를 다른 것들도 바꿀 수 이씀
해커입장에서 포트가 다를경우 포트를 찾기보다 다른곳 해킹하는게 더쉽기때문에 포트바꾸는게 좋음
[서버 루트 바로들어가는거 막기]
서버접속시 바로 루트로 들어가게 냅두면 보안 약함
이거를 막고
일반사용자로 접속 후 루트로 들어가게 하는것이 보안에 좋음
단, 일반사용자 없는데 루트 막아버리면 작살난다잉
vi /etc/ssh/sshd_config
38번 주석 풀고
permitrootlogin no
로 바꾸기
vi /etc/ssh/ssh_config
42번 프로토콜 주석 풀기
systemctl restart sshd.service
exit

이제 접속하고 루트로 접속하면 비밀번호가 맞아도 접속 팅긴다
일반사용자로 로그인 후
su
입력하여 루트로 로그인하기
리눅스는 비번칠때 쿠킹(?)안되려고 입력하는 상황을 안보여줌
기본프로토콜버전 2로 돼있어서 작동됨
1로 바꿔도 2로 작동됨
해킹시
ssh -프로토콜버전 사용자명@아이피 -p 포트번호
이렇게 접속함
실무에서는 1,2로 설정해서 둘다 들어갈 수 있게 함
sshd 40번 1로
MaxAuthTries 1
비번 한번틀리면 종료되게함
기회많이주면 디도스 프로그램돌리면 금방뚫음
41번 주석 풀고 2
MaxSessions 2
최대 2개의 아이피가 하나의 아이디로 접속하게함 (사수접속가능)
systemctl restart sshd.service
재시작해서 적용하기
ssh => 원격접소 shell
ssh 환경설정은 2가지 존재 => 루트로 바로접속 안되도록 설정, 기본포트변경
vi /etc/ssh/ssh_config
vi /etc/ssh/sshd_config
둘다 포트번호 바꿔줘야 정상적으로 적용됨
[다른 아이피에서 서버 접속하게 만들기]
서버에서 init 0으로 서버 종료
버추얼머신 서버 설정 > 네트워크 1번 > NAT를 NAT네트워크로 바꾸고 확인

서버 가동
도구 > NAT네트워크 > 포트포워딩 추가 >
ssh2 / 윈도우아이피 / 9022 /
ftp2
http2
이렇게 윈도우아이피를 쭉 추가해줌
이렇게하고 푸티로 윈도우 아이피로 접속하면
접속!완료!
systemctl start httpd
systemctl start mariadb
ntsysv
httpd
mysql
켜서 자동시작 설정하기