CentOS 7은 RedHat의 기술 지원이 끝나서 yum install을 하면 레포지토리 사용 불가 ➡️ 패키지 설치 불가
CentOS7은 RedHat의 기술지원이 끝나서 레포지토리 사용 불가 ➡️패키지 install(다운로드&설치)가 불가능 👉패키지를 install 하기 위해서 레포지토(Repository) 설정이 필요
✅레포지토리 사용 가능 여부 확인방법 [root@web ~]#ifconfig ➡️ifconfig 명령어가 없으면 설치하면 됨 검색 후, 설치
SElinux(Secure Linux)
리눅스 추가 보안 설정
SELINUX가 활성화가 되어있으면 나중에 DNS나 KVM을 구성할 때, 문제가 발생할 수 있어서 비활성화로 설정 변경하고 진행
[root@web ~]#cat /etc/selinux/config ➡️ selinux 설정 확인
✅ 3가지 모드
1. enforcing - 활성화 2. permissive - 임시 비활성화 3. disabled - 비활성 ➡️ 모드 설정 후, 서버 재부팅해야 반영됨
SElinux 명령어
1. 현재 설정 확인 - getenforce
[root@web ~]#getenforce
2. 임시 비활성화(비추천) - setenforce 0
[root@web ~]#setenforce 0
3. 설정 파일 확인
설정에서 SELINUX TYPE을 잘못 건드리면, 오류 발생🌟🌟🌟
SELINUX만 건드리기!
1. 설정파일 vi 접속 [root@web ~]#vi /etc/selinux/config
2. SELINUX 설정 변경 ➡️ 저장 SELINUX = disabled
3. 서버 reboot [root@web ~]#reboot ➡️ 모드 변경 후, 반영 확인 [root@web ~]#getenforce 👉Permission ➡️ Disabled 변경 확인
레포지토리(Repository)
설치하고 싶은 패키지가 있는 저장소
확장자 : .repo ➡️ 레포지토리 설정이 정의된 파일
[ 레포지토리 파일 설정 ]
1. 레포지토리 설정 파일 목록 확인
/etc/yum.repos.d/ : 레포지토리 파일이 모여있는 경로
[root@web ~]# ls /etc/yum.repos.d/ ➡️ /etc/yum.repos.d/에 있는 파일 확인
2. 레포지토리 설정 파일 편집
1️⃣레포지토리 설정 파일 위치로 이동 [root@web ~]#cd /etc/yum.repos.d/
2️⃣레포지토리 설정 파일 편집 모드 [root@web ~]#vi CentOS-Base.repo ➡️CentOS-Base.repo 파일 편집 모드 CentOs-Base.repo 파일 내용 3️⃣레포지토리 설정 파일 전체 삭제 [root@web ~]#vi CentOs-Base.repo ➡️해당 파일 편집 ➡️명령모드에서 ggdG 하거나 d를 연속으로 눌러서 삭제
4️⃣레포지토리 설정 변경 내용 복사 & 붙여넣기 👉 저장 ➡️Ctrl + Insert : 복사 / Shift + Insert : 붙여넣기 🌟'명령모드'에서 붙여넣기를 하면 내용이 잘릴 수 있음
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=https://vault.centos.org/7.9.2009/os/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=https://vault.centos.org/7.9.2009/updates/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=https://vault.centos.org/7.9.2009/extras/x86_64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
baseurl=https://vault.centos.org/7.9.2009/centosplus/x86_64/
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
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
baseurl=https://vault.centos.org/7.9.2009/contrib/x86_64/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
➡️ 저장 :wq
✅ 레포지토리 파일 항목 - Base : 레포지토리 항목 - name : 레포지토리 이름 - mirrorlist : 사이트 목록 👉 하나의 사이트를 복제한 사이트 목록 👉 가장 빠른 사이트에서 패키지를 가지고 옴 👉 gpgcheck : 무결성 검증키(자물쇠 - 키 개념) / gpg : 무결성 검증(변하지 않는지 확인) 1 - 무결성을 검증해서 문제가 없다는 의미
- baseurl : 단일 사이트 - enabled : 0 ➡️ 해당 레포지토리 사용 ❌ / 1 ➡️ 해당 레포지토리 사용 🅾️ (default 값) 👉 enabled 값이 없으면 default로 설정된 것
정적 웹 서버
프론트엔드로 만들어진 웹 페이지(html, js, css 등)파일을 보여주는 서버
DB 연동 ❌
프로그램 : apache(httpd), nginx
apach 접속 테스트, 화면
Apache 테스트할 때, 웹 서버 접속 시에 화면에 출력된 것은 무엇인가?
Apache에서 자동으로 설정해 주기 때문에 출력됨
해당 경우는 Test 화면으로 연결
Apache - httpd
웹 루트 디렉토리 - /var/www/html
[root@web ~]#cd /var/www/html ➡️ 사용자가 웹 서버 접속할 때 연결되는 디렉토리 ➡️ 상위 디렉토리로 이동 ❌
[ 웹 서버 화면 지정 ]
정적 파일을 저장하는 경로(=최상위 디렉토리)가 존재하는 데, 해당 경로는 사용자가 지정할 수 있음 ➡️ /var/www/html/을 다른 걸로 변경 가능
웹 서버의 최상위 디렉토리 설정을 저장하는 파일인 httpd 설정 파일을 수정하면 최상위 디렉토리를 변경 가능
1. html 생성
[root@web ~]#echo web-test > /var/www/html/index.html ➡️ /var/www/html/index.html에 web-test라는 내용을 저장
✅라우터가 CPU에 패킷을 계속 보내서 부하 발생 ➡️ 라우터에서 우클릭 👉 Auto Ide-PC : CPU 부하 낮춤 ( 이해 : PC의 CPU에 부하를 줌 👉 DNS3에서 라우터를 생성하는데, 이때 실제 라우터가 생긴 것으로 PC가 간주함 👉 라우터와 PC의 체계가 다르기 때문에, 부하가 많이 생김 ➡️ Auto Ide-PC를 통해 최적화를 진행함) ➡️ dbclick : 라우터 콘솔 접속
✅콘솔 변경(perference > General > console applications) ➡️Console application command for Telnet 변경
2. 클라우드(VMnet SW) - 라우터 연결
➡️클라우드를 VMnet SW을 연결하면 VMnet8의 네트워크에 연결하는 것과 같음
👉 Cloud 선택 후, 우클릭 ➡️ VMware 선택
✅R1의 f0/0에 어떤 대역(범위)의 IP를 설정해야 하는가?🤔
➡️ VMnet8의 SW와 연결되어 있으므로 , R1의 f0/0은 VMnet8과 같은 대역의 IP를 가져야 함 ➡️제외 IP - .1 : host-connection - .2 : G/W(NAT라는 대역의 외부와 통신하기 위한 G/W로 사용되고 있기 때문에, 사용 불가❌) - .255 : 브로드캐스트 주소
3. R1의 f0/0 설정
Ip add 설정 후, R1과 VMnet8의 클라이언트와 ping 테스트 진행
통신되는지 확인할 필요 있음
[root@web ~]#tcpdump -i ens32 icmp ➡️VM-web으로 ping이 오는 걸 확인 ➡️ -i : 인터페이스, icmp : 필터링
[ 조건 ] ➡️ R1 👉 VM(web) : ping ➡️ VM(web) : tcpdump -i ens32 icmp 명령어 실행 ➡️ R1이 ping을 보낼 때, VM(web)이 tcpdump 명령어를 실행해야 로그(log)가 찍힘
리눅스 명령어
1. 사용한 명령어 기록 조회 - history
[root@web ~]#history ➡️명령어 기록 조회
[root@web ~]#history | cut -c 8- ➡️ 명령어 앞의 번호 생략하고 조회
2. 텍스트 가공 - cut
[root@web ~]#cut -c 8- ➡️8번째 문자부터 끝까지 출력
3. IP-영문주소 맵핑 파일 조회
[root@web ~]#cat /etc/hosts ➡️DNS 개념이 없을 때, 생긴 것 ➡️/etc/hosts : IP - 영문주소를 맵핑한 파일 = 나만의 DNS 서버
4. 표준 입력 - <<
[root@web ~]#cat << EOF > /etc/yum.repos.d/CentOS-Base.repo ➡️ cat << EOF 을 /etc/yum.repos.d/CentOS-Base.repo 파일에 입력 ➡️ EOF(End Of File) ➡️ cat << EOF : EOF라는 단어가 나오기 전까지 입력된 내용(n 줄)
✅실습
➡️명령어 입력 후, Enter치면 > 생성 👉 내용 입력 👉 EOF 단어 입력하면 EOF 이전 내용이 파일로 저장됨
✅연습 문제 ➡️ /test/cattest.txt 파일 안에 cat 명령으로 리다이렉션 하여 아래의 내용을 저장하시오. [내용] AWS CLOUD SCHOOL짱 AWS CLOUD SCHOOL짱 8기 화이팅 AWS CLOUD SCHOOL짱 AWS CLOUD SCHOOL짱 8기 화이팅 [root@web ~]#mkdir /test [root@web ~]#cat <<EOF > /test/cattest.txt (enter 👉 내용 입력)
5. 메아리 - echo
echo 뒤에 오는 문장을 명확하게 하고 싶으면 ""이나 ''을 사용하는 게 좋음 ➡️"" / ''를 사용하지 않아도 제대로 인식