Node Daemon Do Reverse Proxy!!

まずnode-http-proxyをインストール

$ curl http://npmjs.org/install.sh | sh
$ npm install http-proxy -g
npm install forever -g




Filed under : "Web" by adam
No Comments »

svn export by apache user

ウェブサイト上のPHPなどからシェルを叩いて、svn exportでサイトなどを更新しようとしたが、失敗。エラーも吐かないとおもって、etc/log/erro_logをみてみたら、パスワード保存しますか?対話式に聞かれててそこで停まっているぽかった。なので svn exportに –non-interactive オプションを追加で解決した。あとなぜか、apacheユーザで 777でownerもapacheユーザにしといたディレクトリをPermission Error でrmできなかったので、–forceオプションで上書き。unixの基本を学び直したいです。

--force
--non-interactive



ついでですが、エラーログ見るときに便利なコマンドが、”tail”っす
ファイルの更新分だけ出力してくれます。

tail -f



http://www.caldron.jp/~nabetaro/svn/svnbook-1.4-final/svn.ref.svn.c.export.html


Filed under : "Web" by adam
No Comments »

3D Printer

http://www.rolanddg.co.jp/news/2011nr1005_imodela.html

ほしい!

20121024-160359.jpg


Filed under : "Interactive" by adam
No Comments »

WordPress Theme ‘Glowpaper’

このブログはWordPress Theme ‘Glowpaper’です。何ヶ月か前にいろいろ参考にして作りました。参考にしすぎてこのままでは再配布するのが不安なので、ソースを整理したら登録しようと思います。いつになるやら。とりあえず使いながら、細かい点を直していこう..


Filed under : "Web" by adam
No Comments »

tmux : terminal multiplexer

tmuxは、サーバー上でターミナルを実行し続けれるようなモノ。例えばSSH接続して、あるアプリケーションを動かす、そしてロギングし続けるようなことができる。(SSH接続の状態を仮想化するイメージ??)

http://tmux.sourceforge.net/

Mac(ローカル)/VPS(リモート)で使ってみる。

sudo port install tmux


Filed under : "Web" by adam
No Comments »

Crontab

Crontab でSVNレポジトリとシンク

SVNリポジトリの最新のリビジョンを、crontabによってシェル(/xxx/xxx/svncheckout.sh)を実行して、1分に1回サイトのルートディレクトリ以下にcheckoutするように設定する。下記のリンク先にあるように、crontab -eコマンドは使わないで、/etc/cron.d/以下に専用の設定ファイル(例:xxx_chekout)を置くようにした。


*/etc/cron.d/xxx_chekout のなかみ*

毎分指定のシェルを実行

* * * * * root /xxx/xxx/xxx/svncheckout.sh



svncheckout.shのなかみ*

#!/bin/sh
svn checkout http://mi77.info/repos/xxx/trunk/web /home/sites/xxx/web --username XXXXX --password XXXXX




参考 : crontab -e は「絶対に」使ってはいけない

http://d.hatena.ne.jp/ozuma/20120711/1342014448


Filed under : "未分類" by adam
No Comments »

MAMP on Mac

目的:

MAMPでMacのローカル環境でウェブサイトをコーディングするため、ドキュメントルートを設置し、MySQL/PHPを動かす。

設定のメモです。

・DL・インストール後に、/Application/MAMP/conf/apache/httpd.confに以下の行を追加します。

 NameVirtualHost *:80
 
<VirtualHost *:80>
        ServerName localhost
        DocumentRoot "/Users/user/AAA/xxx/"
        ErrorLog "logs/localhost"
</VirtualHost>
 
<VirtualHost *:80>
        ServerName xxx.local
        DocumentRoot "/Users/user/xxx/"
        ErrorLog "logs/localhost.xxx.local"
</VirtualHost>



・MAMPを再起動します。

Hosterをインストールして、上記の”xxx.local”のような勝手なドメインをlocalhostにひもづけます。。。。
これで、ローカル環境でなんでも動かせます。


Filed under : "Mac" by adam
No Comments »

Subvesion

