ホーム > タグ > yum

yum

[javascript] 「node.jsでwebsocketを試してみたんだ。」のまとめ。

Pocket

Socket.IO: the cross-browser WebSocket for realtime apps.

node.jsで満足していたんだけど、websocketも試してみたいという欲があって、インストールしてみたときのメモ。

このページを見て完結できるように、ちょっと先日のブログを復唱します。

【かんきょう】
 OS:fedora15
 node.js:v0.4.8
 npm:1.0.10
 socket.io:0.6.18 ./node_modules/socket.io

【こうもく】
 1. git のインストール
 2. nvmのインストール
 3. node.js のインストール
 4. npm (Node Package Manager) のインストール
 5. socket.io のインストール
 6. node.js のサンプル(チャットアプリ)を試してみる
 7. websocket(socket.io) のサンプル(チャットアプリ)を試してみる

では、長くなります。。。

1. git のインストール

git(ぎっと)はオープンソースの分散型バージョン管理システムです。ファイルの変更履歴を管理します。
GPLライセンスの下で公開されていて、自己責任の下で、だれもが git を使用することができます。

※”じっと”って今まで読んでたんだな。w ちゅういちゅうい。

# yum install git

2. nvmのインストール

nvm は Node Version Manager のことで、Node.js のインストール、バージョンごとの管理、シェルの環境設定を管理できる。
nvm を使うには github のリポジトリから git cloneする。
# git clone git://github.com/creationix/nvm.git ~/.nvm

3. node.js のインストール

node.jsに必要なライブラリをインストールする必要があるので
# yum install gcc-c++ openssl-devel

github のリポジトリから git cloneする。
# git clone git://github.com/ry/node.git
もしくは
# nvm install v0.4.8

4. npm (Node Package Manager) のインストール

npm というのは、node.js 用のパッケージマネージャー。今回は、socket.IO のインストールで使用。
https://github.com/isaacs/npm のドキュメントに従って作業。

ここで、3にある、nvm install v0.4.8を行ったときに同時にnvmもインストールされます。
# nvm use v0.4.8
「Node Package Managerを使用しますよぉ」と宣言したあとに、
# npm install socket.io

これで、すべて環境が整うはずです。

で、環境を整えた後に試したいのが、サンプル。

1) node.jsのサンプル

node.jsを使ったチャットアプリサンプル
ry-node_chat – GitHub

デモのチャットアプリをダウンロード。
# git clone git://github.com/ry/node_chat.git
※自分がいるディレクトリ上にフォルダが作成。

で、
# cd node_chat
# node server.js

を実行。
ターミナルにはこのように表示される。

Server at http://127.0.0.1:8001/

アクセスしてみてください。
で、ニヤニヤしてください。w

2) socket.ioのサンプル

npmによりインストールしたsocket.ioパッケージのサンプルがある場所は、
node_modules/socket.io/example/に置いてあります。
node_modules/socket.io/example/server.jsというサーバのサンプルプログラムを実際に実行してみる。
(理解したい、知りたい場合は、ソースの中身を見てね。というか、ここのブログを見て。)
Node.jsでWebSocketを試してみる – YutaKikuchiのTechBlog

# node node_modules/socket.io/example/server.js

サンプルのSocketサーバの起動すると、ターミナルには

10 Jun 18:43:07 – socket.io ready – accepting connections

と表示されます。

アクセスするURLは
http://127.0.0.1:8080/
です。

複数のWebブラウザでアクセスしてコメントを投稿してみるとWebSocketのチャットが利用可能。
もちろん、いろんなブラウザからアクセスしてひとりでチャットしました。


【memo】
node.js
Node.js Manual & Documentation(APIマニュアル@日本語)
node.js ハンズオン資料 — node.js hands-on v1.0 documentation
連載インデックス「Node.jsでサーバサイドJavaScript開発入門」 – @IT
【libro】 JavaScriptによるHTML5プログラミング入門/WebSocketによるクライアント=サーバー通信/AjaxからWebSocketへ!


【参考にさせていただいたブログ】
jmblog.jp – さくらの VPS に node.js + npm + Socket.IO をインストールする手順
Node.jsでWebSocketを試してみる – YutaKikuchiのTechBlog
SE奮闘記: node.js, socket.ioをInstallしてWebSocketを試す(Install編)
50行くらいで作るnode.js + socket.ioのサンプルプログラム – 大人になったら肺呼吸
Node.jsとnvmを初めてインストールするときのハマりポイントと対策 – ess sup

次はなにしようかなぁ?

