2014年9月28日日曜日

VPNサーバの設定

Esxi上のWindowsServer2011でSoftEtherのVPNサーバを立てる際のメモ

Esxi上にWindowsServer2011の仮想マシンを作ったところから始める。

Esxiのネットワークのプロパティをクリックする。
編集から無差別モードを承諾にする。
これをしていないとVPNサーバまでは繋がるが、そこから先のローカルの端末に繋がらなくなる。

WindowsServer2011にSoftEtherをインストールする。

SoftEtherの設定で、仮想Hubにアクセスするユーザを追加して、ローカルブリッジを追加でローカルブリッジ作成する。
ローカルブリッジを作成すれば、仮想NATや仮想DHCPの設定は必要ない。

あとはOpenVPNなり、L2TP over IPSecの設定をすれば繋がる。






2013年1月6日日曜日

[epgrec]サーバー設定参考リンク集

epgrecを設定する際に参考にしたサイト一覧(違うのも混ざってるかもしれない)

UbuntuでPT2を使う
Ubuntu 12.04 で PT3 と epgrec で録画する
epgrec導入
MySQL ユーザの操作(作成、パスワード変更、削除)
[AV関連][Hardware]コピペでできる録画サーバー on Linux with PT2 (epgrec 番組表編)
Apache2のエラーログの場所
epgrecのインストールと設定
Ubuntu 12.04 64bitでPT2を使う(Ubuntu 10.10〜12.04対応)
PT3、UbuntuLinux12.04、epgrecでのカードリーダのバグ対策
Ubuntu 12.04LTS(Daily Build) を試用してみた [PT2]
[AV関連][Hardware]コピペでできる録画サーバー on Linux with PT2 (recpt1 録画編)
脳のなかのこびと軍団
MINT12でPT2+MythTV その1
12.04でpt2再インストール(httpサーバー版に変更)
gccやbinutils, make のインストール
PT2導入
Sambaの設定(共有フォルダの追加)
/etc/fstabに記述されている数字の意味
Ubuntuサーバ日本向け環境の初期設定 - ロケールとタイムゾーン
Samba の導入
recpt1(httpサーバ版)パッチを最新ソースに適用 [PT2]
Ubuntu Server 12.04 LTS のパッケージ管理


[epgrec]BSの番組表が取得できない

BSの番組表が取得できないので、
調べると以下のサイトを見つけた。

http://d.hatena.ne.jp/teandt/20120615

epgrec,epgdumper,recpt1のすべてが新BS対応になってないといけなかった。

どうもepgdumperだけ違ったようで新BS対応にしたら治った。

ダウンロード - epgrec - SourceForge.JP

[epgrec]/var/www/video ディレクトリを変更する


以下のリンクに記述されてる通りにすれば何の問題もなく
/var/www/video ディレクトリを変更できた。

Ubuntu 12.04 で PT3 と epgrec で録画する



mkdir /home/video
chmod 777 /home/video
mv video/index.html /home/video
rmdir video
ln -s /home/video /var/www/epgrec/video

PMSインストール



以下のサイトを参考にCLIでPMSをインストールしてみた。
Installing PS3 Media Server on Ubuntu Server 10.04 LTS via command line

特に引っかかるところもなく記述されてるままコマンド実行していくだけ。
ただ、PMS.confの編集はどこに何の設定が記述されてるのか探すのに疲れるくらい。
キャッシュとフォルダの設定だけすればPS3から見えたが、
ファイル名に日本語を含むと見えなかった。


以下にhistoryを載せる。

sudo apt-get install mencoder ffmpeg mplayer vlc openjdk-6-jre

sudo apt-get install python-software-properties

sudo apt-add-repository ppa:shiki/mediainfo
sudo apt-get update
sudo apt-get install mediainfo


sudo wget http://ps3mediaserver.googlecode.com/files/pms-generic-linux-unix-1.72.0.tgz
sudo tar xzf pms-generic-linux-unix-1.72.0.tgz

sudo mv ~/pms-linux-1.72.0 /opt/pms

cd /opt/pms
sudo chmod +x PMS.sh
sudo chmod +x tsMuxeR

sudo nano PMS.conf

cd /etc/init.d
sudo nano startpms

