우분투 20.04에 Node.js 를 설치하는 방법을 알아본다. Node.js 는 서버 측 프로그래밍을위한 JavaScript 런타임이다. 개발자는 서버측 언어로 JavaScript 를 사용하여 확장 가능한 백엔드 기능을 만들 수 있다.

CURL 설치

노드를 설치하기에 앞서 설치에 필요한 커맨드라인툴을 설치해야 한다.

CURL은 서버와 통신할 수 있는 커맨드 명령어 툴이자 웹개발에 매우 많이 사용되고 있는 무료 오픈소스다. 우분투에 CURL 을 설치한다.

$ sudo apt-get install -y curl

1. Apt 패키지 매니저 이용

apt 패키지 매니저를 사용해 우분투 패키지 저장소에 기본으로 들어가 있는 Node.js 를 다운받는다.

$ sudo apt update

노드js 다운로드

$ sudo apt install nodejs

설치가 완료되었는지 확인

$ nodejs -v 

노드 패키지 매니저 npm 다운로드

$ sudo apt install npm

2. PPA 를 이용한 설치

PPA 를 이용해 설치하면 우분투 패키지 저장소에 들어있는 Node.js 보다 더 많은 버전을 이용할 수 있다. 최신 버전을 설치할 경우 이 방법을 이용하자.

먼저 PPA 패키지에 엑세스하기 위해 PPA를 설치한다. 홈 디렉토리 ~ 로 진입해14.x 버전을 설치해보자. 버전을 바꾸고 싶은 경우 해당 버전을 입력한다.

$ cd ~
$ curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh

sudo 권한으로 PPA 를 추가하고 업데이트한다.

$ sudo bash nodesource_setup.sh 
$ sudo apt-get install nodejs

PPA 를 통해 Node.js 를 설치하면 npm 까지 같이 설치된다. npm이 제대로 동작하기 위해 build-essential 패키지를 설치해야 한다.

$ sudo apt-get install build-essential

3.NVM을 이용한 설치

Node.js version manager  nvm 을 이용해 설치할수도 있다. nvm 을 이용하면 Node.js 의 여러 버전 설치 및 환경 관리가 용이하다.

깃허브 프로젝트 페이지 에 들어가 메인에 있는 Readme 에서 curl 명령어를 복사한다. 이 명령어를 입력하면 최신버전 nvm 설치 스크립트를 얻을 수 있다.

복사한 명령을 bash 에 전달하기 전에 스크립트를 검사해 원하지 않는 항목이 있는지 검사할 수 있다. |bash 를 제외한 앞부분 명령을 입력하면 체크할 수 있다.

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh

아래 명령을 입력해 현재 계정에 nvm 스크립트를 설치한다.

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash 

nvm 스크립트를 사용하려면 아래 source 명령어를 입력해 .bashrc 파일을 수정한 값을 바로 적용되도록 한다.

$ source ~/.bashrc

source 명령어
리눅스에서 source 명령어는 스크립트 파일을 수정한 후에 수정된 값을 바로 적용하기 위해 사용하는 명령어다. 위에서 수정한 /etc/bashrc 파일은 유저가 로그인할 때 읽어들이는 파일이기 때문에 로그아웃 후 로그인하거나 리눅스를 재시작해야 적용된다.

아래 명령어를 입력해 설치 가능한 노드 버전을 볼 수 있다.

$ nvm list-remote
Output 
   . . .
       v14.13.1
       v14.14.0
       v14.15.0   (LTS: Fermium)
       v14.15.1   (LTS: Fermium)
       v14.15.2   (LTS: Fermium)
       v14.15.3   (LTS: Fermium)
       v14.15.4   (Latest LTS: Fermium)
        v15.0.0
        v15.0.1
        v15.1.0
        v15.2.0
        v15.2.1
        v15.3.0
        v15.4.0
        v15.5.0
        v15.5.1
  . . .

위 버전중 원하는 버전을 골라 설치 가능하다.

$ nvm install v13.6.0

설치되어 있는 nvm 버전들을 확인할 수 있다.

$ nvm list
Output
->      v13.6.0
default -> v13.6.0
node -> stable (-> v13.6.0) (default)
stable -> 13.6 (-> v13.6.0) (default)
. . .

현재 활성화되어 있는 버전은 -> v13.6.0 와 같이 표시된다.

latest long-term support version 을 사용하고 싶다면 아래를 입력한다.

$ nvm install lts/erbium