From xxxYukihiroxxx

Pocket

[memo] やってみたかったnode.js のインストールまとめ [fedora]

Pocket

興味深いというか、これをつかった何かができるんじゃないか?って思いながらのインストール作業メモ。
node.jsってなんぞや?とか、いろいろ調べていたところ、図で分かりやすいページを発見したんで、ご紹介。

2010年11月10日現在の記事だけど、丁寧な説明。node.jsとWebSocketの利用シーン « Business RIA 研究所
http://bizria.jp/technical/nodejs-webssocket.html

で、本題。

Node.js
公式サイト:http://nodejs.org/
以下、wikiより引用。

Node.js はUnix系プラットフォーム上のV8 JavaScriptエンジンでイベント化された入出力を扱うフレームワークである。Webサーバなどのスケーラブルなネットワークプログラムの記述を意図している。
Node.jsはPythonのTwisted、PerlのPerl Object Environment、RubyのEventMachineと同様の目的を持つ。 ほとんどのJavaScriptとは異なり、Webブラウザの中で実行されるのではなく、サーバサイドJavaScriptに関連している。 Node.jsはいくつかのCommonJS仕様を実装している[1]。 Node.jsは対話的なテスト用にREPL(Read-eval-print loop)環境を含んでいる。

今回インストールするうえで非常に参考になったブログをご紹介!
ServersMan@VPS node.js のインストール
SE奮闘記 node.js, socket.ioをInstallしてWebSocketを試す(Install編)
感謝です。

では、コマンドライン張りつけ。

まずは、gitから簡単にインストールできるようにyum経由インストールを実行。
# yum install git

これを入れちゃえば、絵の通りになるから簡単にインストールできます。

node.jsのコンパイルに必要なパッケージもインストールする必要があります。

# yum install gcc-c++ openssl-devel

こう書くことで、依存性解決もyum自信がやってくれます。
実際のログはこちら。

# yum install gcc-c++ openssl-devel
読み込んだプラグイン:refresh-packagekit
インストール処理の設定をしています
依存性の解決をしています
–> トランザクションの確認を実行しています。
—> Package gcc-c++.i686 0:4.6.0-9.fc15 will be インストール
–> 依存性の処理をしています: libstdc++-devel = 4.6.0-9.fc15 のパッケージ: gcc-c++-4.6.0-9.fc15.i686
—> Package openssl-devel.i686 0:1.0.0d-1.fc15 will be インストール
–> 依存性の処理をしています: krb5-devel のパッケージ: openssl-devel-1.0.0d-1.fc15.i686
–> トランザクションの確認を実行しています。
—> Package krb5-devel.i686 0:1.9-7.fc15 will be インストール
–> 依存性の処理をしています: libselinux-devel のパッケージ: krb5-devel-1.9-7.fc15.i686
–> 依存性の処理をしています: libcom_err-devel のパッケージ: krb5-devel-1.9-7.fc15.i686
–> 依存性の処理をしています: keyutils-libs-devel のパッケージ: krb5-devel-1.9-7.fc15.i686
—> Package libstdc++-devel.i686 0:4.6.0-9.fc15 will be インストール
–> トランザクションの確認を実行しています。
—> Package keyutils-libs-devel.i686 0:1.2-7.fc15 will be インストール
—> Package libcom_err-devel.i686 0:1.41.14-2.fc15 will be インストール
—> Package libselinux-devel.i686 0:2.0.99-4.fc15 will be インストール
–> 依存性の処理をしています: libsepol-devel >= 2.0.32-1 のパッケージ: libselinux-devel-2.0.99-4.fc15.i686
–> 依存性の処理をしています: pkgconfig(libsepol) のパッケージ: libselinux-devel-2.0.99-4.fc15.i686
–> トランザクションの確認を実行しています。
—> Package libsepol-devel.i686 0:2.0.42-2.fc15 will be インストール
–> 依存性解決を終了しました。

依存性を解決しました

パッケージとしてインストールされたのは以下の通り。
gcc-c++
openssl-devel
依存性関連でのインストールをします。:
keyutils-libs-devel
krb5-devel
libcom_err-devel
libselinux-devel
libsepol-devel
libstdc++-devel

次はnvmのInstallです。
このnvmとは、Node Version Manager のことで、Node.js のインストール、バージョンごとの管理、シェルの環境設定をやってくれるんで、助かります。

# nvm install v0.4.8

ってコマンド入れたら、
-bash: nvm: コマンドが見つかりません
おぉ、、、いれなきゃ。
ということで、

