라벨이 CentOS 서버인 게시물 표시

[오늘은 공부중] CentOS 방화벽을 열어주자

이미지
공유기 포트를 열어줬다면 이제는 서버의 방화벽을 열어줄 차례다. CentOS는 설치 직후에는 SSH 이외의 포트는 모두 막혀있는 상태이기 때문에 이를 설정해줘야만 홈서버의 웹페이지를 운영할 수 있다. 방화벽을 설정하는 명령어는 firewall-cmd 이다. 현재 허용된 방화벽 포트를 확인하려면 firewall-cmd --list-all 을 입력하면 된다. 그러면 앞서 공유기에서 열어줬던 포트를 열어주자. 포트를 여는 명령어는 firewall-cmd --permanent --add-port= 포트번호 /tcp 이다. 우리는 21, 22, 69, 80, 443 포트를 열어줄 예정이니 firewall-cmd --permanent --add-port= 21 /tcp firewall-cmd --permanent --add-port= 22 /tcp firewall-cmd --permanent --add-port= 69 /tcp firewall-cmd --permanent --add-port= 80 /tcp firewall-cmd --permanent --add-port= 443 /tcp 을 입력하면 Success라는 문구를 확인할 수 있다. 포트를 열었지만, 방화벽을 재실행하기 전까지는 포트가 열리지 않는다. firewall-cmd --reload 명령어로 방화벽을 재실행한 뒤, firewall-cmd --list-all 을 입력해 포트가 제대로 열렸는지를 확인하면 된다. 서비스명으로도 포트를 열 수 있는데, 기본적인 명령어는 firewall-cmd --permanent --add-service= 서비스명 이다. ssh는 이미 추가가 돼 있으니,  http, https, ftp, tftp 등의 서비스를 추가해주자. firewall-cmd --permanent --add-service= http firewall-cmd --permanent --add-service= https firewall-cmd --permanent --add-service= ftp firewa...

[오늘은 공부중] mariadb 설치하기

이미지
일전에 말했던 yum으로도 mariadb는 설치할 수 있지만, 버전이 5.5로 매우 낮다. 2021년 4월 5일 기준으로 나온 mariadb의 버전은 10.5.9이다. 그동안 보안 업데이트나 여러 기술들이 추가됐기 때문에 최신 버전으로의 설치는 중요하다. 다만, 호환성 이슈가 있을 수 있으니 유의해야 한다. 앞서 nginx를 설치했던 것처럼 vi로 repo 파일을 작성해야 한다. cd / cd etc cd yum.repos.d 를 눌러 /etc/yum.repos.d/ 로 이동한다. cd /etc/yum.repos.d/ 로 한번에 이동할 수도 있지만, 간혹 스펠링이 틀려 이동하지 못하면 일일이 체크해야 하기 때문에 번거롭더라도 이렇게 이동하고 있다. vi mariadb.repo 를 눌러 설치 환경설정을 한다. [i]를 눌러 입력모드로 전환한 뒤, 아래와 같이 입력한다. [mariadb] name=mariadb baseurl = http://yum.mariadb.org/ 10.5 /centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 이 입력문은 하단에 있는 리포지터리 설정 링크에서 확인할 수 있다. 빨간색 글씨로 표기한 곳이 mariaDB의 버전이다. 향후 업데이트가 된다면 저 부분의 숫자만 수정해주면 된다. [:wq]를 입력해 vi 에디터를 빠져나온 뒤 yum install MariaDB-server galera-4 MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common 을 입력해 설치를 한다. 위에 적힌 것을 모두 설치하면 어지간한 mariadb 툴은 모두 설치가 된다. mariadb는 실행을 한 뒤, DB에 접속하면 버전을 확인할 수 있다. systemctl start mariadb mysql 을 입력하면 상단에 mariadb 버전이 10.5.9인 것을 확인할 수 있다. 원래대로라면 mysql -u root -p 를 입력한 ...

[오늘은 공부중] nginx 설치하기

이미지
SSH를 다룰 줄 안다면 CentOS 서버에 Nginx를 설치하는 것은 매우 쉬운 일이다. CentOS에서는 YUM(Yellowdog Updater Modified)이라는 패키지 관리 프로그램을 사용한다. YUM이 관리하는 패키지 관리 프로그램에 설치하고자 하는 프로그램이 있다면 yum install 프로그램명 를 입력하면 자동으로 설치가 된다. 중간 중간에 설치할 것인지, 설치하지 않을 것인지를 묻는데 무조건 허용을 하려면 끝에 '-y'를 붙여주면 된다. yum install 프로그램명 -y 하지만 무조건 넣었다가는 나중에 돌이킬 수 없는 서버 오류가 발생할 수 있으므로 권장하지는 않는다.