#!/bin/bash
cd /opt/pms
nohup ./PMS.sh &
exit

sudo chmod +x startpms
sudo update-rc.d startpms defaults

ファイル名に日本語を含むファイル・ディレクトリを表示するには、
以下をPMS.shの#!/bin/shの下に記述するだけでよかった。


export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8








[epgrec]ICカード周りのdebがダウンロード出来ない



Ubuntuの最近のバージョンではICカード周りに以下の古いパッケージが必要だが、
ダウンロードできなくなっていた。



以下のサイトからそれぞれのパッケージがダウンロードができた。
https://launchpad.net/ubuntu/maverick

Munin を Ubuntu にインストール


サーバ監視用にMuninをインストールした。
最初アクセスしたらYou don't have permission to accessと出た。
調べたら初期設定では、localhostからしかアクセス出来ないようになっているようで。
 /etc/munin/apache.confで
Allow from localhost 127.0.0.0/8 ::1 を
Allow from localhost all
に変更したらアクセスできた。

以下インストール時のhistory
sudo apt-get install -y munin munin-node
sudo nano /etc/munin/apache.conf
sudo /etc/init.d/apache2 restart


Munin を Ubuntu にインストールする
muninをインストールしてApache設定の考え方の違いに気づく
UbuntuでApacheを再起動する方法・コマンド

[epgrec]初期設定ページが表示されない

config.phpで地デジのチャンネルを設定した際に
全角スペースがいつの間にか入っていたため、エラーになっていた。

/var/log/apache2/error.logを見てようやくわかった。

Apache2のエラーログの場所
T_CONSTANT_ENCAPSED_STRINGのエラー

[epgrec]epgrecでmysqlに接続できない

epgrecのmysqlの設定を間違っていただけ

ホスト名をlocalhostにしたら接続できた。

2012年5月13日日曜日

foltiaがしょぼいカレンダーからデータを取得しない

foltiaをUbuntu12.04にインストールしようとやったのだが、
しょぼいカレンダーからデータを取って来てくれなかった。

どうもgetxml2db.plが正常に動いていないようだったので、
デバッグしてみると、以下の重複起動をチェックしていると思われるところで
なぜか1つしか起動していないのに重複起動していると判定して終了していた。
32 $processes =  &processfind("getxml2db.pl");
33 if ($processes > 1 ){
34 #print "process  found:$processes\n";
35 &writelog("getxml2db   processes exist. exit:");
36 exit;
37 }else{
38 #print "process NOT found:$processes\n";
39 &writelog("getxml2db  Normal launch.");
40 }
そこで、この重複起動チェックの部分をコメントアウトすると
すんなり、しょぼいカレンダーからデータを取得できた。


原因を探すために
32行目のfoltialib.plから呼び出す”processfind”という関数の中を見てみる。
210 sub processfind{
211 my $findprocess = $_[0];
212 
213 my @processes ;
214 @processes = `ps ax | grep -i $findprocess `;
215 my $chkflag = 0;
216 
217 foreach (@processes ){
218 if (/$findprocess/i){
219         unless (/grep/){
220                 #print "process found:$_\n";
221                 $chkflag++ ;
222                 }else{
223                 #print "process NOT found:$_\n";
224                 }
225         }
226 
227 }
228 return ($chkflag);
229 }#endsub
この関数を呼び出したgetxml2db.pl自身のプロセスと
"getxml2db.pl"を検索するgrepコマンドのプロセスの
2つをカウントして2を返していたよう。
このため、重複起動チェックでいつも終了して動いてなかった。


なので、とりあえずの対処法としてはgetxml2db.plの上であげた32行目から40行目をコメントアウトすればいい(と思う)。
ただし、重複起動チェックを切ることになるので他の部分で不具合が起きるかもしれない。




2012年4月8日日曜日

NFSの設定

Ubuntu11.10でNFSの設定をした時のメモ

音楽のフォルダを共有したかったので、まずはホームフォルダを英語化する。