# git clone git://github.com/creationix/nvm.git ~/.nvm

gitで指定されたURLを貼るだけ。
https://github.com/creationix/nvm#readme

ログは以下の通り。

# git clone git://github.com/creationix/nvm.git ~/.nvm
Cloning into /root/.nvm...
remote: Counting objects: 197, done.
remote: Compressing objects: 100% (100/100), done.
remote: Total 197 (delta 104), reused 176 (delta 89)
Receiving objects: 100% (197/197), 26.25 KiB, done.
Resolving deltas: 100% (104/104), done.

で、2011年6月8日現在は最新v.0.4.8なので(これは調べてください。)
node.js

# nvm install v0.4.8
これでインストール完了です。

ログの内容。

Now using node v0.4.8
/usr/bin/which: no npm in (/root/.nvm/v0.4.8/bin:/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
Installing npm…
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3874 100 3874 0 0 4668 0 –:–:– –:–:– –:–:– 10330
fetching: http://registry.npmjs.org/npm/-/npm-1.0.10.tgz
0.4.8
1.0.10
prefix=/root/.nvm/v0.4.8

This script will find and eliminate any shims, symbolic
links, and other cruft that was installed by npm 0.x.

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
/root/.nvm/v0.4.8/bin/npm -> /root/.nvm/v0.4.8/lib/node_modules/npm/bin/npm.js
npm@1.0.10 /root/.nvm/v0.4.8/lib/node_modules/npm
It worked

本当にインストールされているのかを確認。
# node -v
v0.4.8

無事にv.0.4.8がインストールされているみたいです。

インストールされたのであれば、サンプル動かしたいですよね?ってことで、調べました。
ry-node_chat – GitHub

デモのチャットアプリをダウンロード。

# git clone git://github.com/ry/node_chat.git
※自分がいるディレクトリ上にフォルダが作成されます。

で、
# cd node_chat
に移動して、

# node server.js
を実行すると…

Server at http://127.0.0.1:8001/

おぉ!立ち上がってくれました。
早速ブラウザでアクセスしてみると、出ました。

以下コマンドライン上のログです。

loading index.html...
static file index.html loaded
loading client.js...
loading jquery-1.2.6.min.js...
loading style.css...
static file client.js loaded
static file style.css loaded
static file jquery-1.2.6.min.js loaded
xxxYukihiroxxx join
pinkzircon join hello
year Hey! :)
あああ 近藤 幸裕
漢字もおっけー!
pinkzircon part
pinkzircon join
pinkzircon part
xxxYukihiroxxx part
^C

あ。カタカナやるの忘れた。。。

外部からのアクセス可能にしたい場合は、ポートをあける必要がありますが、ポートを開ける=扉を開けるということになりますのでセキュリティを把握したうえでやらないといけませんね。

node.jsの勉強をするのであれば、こちらを見てください。とてもわかりやすいので、ぜひ。
node.js ハンズオン資料 — node.js hands-on v1.0 documentation

From xxxYukihiroxxx

Pocket

[fedora] Fedora13→Fedora14 ネットワークインストール・アップグレードめも [yum]

Pocket

自分はGUI使ってません。
なので、startxでかましたいところですが、グラフィックカードが対応していないという。。。

xxxYukihiroxxxです。

【レビュー】Fedora 13から14へアップグレードする方法 | エンタープライズ | マイコミジャーナル

ここを見れば一発かと思います。

自分は、今まで通りコマンドラインでざくっとアップグレードして、2時間ちょいでした。

[fedora] Fedora12→Fedora13 ネットワークインストール・アップグレードめも [yum]
[fedora] Fedora11→Fedora12 ネットワークインストールめも [yum]
[fedora] Fedora10→Fedora11 インストールめも
[fedora] Fedora9→Fedora10 インストールめも
[fedora8] アップデート記録
【Fedora7】 アップデート記録

上記は過去の記事を見ていただければわかるかと思いますが、今回もメモ書いておきます。
インターネット経由でアップグレードを行いました。
シングルモードで立ち上げ

GRUBがインストールされているマシンで、シングルモードにてシステムを立ち上げる場合、GUIが表示された時点で矢印カーソルで起動するカーネルを選択しeボタンを押します。画面が切り替わるので、kernelから始まる行(通常二行目)をハイライトし、再度e ボタンを押します。行の最終部分に1を入力し、Enterを押します。最後にb (boot) ボタンを押せばシングルモードにてシステムが立ち上がります。