[오늘은 공부중] SSH에서 그동안 나온 명령어 지우기

이미지
명령어를 입력하다보면 어느 순간부터 위에 나온 명령어들이 굉장히 거슬리는 순간이 온다. 사실 남겨두는게 나중을 위해 좋을 수도 있지만, 이미 프로젝트가 끝났는데 위에 명령어가 있는 것도 어찌보면 정신건강에 해로울 수 있다(?). 복잡한 명령어를 한꺼번에 정리하는 명령어는 clear 이다. 입력하는 순간 창에는 모든 로그가 사라지고, 계정명과 접속한 서버, 현재 위치한 폴더 위치만 나타난다. 다만 [clear] 명령어를 입력하더라도, 마우스 스크롤을 위로 올리면 이전에 출력된 로그들을 다시 확인할 수 있다.

[오늘은 공부중] 윈도우에서 SSH 접속하기

이미지
윈도우(Windows)에 SSH(Secure Shell Protocol) 접속하는 방법은 간단하다. 우선 명령프롬프트를 실행시킨다. 여러가지 방법이 있지만, 내가 자주 사용하는 방법은 [윈도우+R] 키를 누른 뒤, 실행창이 나오면 cmd를 입력해 실행시키는 방법이다. SSH 접속 방법은 간단하다. ssh 계정@서버IP 위 양식에 맞춰서 입력하면 자동으로 접속이 된다. 가령 root 계정에 서버IP가 8.8.8.8이라면  ssh root@8.8.8.8 을 ssh를 통해 서버에 접속할 수 있다. 간혹 옵션을 붙여줘야 하는 경우도 있는데, ssh /? 를 입력하면 옵션을 볼 수 있다.

[오늘은 공부중] 서버 운영기 1일차

이미지
macOS Server에서 리눅스로 저는 꽤 오래 전부터 macOS를 이용해 서버를 구성해왔습니다. "macOS 서버가 서버냐"라고 하시면 할 말은 없지만, 나름 유용하게 썼습니다. 심플하게 구성할 수 있고, 이용자가 많이 없으니 바이러스도 많지 않았죠. 애플이 개인용 Server제품군을 사실상 '포기'한다는 취지의 발언을 했을 때도 '설마'하면서 계속 써왔습니다. 그 후로도 한 2년은 버텨왔는데, 아무래도 속도나 보안, 활용성 측면에서 떨어진다는 것은 피할 수가 없는 것 같았습니다. OS를 바꾼다는 것은 결코 쉬운 결정은 아닙니다. 제가 모르는 분야에 새롭게 접어든다는 것 뿐만 아니라, 기존에 쌓아놨던 데이터를 새로운 시스템에 맞게 전부 수정해야 한다는 의미니까요. 하지만 프로그래밍의 기본이라고 여겨지던 C언어의 자리를 파이썬이 조금씩 대체해가고 있듯이, 시대의 흐름에 따라가는 것이 좋다고 생각하기에 리눅스로 갈아탈 준비를 하게 됐습니다. 왜 서버는 '리눅스'여야 할까? "서버OS는 왜 리눅스여야 하느냐"에 대해 잘 모르시는 분들이 많았습니다. "원래 그런 것 아니냐", "많이 쓰니까?" 와 같이 명확한 답은 잘 나오지 않더라고요. 간단하게 말씀 드리면 '돈' 때문입니다. 윈도우도, 유닉스도, 리눅스도 모두 서버제품군이 있습니다. 하지만 Windows Server는 돈이 많이 들고, Unix도 대부분의 제품군이 유료 제품군이죠. 반면 Linux는 대부분의 제품군이 무료입니다. Redhat RHEL이 유료긴 하지만 얘네가 특이케이스인 겁니다. 애초에 Linux 자체가 모든 제품을 '오픈소스(Opensource)', '프리웨어(Freeware)'로 구성하기 위해 시작된 OS니까요. 어떤 OS를 써야 할까? 리눅스의 '다양성'은 제가 리눅스로 넘어가기를 망설이는 요소 중에 하나였습니다. macO...