今まではネットに転がってるコマンドでいけたが、今回はなぜかできなかった。
Ubuntu 11.10ではコマンドが変わってるらしく、以下のコマンドで設定ができた。
#ホームフォルダ英語化
LANGUAGE=C LC_MESSAGES=C xdg-user-dirs-gtk-update
あとはネットを見つつNFSを設定
#NFS設定
#--サーバ側---
sudo apt-get install -y nfs-kernel-server portmap
# 設定追記
sudo sh -c "echo '/home 192.168.1.0/24(rw,fsid=0,sync,all_squash,no_subtree_check)' >> /etc/exports"
# 設定反映
sudo  exportfs -ra

#--クライアント側---
sudo apt-get install -y nfs-common portmap
#以下のコマンドで[username]は適時変更する
# fstab設定追記
sudo sh -c "echo '#NFS\n''192.168.11.254:/[username]/Music /home/[username]/Music nfs  rw,nosuid,_netdev,hard,intr  0' >> /etc/fstab"
これで起動時から自動でマウントされるが、マウントされるまでしばらく時間がかかった。

2011年6月25日土曜日

テキストファイルから指定した行範囲を抜き出すコマンド

テキストファイルである行からある行までを抜きだしたかった。
さらに、毎回コマンド打つのも面倒なので、ついでにシェルスクリプトを書くと便利。


やりたいことは、

  • #begin を含む行から #endを含む行までを抜き出したい

以下がそのコマンドになる。


input.dat から output.dat  #begin から #end までをコピーするコマンド
sed -n "/#begin/,/#end/p" input.dat output.dat
また、#begin を含む行から #N 行抜き出すと分かってるなら
grep -A#N '#begin' input.dat > output.dat
で抜き出せるはず。

2011年5月11日水曜日

共有フォルダ(samba)から移行アシスタンスでMacを復元

昨日、再起動かけたらMacのOSが起動しなくなりました。
(電源は入るがクルクルがずっと回っててそのうち電源が落ちる。)

ホントにTimeMachineで毎日バックアップとってて助かった。

と、思って
  • インストールディスクでOS再インストール
  • バックアップファイルを保存したフォルダをsambaで共有
  • ターミナルでdefaults write com.apple.systempreferences  TMShowUnsupportedNetworkVolumes 1 を入力して実行
  • 移行アシスタンス起動
したんですが、移行アシスタンスでTimeMachineのデータが見えない


これはきっと

Apple様にお布施をケチって

TimeMachineで共有フォルダを使ったからに違いない。


案の定、TimeMachineが共有フォルダのバックアップデータをマウントできてない。

なぜマウントできてないか冷静になって考えてみると
  • hostnameがバックアップデータを作ったときと全然ちがう。
なので、
  1. システム環境設定から共有を選択
  2. コンピュータ名をバックアップデータを作ったときのhostname
    (バックアップファイル名の一部になってる)に変更
これで、TimeMachineが共有フォルダのバックアップデータをマウントできるようになる。

あとは、再チャレンジ
  • 移行アシスタンス起動
  • しばらく待つ!
  • 共有フォルダ表示される!!
  • 適当に選択していく。
  • 転送を待つ。
    (私は無線しか使えないので表示では十数時間かかるらしい!)
で、復元完了。

バックアップってホント大事ですね。

そしてApple様にはちゃんとお布施をしましょう。


参考サイト:

2011年3月17日木曜日

MacのTimeMachineで共有フォルダ(samba)を使う

お金がなくてTimeCapsule買えないけど、USBでHDD接続するのはMacとして美しくない。
そこで、お金を書けずにバックアップは無線でスマートにしたいのでNASとかの共有フォルダを利用する方法を調べて試したので手順を書きます。ちなみに太字になってるのは自分がつまった所です。

追記(2011-07-18):手順を簡素化しました。 


