YUM 업데이트로 모든 업데이트를 설치하고 일반 계정 하나 만들어 GUI 위에 System Monitor 프로그램 하나 띄워두고 키보드 마우스를 덮었습니다. (더이상 만지지 않겠다는 얘기죠)
제가 사용하는 PC 에서 터미널을 열었습니다. NodeJS 홈페이지로 들어가 설치 부분을 살펴봅니다.
https://github.com/joyent/node/wiki/Installation
컴파일해서 설치할 생각이 없기 때문에 아래쪽에 있는 링크를 통해 패키지 설치로 이동합니다.
CentOS 는 데비안 패키징이 아니라 레드햇의 RPM 이기 때문에 오픈수세 항목을 참고하여 YUM 으로 설치해줍니다. (http://download.opensuse.org/repositories/home:/SannisDev/CentOS_CentOS-5/)
먼저 레포지토리를 추가합니다.
cd /etc/repos 에서 SannisDev.repo 파일을 만들어줍니다.
name=SannisDev's Home Project (CentOS_CentOS-5)
type=rpm-md
baseurl=http://download.opensuse.org/repositories/home:/SannisDev/CentOS_CentOS-5/
gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/home:/SannisDev/CentOS_CentOS-5/repodata/repomd.xml.key
enabled=1
파일 안에 들어갈 내용은 위와 같습니다.
이제 yum install nodejs 해봅니다.
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.daum.net
* extras: ftp.daum.net
* updates: ftp.daum.net
home_SannisDev | 1.3 kB 00:00
home_SannisDev/primary | 19 kB 00:00
home_SannisDev 89/89
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package nodejs.i386 0:0.4.8-1.1 set to be updated
--> Processing Dependency: libv8_g.so.3 for package: nodejs
--> Processing Dependency: libv8.so.3 for package: nodejs
--> Processing Dependency: libev.so.4 for package: nodejs
--> Processing Dependency: libcares.so.2 for package: nodejs
--> Running transaction check
---> Package c-ares.i386 0:1.6.0-5.el5 set to be updated
---> Package libev4.i386 0:4.04-4.1 set to be updated
---> Package libv8-3.i386 0:3.1.8-1.1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================
Package Arch Version Repository Size
===============================================================================================
Installing:
nodejs i386 0.4.8-1.1 home_SannisDev 769 k
Installing for dependencies:
c-ares i386 1.6.0-5.el5 base 49 k
libev4 i386 4.04-4.1 home_SannisDev 65 k
libv8-3 i386 3.1.8-1.1 home_SannisDev 3.8 M
Transaction Summary
===============================================================================================
Install 4 Package(s)
Upgrade 0 Package(s)
Total download size: 4.7 M
Is this ok [y/N]:
친절한 yum 이 필요한 패키지 알아서 다운로드 하고 nodejs 를 설치해주고 있습니다.
(1/4): c-ares-1.6.0-5.el5.i386.rpm | 49 kB 00:00
(2/4): libev4-4.04-4.1.i386.rpm | 65 kB 00:01
(3/4): nodejs-0.4.8-1.1.i386.rpm | 769 kB 00:04
(4/4): libv8-3-3.1.8-1.1.i386.rpm | 3.8 MB 00:19
-----------------------------------------------------------------------------------------------
Total 144 kB/s | 4.7 MB 00:33
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID dfef6298
home_SannisDev/gpgkey | 1.0 kB 00:00
Importing GPG key 0xDFEF6298 "home:SannisDev OBS Project <home:SannisDev@build.opensuse.org>" from http://download.opensuse.org/repositories/home:/SannisDev/CentOS_CentOS-5/repodata/repomd.xml.key
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : libev4 1/4
Installing : c-ares 2/4
Installing : libv8-3 3/4
Installing : nodejs 4/4
Installed:
nodejs.i386 0:0.4.8-1.1
Dependency Installed:
c-ares.i386 0:1.6.0-5.el5 libev4.i386 0:4.04-4.1 libv8-3.i386 0:3.1.8-1.1
Complete!
[root@localhost yum.repos.d]#
설치가 잘 되었는지 확인해봅니다.
[root@localhost yum.repos.d]# which node
/usr/bin/node
[root@localhost yum.repos.d]#
[root@localhost yum.repos.d]# node -v
v0.4.8
[root@localhost yum.repos.d]#
이로 nodejs 설치 완료!
추가로 패키지매니저인 npm 도 설치해봅니다.
/usr/bin/curl
[root@localhost ~]#
[root@localhost ~]# curl http://npmjs.org/install.sh | sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3902 100 3902 0 0 4362 0 --:--:-- --:--:-- --:--:-- 5185
fetching: http://registry.npmjs.org/npm/-/npm-1.0.15.tgz
0.4.8
1.0.15
prefix=/usr
This script will find and eliminate any shims, symbolic
links, and other cruft that was installed by npm 0.x.
Is this OK? enter 'yes' or 'no'
yes 해주면 설치가 됩니다.
find: /usr/lib/node: No such file or directory
All clean!
! [ -d .git ] || git submodule update --init
node cli.js cache clean
node cli.js rm npm -g -f --loglevel error
node cli.js install -g -f
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm.js
/usr/bin/npm_g -> /usr/lib/node_modules/npm/bin/npm.js
/usr/bin/npm-g -> /usr/lib/node_modules/npm/bin/npm.js
npm@1.0.15 /usr/lib/node_modules/npm
It worked
[root@localhost ~]#
설치확인
/usr/bin/npm
[root@localhost ~]# npm -v
1.0.15
[root@localhost ~]#
이후 npm 을 사용해 여러 node 패키지를을 사용해볼 수 있습니다.
http://blog.outsider.ne.kr/638
를 참고하세요.
node 용 MVC 웹 프레임워크인 express 를 설치하려면 아래와 같이 입력합니다.
express 에 대한 자세한 내용은 아래 링크를 참고해주세요.
http://expressjs.com/guide.html
추가로 mongodb 설치하기
함께 사용할 DB 로 최근 가장 핫 한 아이템인 몽고를 설치해보기로 했습니다.
아래 링크에서 다운로드 가능합니다.
http://www.mongodb.org/downloads
받아서 올리고 하는게 귀찮아서 그냥 wget 으로
--2011-07-04 15:14:08-- http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz
Resolving fastdl.mongodb.org... 216.137.53.184, 216.137.53.191, 216.137.53.227, ...
Connecting to fastdl.mongodb.org|216.137.53.184|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 27688859 (26M) [application/x-tar]
Saving to: `mongodb-linux-i686-1.8.2.tgz'
100%[=====================================================>] 27,688,859 6.22M/s in 4.3s
2011-07-04 15:14:13 (6.10 MB/s) - `mongodb-linux-i686-1.8.2.tgz' saved [27688859/27688859]
[root@localhost ~]#
압축을 풀고 설치합니다.
mongodb-linux-i686-1.8.2/
mongodb-linux-i686-1.8.2/THIRD-PARTY-NOTICES
mongodb-linux-i686-1.8.2/GNU-AGPL-3.0
mongodb-linux-i686-1.8.2/README
mongodb-linux-i686-1.8.2/bin/
mongodb-linux-i686-1.8.2/bin/mongofiles
mongodb-linux-i686-1.8.2/bin/mongostat
mongodb-linux-i686-1.8.2/bin/bsondump
mongodb-linux-i686-1.8.2/bin/mongos
mongodb-linux-i686-1.8.2/bin/mongodump
mongodb-linux-i686-1.8.2/bin/mongoimport
mongodb-linux-i686-1.8.2/bin/mongosniff
mongodb-linux-i686-1.8.2/bin/mongo
mongodb-linux-i686-1.8.2/bin/mongod
mongodb-linux-i686-1.8.2/bin/mongoexport
mongodb-linux-i686-1.8.2/bin/mongorestore
[root@localhost ~]#
bin 안의 파일들을 /usr/bin 으로 이동시켜서 항상 사용할 수 있도록 합니다. (개인 취향이니 편하신 대로 해주세요)
잘 위치했는지 확인
/usr/bin/mongod
[root@localhost ~]# which mongo
/usr/bin/mongo
[root@localhost ~]#
몽고 DB 데몬으로 실행하기 위해 데이터가 저장될 위치를 준비합니다.
저는 /var/mongo 로 하기로 했습니다.
[root@localhost ~]# ls /var
account crash empty games lib lock mail nis preserve run tmp www
cache db ftp gdm local log named opt racoon spool tux yp
[root@localhost ~]# mkdir /var/mongo
[root@localhost ~]# mongod --dbpath=/var/mongo &
[1] 24348
[root@localhost ~]# Mon Jul 4 15:20:35 [initandlisten] MongoDB starting : pid=24348 port=27017 dbpath=/var/mongo 32-bit
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations
** with --dur, the limit is lower
Mon Jul 4 15:20:35 [initandlisten] db version v1.8.2, pdfile version 4.5
Mon Jul 4 15:20:35 [initandlisten] git version: 433bbaa14aaba6860da15bd4de8edf600f56501b
Mon Jul 4 15:20:35 [initandlisten] build sys info: Linux bs-linux32.10gen.cc 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_37
Mon Jul 4 15:20:35 [initandlisten] waiting for connections on port 27017
Mon Jul 4 15:20:35 [websvr] web admin interface listening on port 28017
[root@localhost ~]#
[root@localhost ~]# ps -ef | grep mongo
root 24348 3709 0 15:20 pts/1 00:00:00 mongod --dbpath=/var/mongo
root 24451 3709 0 16:11 pts/1 00:00:00 grep mongo
[root@localhost ~]#
프로세스가 잘 돌아가는지 확인합니다.
'Development > Servers' 카테고리의 다른 글
cafe24 클라우드 호스팅 셋업 (0) | 2012.05.22 |
---|---|
*NIX 용 쉘 세팅을 위한 (0) | 2011.11.20 |
MySQL 문자열 치환, 데이터 덤프 및 복원, 문자열 나누기 (0) | 2011.05.27 |
MySQL 타입별 최대 최소 값 (0) | 2011.02.17 |
코드이그나이터codeigniter index.php 관련 (0) | 2010.12.08 |