参考:
http://www.ne.jp/asahi/it/life/it/programming/subversion/subversion_centos5.html


パッケージのインストール

# yum -y install mod_dav_svn subversion



Apacheの設定

# vi /etc/httpd/conf/httpd.conf


LoadModule dav_module modules/mod_dav.so
のコメントが外れていることを確認

サブバージョンの設定

# vi /etc/httpd/conf.d/subversion.conf



LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
...
<Location /repos>
   DAV svn
   SVNParentPath /var/www/svn
#
 
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
#      AuthType Basic
#      AuthName "Authorization Realm"
#      AuthUserFile /path/to/passwdfile
#      Require valid-user
#   </LimitExcept>
</Location>


httpdの設定をリロード、Apacheを再起動

# service httpd reload
# service httpd restart


上記でLoadModule関数には引数が2つ必要ですエラーがでるので全然別のアプローチに。(ちゃんとやんないとだめだな)

#  Subversion connections
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
 
<VirtualHost *:80>
  ServerName repos.mi77.jp
 
  <Location />
    DAV svn
    SVNParentPath /var/www/svn
 
#    <LimitExcept GET PROPFIND OPTIONS REPORT>
#    SSLRequireSSL
 
#     AuthType Basic
#      AuthName "Authorization"
#      AuthUserFile /home/svn/.htpasswd
#      Require valid-user
#    </LimitExcept>
  </Location>
</VirtualHost>


うーん。通った。なんでやろ??
ブラウザで確認

Http://repos.mi77.info/led/

 <h2>led - Revision 5: /</h2>
 <ul>
  <li><a href="branches/">branches/</a></li>
  <li><a href="tag/">tag/</a></li>
  <li><a href="trunk/">trunk/</a></li>
 </ul>


できとるです。では、つぎにログインユーザーの設定をしましょう。
unixユーザができるわけではないので注意です。

# htpasswd -c /var/www/.htpasswd {USERNAME}
(パスワード入力)



LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<VirtualHost *:80>
  ServerName repos.mi77.jp
  <Location />
    DAV svn
    SVNParentPath /var/www/svn
    AuthType Basic
    AuthName "Authorization"
    AuthUserFile /home/svn/.htpasswd
    Require valid-user
  </Location>
</VirtualHost>


これでBasic認証できました。




///

さくらVPSにSubversion 1.6.11 をインストール
http://www.sawadaru.com/blog/?p=128

Subversion環境をCentOSで構築
http://d.hatena.ne.jp/bonvivant/20090514/1242231536

Subversionのbasic認証 ユーザー追加
http://www.komacchi.com/blogs/2011/01/subversionbasic.php


Filed under : "Web" by adam
No Comments »

Web Font Service

月額300円と安いので、デコもじを、このブログで試してみている。JSでかぶせているのでページリフレッシュ時にレンダリングやり直すのが、ちょっと。。でもうれしい。


Filed under : "Web" by adam
No Comments »

Node

Git/Node




前回に引き続き、VPSのCentOS上のNodeでSocket-IOを動かすとこまでいってみたい。まず、Gitでソースをcloneしてくると楽みたいなので、gitから。


Git



いろいろ大変そうな記事をみかけたがgitはyumで簡単にはいった。SakuraVPSのプリインストールのOSだからなのか?
スーパーユーザーになり、yumでインストール。

$ sudo su -
# yum install git

かくにんする。OK。

# git --version
git version 1.7.9.2



Node

ref:http://havelog.ayumusato.com/develop/javascript/e210-install_nodejs_and_npm.html
ref:http://d.hatena.ne.jp/mizchi/20101025/1287935340

まず、いつも使う作業用のディレクトリにnode.jsをcloneします。

# cd /workspace
# git clone git://github.com/ry/node.git

さて、clone後にconfigureしようとしたところ、エラーに。

# cd node
# ./configure
Checking for header openssl/crypto.h     : not found 
/workspace/node/wscript:366: error: Could not autodetect OpenSSL support. Make sure OpenSSL development packages are installed. Use configure --without-ssl to disable this message.

OpenSSL development packagesというのが必要らしい。yumで入るのかな?

