레이블이 스터디인 게시물을 표시합니다. 모든 게시물 표시
레이블이 스터디인 게시물을 표시합니다. 모든 게시물 표시

2021-04-05

[오늘은 공부중] 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 를 입력한 뒤 비밀번호를 입력해야 DB에 접근할 수 있지만, 현재는 root 계정으로 접속해 있기 때문에 이러한 절차가 생략됐다.

exit

를 눌러 바깥으로 빠져나온 뒤

systemctl enable mariadb

를 입력해 부팅 때마다 실행이 되도록 설정을 해주자.

mysql의 root 비밀번회를 설정해주자.

mysql_secure_installation

을 입력하면 mysql 암호 설정이 진행된다.

현재 비번을 묻는 질문에는 아무런 암호가 설정돼 있지 않기 때문에 엔터를 치면 된다.
두 번째도 엔터를 치면 기본 값으로 설정이 된다.
세 번째 질문에서 비밀번호를 설정하는 질문이 나온다. y를 눌러 비밀번호를 설정해주자.
비밀번호를 설정한 후에는 익명 계정을 삭제할 지 물어본다. 잘 모르겠다면 엔터를 치면 된다.
원격에서 root계정으로 데이터베이스에 접속할 것인지 묻는다. 보안을 높이고 싶다면 y를 치고, 아니라면 엔터를 누르면 된다.
테스트 데이터베이스를 삭제할 것인지 물어본다. 이것도 그냥 엔터를 누르면 된다.



만약 되지 않는다면

mysqladmin -uroot -p현재패스워드 password '새로운패스워드'

를 입력해 root의 비밀번호를 설정하자.

[오늘은 공부중] 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 /?

를 입력하면 옵션을 볼 수 있다.



2021-03-14

[오늘은 공부중] 1. 아나콘다를 설치하자.

시스템을 구축하기 전에 우선 증권사와 개발언어를 설정했다.
한번 작업을 하면, 다시 돌이키기 어렵기 때문에 기초 작업은 필수다.
증권사는 키움증권으로, 개발 언어는 파이썬으로 결정했다.

다른 증권사들도 많지만 많은 사람들이 키움증권을 이용하고 있고, (아직 많지는 않지만 그나마) 레퍼런스도 '키움증권'이 그나마 많은 양을 차지하고 있는 듯 하다.

개발 언어를 파이썬으로 한 이유는 
첫째, 쉽고,
둘째, 다양하게 활용할 수 있기 때문이다.

때문에 개발환경을 요약하자면
OS: Windows10 64bit
개발언어: 파이썬
증권사: 키움증권

우선 프로그램 개발을 위해 아나콘다를 설치해보자.

파이썬이 아닌 아나콘다를 설치하는 이유는 '개발의 편의성'이다.
파이썬은 'pip' 툴만 포함하고 있기 때문에 다른 함수들은 모두 수동으로 설치해줘야 한다.
클린 설치를 위해서는 파이썬만 설치하는 것이 좋겠지만, 개발 과정에서 모듈을 이것 저것 설치하다보면 명령어가 꼬여 나중에 돌이킬 수 없는 사태를 일으킬 수 있다.

2020-06-21

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

macOS Server에서 리눅스로
저는 꽤 오래 전부터 macOS를 이용해 서버를 구성해왔습니다.
"macOS 서버가 서버냐"라고 하시면 할 말은 없지만, 나름 유용하게 썼습니다.
심플하게 구성할 수 있고, 이용자가 많이 없으니 바이러스도 많지 않았죠.

애플이 개인용 Server제품군을 사실상 '포기'한다는 취지의 발언을 했을 때도 '설마'하면서 계속 써왔습니다. 그 후로도 한 2년은 버텨왔는데, 아무래도 속도나 보안, 활용성 측면에서 떨어진다는 것은 피할 수가 없는 것 같았습니다.

OS를 바꾼다는 것은 결코 쉬운 결정은 아닙니다.
제가 모르는 분야에 새롭게 접어든다는 것 뿐만 아니라, 기존에 쌓아놨던 데이터를 새로운 시스템에 맞게 전부 수정해야 한다는 의미니까요.