#shutdown -r now
#service network start
#rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/releases/14/Fedora/i386/os/Packages/fedora-release-14-1.noarch.rpm
#rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/releases/14/Fedora/i386/os/Packages/fedora-release-notes-14.0.3-1.fc14.noarch.rpm
#yum clean all
#yum -y upgrade

今回は面倒だった。
fc12のパッケージが残っていたことが判明して、あちゃー。状態。
とりあえず、removeして、DL前の依存チェックをPass。

#yum remove パッケージ名

あと、今回から補足。

OpenSSL+Postfix+Dovecotで不具合が発生。
送信できて受信できないという状態になってしまい原因究明に時間かかる。

しかも、間違えてrootさんのスクリプト(***.sh)を消してしまうという最悪な状態に。
ちょっと前にバックアップを取っておいたので、なんとかなったけど、しゃれんならん。

まぁ、自宅サーバー(開発環境というより、データ倉庫)なので必要な情報はバックアップしてるけど
もうそろそろクリアな状態からFedoraをインストールしてセットアップした方がいいと感じた数時間でした。

ついでにサーバーの掃除も合わせてやったんで、半日はかかりましたね。

あと、dice for linux がtoo busy.って言われてダウンロード出来なかった。
これは残念だった。
これも念のためにバックアップあったんで、助かった。
無料DNS(mydns.jpとdyndns.org)使用してるんで、diceがないと運営できないんです。。。orz

んー、セキュリティがっちがちにしたんで、満足だけど、なんかすっきりしない。。。

From xxxYukihiroxxx

Pocket

[fedora] Fedora12→Fedora13 ネットワークインストール・アップグレードめも [yum]

Pocket

[fedora] Fedora11→Fedora12 ネットワークインストールめも [yum]
[fedora] Fedora10→Fedora11 インストールめも
[fedora] Fedora9→Fedora10 インストールめも
[fedora8] アップデート記録
【Fedora7】 アップデート記録

上記は過去の記事を見ていただければわかるかと思いますが、今回もメモ書いておきます。
インターネット経由でアップグレードを行いました。
シングルモードで立ち上げ

GRUBがインストールされているマシンで、シングルモードにてシステムを立ち上げる場合、GUIが表示された時点で矢印カーソルで起動するカーネルを選択しeボタンを押します。画面が切り替わるので、kernelから始まる行(通常二行目)をハイライトし、再度eボタンを押します。行の最終部分に1を入力し、Enterを押します。最後にb (boot) ボタンを押せばシングルモードにてシステムが立ち上がります。

#shutdown -r now
#service network start
#rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Fedora/i386/os/Packages/fedora-release-13-1.noarch.rpm
#rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/releases/13/Fedora/i386/os/Packages/fedora-release-notes-13-3.fc13.noarch.rpm
#yum clean all
#yum -y upgrade

あと、yumでrpmをダウンロード開始できましたが、DL前の依存チェックでfedora12からfedora13にアップグレードを行ったとき、DL前の依存問題が2つ出ていました。

#yum remove パッケージ名

rpmをダウンロードしてから、再起動(reboot)までにかかった時間は2時間11分でした。

あと、今回から補足。

システムをアップグレードした後にすること!

システム内容が変われば、システム内容を記録しているDBも変わりますので、再度
#vi /etc/tripwire/twpol.txt
を修正して

#twadmin –create-polfile -S /etc/tripwire/site.key /etc/tripwire/twpol.txt
#tripwire -init
で再構築する必要があります。
#tripwire -check
確認して
#/etc/cron.daily/tripwire-check
cronでもできるか確認しておしまい。

DB(メインはMySQL)周りも問題なくいけました。
mysql Ver 14.14 Distrib 5.1.46, for redhat-linux-gnu (i386) using readline 5.1

今のところ、大丈夫そうです。

お疲れさまでした。たまにはサーバーも掃除もしてやってくださいね。w

From xxxYukihiroxxx

Pocket

[php] PHP Fatal error: Class ‘DomDocument’ not found…

Pocket

このエラー、調べてました。
DomDocumentぐらいあるだろ?と疑って自分のプログラムを疑ってましたが、肝心なパッケージがありませんでした。

パッケージ php-xml.i686 0:5.3.2-1.fc12 を更新に設定しました

#yum install php-xml

これでOkです。

今までXML吐き出して処理してたのは、会社のPCだったからか。と今となって気がつきました。
ちなみに、php-xmlにphp-domも組み込まれているそうです。

はぁ。。。

From xxxYukihiroxxx

Pocket

Home > Tags > yum

Search
Feeds

Return to page top