# yum install openssl-devel
# ./configure

configureできました。
makeするのか?

makeってなんだろう? パッケージ管理してるようなやつでしょうが。しかしconfigureとの関係がよくわからない。。。。さがしたところよい記事をみつけた。
http://d.hatena.ne.jp/shim0mura/20100831/1283262657

わかりやすい! 納得して、make。

$ make
$ sudo make install


つぎもおれにはわかりづらいんですが、install.shっていうシェルをcurlでDLした直後に実行するということですね?
(とにかくrootユーザじゃないと実行できないので注意。)

# curl https://npmjs.org/install.sh | sh

Macでローカルでのときと同様に通ったぽいので、ためしにExpressをいれてみる。

# npm install express

できた!ちゃんとカレントディレクトリの下のnode_modulesの下にexpressが入りました。

express@3.0.0rc4 ./node_modules/express 
├── range-parser@0.0.4
├── mkdirp@0.3.3
├── commander@0.6.1
├── cookie@0.0.4
├── methods@0.0.1
├── fresh@0.1.0
├── crc@0.2.0
├── debug@0.7.0
├── send@0.0.4 (mime@1.2.6)
└── connect@2.4.4



ちなみに、後で気づいたけどnodeを単体で入れるんじゃなくてNVM入れればよかった。。。

$ git clone git://github.com/creationix/nvm.git ~/.node



さて、npmが入ったので、node本体の動作をチェックしてみます。Apache動いてるけど、これどうなるんだろうか???ポート分ければよいだけなのか?そして、初期にセキュリティーのためにポートを閉鎖したけどあれ大丈夫かな?とりあえず、Nodeビギナーズブックに載ってた最小限のWebサーバーを動かしてみよう。まず、以下の内容のjsファイルを作る。

vi server.js


server.js

var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(8080, '127.0.0.1');
console.log('Node Server running');


次に、nodeで実行。

node server.js
Node Server running

‘Node Server running’と出力され。[control]+[C]でサーバ停止。
nodeがうごいていることは確認できた。
しかし、[IP_ADDRESS]:8080でブラウザでアクセスできない。。やはりポートは解放されていないよう。
iptablesの設定でportを封鎖してたような、気がしたので、8080を解放してみる。

sudo vi /etc/sysconfig/iptables

以下の行を足して保存、
iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080   -j ACCEPT

iptablesを再起動。

# /etc/init.d/iptables start

もう一度nodeで実行。

node server.js
Node Server running

orz だめです。。。

そこで、、こちらの記事を参考にApacheにプロキシさせてみることに。(なんか遅くなりそうだが。。。)
まだかかりそうです。

おもいがけず 3 へ続く >




> REFFEEEEEEEE

node.jsのhttpサーバーをdaemon化する方法

http://memo.yomukaku.net/entries/322

さくらのVPS(CentOS)にNode.js環境を構築して遊ぶ
(nodeサーバへのアクセスをApache経由?でプロキシする方法)

http://www.skyward-design.net/blog/archives/000132.html

【さくらのVPS】iptablesでファイアーウォールを構築してみた

http://www.iex3.info/archives/1145

ApacheとNode.jsを連携させる

http://d.hatena.ne.jp/zebevogue/20120822/1345606287

NVMのインストール

http://blog.summerwind.jp/archives/1464


Filed under : "Web" by adam
No Comments »

Node Beginners Book

Nodeでのウェブアプリケーションの基礎みたいなとこまで作るやりかたを解説してる「Nodeビギナーズブック」がかなり前に話題になっていたみたいなので、ちょっと前にやってみたメモです。


Read More -


Filed under : "Web" by adam
No Comments »

VPS Apache MySQL PHP

SAKURA VPS 1Gを借りました。だいたい次のものを設定するとこまでやりました。SSH /Apache /MySQL  /PHP /WordPress 。ほぼフロント側のことしかわからない俺ですが、以下のページ他、いろいろなブログのおかげでちゃんと設定できました。ありがとうございます。情報がいっぱい出てるので助かります。
Read More -


Filed under : "Web" by adam
No Comments »