参考サイト:

  1. バックアップファイルを保存したいフォルダをsambaで共有しておく
  2. ターミナルで
    defaults write com.apple.systempreferences  TMShowUnsupportedNetworkVolumes 1
     を入力して実行
  3. Macのコンピュータ名をメモ
    (林檎マークにある「このMacについて」から詳細情報を選択してソフトウェアの項目にある)
    (日本語で名前が付いてるなら日本語のままで。
    コマンド hostname するとローマ字で表示されるが、これだとうまくいかないかもしれない
  4. ネットワークに接続しているインターフェイスのMACアドレスをメモ
    (林檎マークにある「このMacについて」から詳細情報を選択してネットワークの項目にある)
    (コマンド ifconfig で調べてもいいが分かりにくいので)
  5. ディスクユーティリティからファイル→新規→空のディスクイメージを選択
  6. 名前の欄に Macのコンピュータ名_MACアドレス を入力
    (この規則通りでないとTimeMachineで認識されないので注意)
    Macアドレスは - 抜きで入力する
  7. ボリュームサイズは後で変更するのでそのまま
    追記(2011-07-18):ここでサイズ指定すれば楽だったので、使用するサイズを入力(64GBとか指定しても実際には数十MBくらいのファイルサイズになるので共有フォルダへの移動も心配ない)
    (以前書いたサイズ変更の手順が飛ばせます。)
  8. パーティションの欄でハードディスクを選択
  9. イメージフォーマットの欄でスペースバンドルディスクイメージを選択し、作成ボタンをクリック
  10. 作成したイメージファイルをsambaの共有フォルダに移動
  11. イメージファイルをクリックしてマウントする

  12. ディスクユーティリティからマウントしたイメージを選択して、上の方にある取り出すボタンをクリック
  13. イメージサイズを変更ボタンをクリックして、三角ボタンを押してパーティションとイメージのサイズを変更を選択
  14. 適当なサイズに変更して、サイズ変更ボタンをクリック
  15. ディスクユーティリティでイメージファイルのファイル名をクリックして、パーティションのタブをクリック
  16. サイズに適当に大きな値を入力した後、左側にある奴を最大サイズまで拡大して適用をクリック

  17. TimeMachineのディスクの選択でsambaで共有した奴を選択すればいい

  18. Macにログインした時に共有フォルダをマウントするには、システム環境設定→アカウントでログイン項目のタブから+ボタンで共有フォルダを追加しておけばいい
     (これをしておけばいちいちマウントしなくていいので便利)

    追記(2011-07-18)
    :TimeMachineで一度設定すれば、以降はバックアップ時に自動でマウントされるようなのでこの手順は不要。


2,3日使ってみた感想としては、非常にスマートで便利になりました。USBのケーブルささなくていいので実に美しく使えてます。特にMacBookAirはUSB端子貴重なのでおすすめです。

2011年2月4日金曜日

VirtualBoxでvmdkファイルが読み込めないとき

VirtualBoxを使ってるときにフリーズして強制シャットダウンしたら、
ゲストが起動しなくなってしまった。

いろいろ調べてhttp://www.unixmen.com/linux-tutorials/520-convert-vmware-to-vbox
を見て、vmdkファイルをいったんbinファイルに変換し、binファイルをvdiファイルに変換すると読み込めました。

使うコマンドは、

qemu-img convert system.vmdk system.bin
VBoxManage convertdd system.bin system.vdi
の2つ。
qemu-imgはaptでインストールしないといけない。

後は、出来上がったvdiファイルをストレージに指定すれば起動できるようになった。

VirtualBoxで仮想アプライアンスのインポートに失敗

VrtualBoxの仮想アプライアンスのインポートをする時に、なぜかインポートに失敗した。

そこで、環境設定をいじっていたら、

デフォルト仮想マシンフォルダを、マウントしてるパーティションのルートにしていたが、
ここにフォルダ作成して、そのフォルダを指定してやると読み込んでくれた。

つまり、
マウントしたパーティションのルートを
デフォルト仮想マシンフォルダに指定しない方がいい。
ということ。

それにしても、マウントしたパーティションのルートでも関係ないはずなのによくわからんです。

2010年12月22日水曜日

NetBeans上で実行時引数を与えて実行する

eclipseの感覚でNetbeans使ってたら、NetBeans上で実行時引数を与えて実行するやり方がわかなくてハマったのでメモ


結論から言うと、
 プロジェクトのプロパティで設定した実行時引数は、[主プロジェクトを実行]からしか使ってくれない。

プロジェクトのプロパティにある実行から引数の項目に入力しても、[ファイルを実行]から引数をとって実行してくれない。
で、いろいろ試して結局、Netbeansのサポートに書いてあるアプリケーションのコンパイルと実行を参考に、主プロジェクトに指定してからメニューの[主プロジェクトを実行]したら実行時引数を使ってくれた。

それにしてもメンドクサイ。