하지만 프로그래밍의 기본이라고 여겨지던 C언어의 자리를 파이썬이 조금씩 대체해가고 있듯이, 시대의 흐름에 따라가는 것이 좋다고 생각하기에 리눅스로 갈아탈 준비를 하게 됐습니다.


왜 서버는 '리눅스'여야 할까?
"서버OS는 왜 리눅스여야 하느냐"에 대해 잘 모르시는 분들이 많았습니다.
"원래 그런 것 아니냐", "많이 쓰니까?" 와 같이 명확한 답은 잘 나오지 않더라고요.
간단하게 말씀 드리면 '돈' 때문입니다.

윈도우도, 유닉스도, 리눅스도 모두 서버제품군이 있습니다.
하지만 Windows Server는 돈이 많이 들고,
Unix도 대부분의 제품군이 유료 제품군이죠.

반면 Linux는 대부분의 제품군이 무료입니다.
Redhat RHEL이 유료긴 하지만 얘네가 특이케이스인 겁니다.
애초에 Linux 자체가 모든 제품을 '오픈소스(Opensource)', '프리웨어(Freeware)'로 구성하기 위해 시작된 OS니까요.


어떤 OS를 써야 할까?
리눅스의 '다양성'은 제가 리눅스로 넘어가기를 망설이는 요소 중에 하나였습니다.
macOS나 Windows는 이미 정형화된 프레임워크가 있기 때문에, 코어 건드리는걸 좋아하지 않는 사람들에게는 좋은 OS이죠.

하지만 Linux는 파생된 OS가 어마무시합니다.
데비안, 페도라, 수세, 우분투 등등
서로의 코어도 다르고, 지원일수도 다르고, 보안성도 다르죠.
오픈소스라 할지라도 이용자와 개발자가 적다면 결국 해당 OS는 도태되고 말겠죠.

리눅스 타임라인
리눅스 타임라인

수많은 리눅스를 알아본 결과,
*레드햇의 RHEL을 무료로 배포한 CentOS
*빠른 성장속도를 보이고 있는 Ubuntu
이렇게 두 종류로 압축이 됐습니다.

CentOS는 서버OS의 명가인 Redhat이 배포한 것이기 때문에 믿고 쓴다고 할 정도로 사람들에게 좋은 인지도를 얻고 있습니다. 단점이라면 업데이트가 상당히 느리다는 것이겠죠.

Ubuntu는 이전에도 상당히 빠른 발전을 보이고 있었지만, 이세돌 9단을 이긴 알파고의 코어OS로 알려지면서 이용자가 급증했죠. 서버 뿐만 아니라 데스크톱, IoT 등 다양성을 겸비한 것이 특징입니다.


서버는 CentOS로
뭐 많은 고민을 해본 결과, 서버는 '안정성'이 가장 우선시 돼야 한다고 생각하기에 CentOS를 쓰기로 결정했습니다. 

그렇다고 Ubuntu가 안정적이지 않다는 의미는 아닙니다. 두 OS 역시 많은 개발자들이 안정성을 위해 많은 노력을 기울이고 있다는 것을 잘 알고 있습니다.

하지만 CentOS는 유료로 서비스하고 있는 RHEL의 무료버전이라는 점에서 '안정성'에 좀 더 신뢰가 갔습니다.

데스크탑용을 쓰려고 했다면 아마 저도 Ubuntu를 사용하지 않았을까 싶습니다...만... 클라이언트용 OS로는 윈도우가 가장 대중적이다보니 넘어야 할 산이 많은 것 같습니다. 

[오늘은 생각중] '기내 만취 루머' 소유, 항공사 사과받더니 더 깡말라졌다…"밥 더 먹어야겠네"

네이버 포털을 보던 중 나온 인터넷 기사의 제목이다. SNS 사진을 복사해, 붙여넣고, 고혹적, 건강미 등의 자극적인 언어를 붙인 뒤, SNS 댓글 몇 개를 인용해 송고 하면 끝. 잔뜩 그래 뭐 소유 일상이 궁금할 수도 있다고 생각한다. 기내 만취 루...