nvm 방식을 사용하면 nvm use 를 이용해 아래와 같이 활성화중인 노드버전을 변경할 수 있다.

$ nvm use v13.6.0
Now using node v13.6.0 (npm v6.13.4) 

npm 업데이트

npm은 Node.js에 포함되어 있어 Node.js 설치 시 자동 설치된다. 따라서 별도의 설치가 필요없다. npm 은 Node.js보다 자주 업데이트되므로 최신 버전이 아닐 가능성이 있기 때문에 최신 버전으로 npm을 업데이트할 수 있다.

$ npm install -g npm@latest
$ npm -v
AND

제가 전에 소프트웨어 개발 관련 강의했던 문서입니다

참고하세요

01.소프트웨어개발.pdf
0.88MB

 

https://link.coupang.com/a/NfdDZ

 

LINU 리누 꿀바른 빈백 대형 1인 쇼파 북유럽스타일

COUPANG

www.coupang.com

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다

AND

2023년에 적용되는 2022년도 엔지니어링 임금 실태 조사 문서입니다

소프트웨어 개발 평균 임금표입니다

견적 산출시 참고하세요

2022년도 엔지니어링업체 임금실태조사 결과공표문.pdf
0.07MB

https://link.coupang.com/a/NeCq6

 

엠도씨 화이트닝 톤업 크림 50ml

COUPANG

www.coupang.com

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

AND

참고 사이트

https://butteryoon.github.io/dev/2021/04/03/janus_webrtc_install.html

https://ourcodeworld.com/articles/read/1197/how-to-install-janus-gateway-in-ubuntu-server-18-04

https://janus.conf.meetecho.com/docs/videoroom.html

https://github.com/meetecho/janus-gateway

 

설치법

apt-get -y install libmicrohttpd-dev libjansson-dev libssl-dev libsrtp-dev libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev libconfig-dev pkg-config gengetopt libtool automake meson

 

pip3 install --user meson

 

wget https://github.com/cisco/libsrtp/archive/v2.2.0.tar.gz

tar xfv v2.2.0.tar.gz

cd libsrtp-2.2.0

./configure --prefix=/usr --enable-openssl

make shared_library && sudo make install

 

git clone https://gitlab.freedesktop.org/libnice/libnice

cd libnice

meson --prefix=/usr build && ninja -C build && sudo ninja -C build install

 

git clone https://github.com/sctplab/usrsctp

cd usrsctp

./bootstrap

./configure --prefix=/usr && make && sudo make install

 

git clone https://libwebsockets.org/repo/libwebsockets

cd libwebsockets/

mkdir build

cd build

cmake -DLWS_MAX_SMP=1 -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" ..

make && sudo make install

 

git clone https://github.com/eclipse/paho.mqtt.c.git

cd paho.mqtt.c

sudo prefix=/usr make install

 

git clone https://github.com/alanxz/rabbitmq-c

cd rabbitmq-c

git submodule init

git submodule update

mkdir build && cd build

cmake -DCMAKE_INSTALL_PREFIX=/usr ..

make && sudo make install

 

git clone https://github.com/meetecho/janus-gateway.git

cd janus-gateway/

sh autogen.sh

sudo ./configure --prefix=/opt/janus

sudo make

sudo make install

sudo make configs

 

sudo ufw allow 5000:65535/udp

sudo ufw allow 8188/tcp

sudo ufw allow 8089/tcp

sudo ufw allow 7889/tcp

sudo ufw allow 7089/tcp

 

수정파일

/opt/janus/etc/janus/janus.jcfg

187         cert_pem = "/home/.../ssl/private.pem"

189         cert_pwd = ..."

274         stun_server = "stun.l.google.com"

275         stun_port = 19302

276         nice_debug = false

 

/opt/janus/etc/janus/janus.transport.http.jcfg

18         https = true

19         secure_port = 8089

44         admin_https = true

45         admin_secure_port = 7889

70         cert_pem = "/home/.../ssl/public.pem"

71         cert_key = "/home/.../ssl/private.pem"

72         cert_pwd = "..."

 

실행

/opt/janus/bin/janus -F /opt/janus/etc/janus (-b 백그라운드 실행)

 

실행 시 undefined symbol: srtp_crypto_policy_set_aes_gcm_256_16_auth 에러 발생하면

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib

 

 

https://link.coupang.com/a/NewYz

 

바버501 쉐이빙 부스터 면도 밤 레드

COUPANG

www.coupang.com

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

AND