2010年12月15日水曜日

FreeBSD8.0 + ProFTPD1.3.3 インストール

ProFTPDインストール
FreeBSD 8.0
ProFTPD 1.3.3
----

■ProFTPDのインストール

Portsからインストールすると簡単です。

#cd /usr/ports/ftp/proftpd
#make configure
#make install clean

続いて設定ファイルを編集します。

#emacs /usr/local/etc/proftpd.conf
[/usr/local/etc/proftpd.conf]
-------
ServerName "EXAMPLE_COM"
ServerType standalone
DefaultServer on
TimesGMT off
UseReverseDNS off
IdentLookups off
ListOptions "-a"

# Port 21 is the standard FTP port.
Port 21
#######PASVモードを使うときの記述
AllowForeignAddress on
MasqueradeAddress ftp.example.com
PassivePorts 10000 10010
#######PASVモードの記述ここまで

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022
MaxInstances 30

User nobody
Group nogroup

TimeoutIdle 600
TimeoutLogin 300
TimeoutNoTransfer 600
TimeoutStalled 3600

DefaultRoot ~ !wheel

ShowSymlinks on

------

自動起動の設定
次の行を追加します
#emacs /etc/rc.conf

[/etc/rc.conf] 最終行あたりにでも
------
proftpd_enable="YES"
------

■ProFTPDの起動テスト

#/usr/local/etc/rc.d/proftpd start

192.168.0.100 - 192.168.0.100:21 masquerading as 192.168.0.100

この様に表示されるはずです。

もし、
Starting proftpd.
- Fatal: UseIPv6: Use of the UseIPv6 directive requires IPv6 support (--enable-ipv6) on \
line 36 of '/usr/local/etc/proftpd.conf'
./proftpd: WARNING: failed to start proftpd

のように表示されていれば、IPv6を使わないつもりで

[proftpd.conf]
UseIPv6 off

としていれば、この症状が出ます。

[proftpd.conf]
#UseIPv6 on

のようにコメントアウトすることで正常起動すると思います。


これでサーバーを再起動するとProFTPDが起動してきます。

プロセスの確認
#ps -ax

     :
1439 ?? Ss 0:00.00 proftpd: (accepting connections) (proftpd)
     :

の様にプロセスが確認できればProFTPDが動作しています。

■ユーザーアカウントの追加
ユーザーを追加します。
ここではユーザー名をdaimazinとして登録し、telnet等でログイン出来ない様に
shellにはnologinを設定します。
途中の入力はEnterでよくカッコ内[]に表示される値がデフォルト値です。

# adduser daimazin

Username: daimazin
Full name: daimazin
Uid (Leave empty for default):
Login group [daimazin]:
Login group is daimazin. Invite daimazin into other groups? []:
Login class [default]:
Shell (nologin sh csh tcsh bash rbash nologin) [sh]: nologin ←nologinと入力
Home directory [/home/daimazin]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : daimazin
Password : *****
Full Name : daimazin
Uid : 1011
Class :
Groups : daimazin
Home : /home/daimazin
Home Mode :
Shell : /usr/sbin/nologin
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (daimazin) to the user database.
Add another user? (yes/no): no
Goodbye!

これでユーザーが追加されました。


■/etc/shellsの修正
shellに/usr/sbin/nologinを指定することで、セキュリティー上の
安全性が増すのですが、そのままではFTPクライアントからの接続が
出来ません。
そこで/etc/shellsを修正し/usr/sbin/nologinを最終行に追加します。

[/etc/shells]
/usr/sbin/nologin

■FTPクライアントのインストール
Windowsなら

FileZilla
FFFTP

あたりがオススメです。

■ルーターのポート開放
FTPサーバーが自宅サーバー等でルーターの内側にある場合は
ルーターのポート開放を行わなければなりません。

ポート21を開放します。

[/usr/local/etc/proftpd.conf]
PassivePorts 10000 10010

で指定したポートを開放します。
この例では10000-10010を開放します。

完成!

2010年5月6日木曜日

Android:Xperia アプリケーション開発 なかなか面白そう

Androidな携帯Xperiaを購入しました。
Android...Linux 2.6で
アプリがJavaで動作し、開発環境も無料で手に入る。
Eclipseを使い、USBケーブルでデバッグもできる。
内蔵センサーをハンドリングするライブラリもしっかりそろっているし、
ネットワークにもつながっている。
データベースSQLiteも内蔵しているのでデータの保存管理も簡単。
Androidの将来の展開も、組み込み系、カーナビ、ネットブックにも搭載される。
となると、久しぶりにわくわくする『マシン』eXperiaです。

といったことで、早速開発環境をインストール。

初のEclipseだけれども、コーディング中に文法チェックやコンパイルされるところ
に驚く自分もずいぶんとオジサンになったなぁ。
とちょっとシンミリしたのでした。

Xperia Android 開発環境SDKインストール

2010年4月14日水曜日

FreeBSでportsをmake config で選択した項目をリセット・イニシャライズ・初期化するには

FreeBSD
make

FreeBSでportsをmake config で選択した項目をリセット・イニシャライズ・初期化するには。

そのportsの設定情報を削除するにはつぎのようにします。
$make rmconfig

make config-recursiveで設定していれば次のようにします。
$make rmconfig-recursive


portsの過去に選択した設定情報を見るには
$make showconfig

とします。

FreeBSDにYiiをインストールしてみた PHPフレームワークを使ってみる

Install Yii of the PHP Frame Work on FreeBSD8
FreeBSD 8.0
Apache 2.2.14
MySQL 5.0.90 (mysqli)
PHP 5.2.12

PHP のフレームワークで
最近注目されているYiiをインストールしてみた。
php5.1以上が必要です。


#cd /usr/ports/www/yii
#make config-recursive

x Options for yii 1.1.1 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [X] MYSQL Install MySQL PDO support x x
x x [ ] PGSQL Install PostgreSQL PDO support x x
x x [ ] SQLITE Install SQLite v3 PDO support x x
x x [X] REQPHP Install PHP dependencies required by plugins x x
x x x x
x x x x
tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
x [ OK ] Cancel x


x Options for pecl-APC 3.0.19 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [ ] MMAP Enable mmap memory support (default: IPC shm) x x
x x [ ] SEMAPHORES Enable sysv IPC semaphores (default: fcntl()) x x
x x [ ] SPINLOCKS Enable spinlocks (experimental) x x
x x [ ] FILEHITS Enable per request cache info x x
x x [ ] PHP4_OPT Little optimization to PHP4 x x
x x x x
x x x x
tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
x [ OK ] Cancel x


----------------------------------------------------------------------
Libraries have been installed in:
/usr/ports/databases/php5-pdo_mysql/work/php-5.2.12/ext/pdo_mysql/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,--rpath -Wl,LIBDIR' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Build complete.
Don't forget to run 'make test'.
===> Installing for php5-pdo_mysql-5.2.12_2
===> php5-pdo_mysql-5.2.12_2 depends on file: /usr/local/include/php/main/php.h - found
===> php5-pdo_mysql-5.2.12_2 depends on file: /usr/local/lib/php/20060613/pdo.so - found
===> Generating temporary packing list
===> Checking if databases/php5-pdo_mysql already installed
===> Registering installation for php5-pdo_mysql-5.2.12_2
****************************************************************************

The following line has been added to your /usr/local/etc/php/extensions.ini
configuration file to automatically load the installed extension:

extension=pdo_mysql.so

****************************************************************************
===> Returning to build of yii-1.1.1
===> Generating temporary packing list
===> Checking if www/yii already installed

***************************************************************
Now you need to adjust PHP's include_path to contain
`/usr/local/share/yii/framework'

For example, insert:
include_path = ".:/usr/local/share/yii/framework"

into `/usr/local/etc/php.ini'.

If you upgrade from previous version, please read
`/usr/local/share/doc/yii/UPGRADE' first.

For more general information about the Yii, please
visit: http://www.yiiframework.com/
***************************************************************
===> Registering installation for yii-1.1.1

PDO拡張等インストール結果をサーバーに反映させるために再起動します。


include_path = ".:/usr/local/share/yii/framework"


【重要】
#reboot

つぎにYiiの要求仕様をサーバーが満たしているか確認します。
検証用のプログラムをApachから見えるところにコピーします。
ここではApacheがデフォルトの設定のまま使われていると仮定しています。

#cd /usr/local/share/examples/yii/
#cp -r requirements /usr/local/www/apache22/data

ブラウザから今コピーしたrequirementsのページを開きます。

IE・FireFox等で

http://192.168.0.200/requirements

のようにして開きます。


PostgreSQLは今回インストールもしていないので[注意]のままでもOKと。



インストール編 おわり

で。。ここからどーすんの?(^ー^;

2010年4月12日月曜日

FreeBSD起動時にBEEP/ビープ音を鳴らすには

FreeBSD5以降ぐらい

FreeBSDが立ち上がり、SSHなどでアクセスできるようになったとき、マシンから音が起動完了を知らせる音がなると便利なことがあります。

/etc/rc.localに次のようなファイルを作成すると起動後に音を鳴らせます。

[/etc/rc.local]
#!/bin/sh -

/sbin/kldload speaker
echo "CCGGAAG2FFEEDDC2" > /dev/speaker &



ビープ音はMMLで記述できるので、自分の好きな曲を鳴らすが可能です。
がんばれば。。。
ちなみに、ここでは「キラキラ星」が流れます。

ちょっと便利な気がする。

2010年4月11日日曜日

起動時の選択待ち時間の設定 /boot/loader.confの設定

FreeBSD3.1以降

起動時間を短縮するのに、起動直後に表示されるメニュー画面の時間の
設定を変更することができます。
通常10秒の待ち時間があるため、これをもっと身近な時間に設定します。
この設定ファイルは

/boot/loader.conf

に置き、次のように記述します。

[/boot/loader.conf]
autoboot_delay="3"

最初はこのファイルは存在しないので自分で作成しなければなりません。
他の設定項目については、

/boot/defaults/loader.conf

を参照することでいろいろな設定値を確認することができます。

.

2010年4月9日金曜日

cvsup,portupgradeの方法

FreeBSD6,FreeBSD7,FreeBSD8

■準備
サーバーなのでX環境(ウィンドウ環境)は不要です。
今後Xな環境をビルドしないために次の行を追加します。
[/etc/make.conf]
WITHOUT_X11=yes

# cd /usr/ports/net/cvsup-without-gui   Xを使っていないとき
# make install clean

cvsupがこれでインストールされます。
次にports-supfileを編集します。

#cd /usr/share/examples/cvsup
#cp ports-supfile /etc
#cd /etc
#chmod 644 ports-supfile

[ports-supfile]
*default host=CHANGE_THIS.FreeBSD.org

*default host=cvsup.jp.FreeBSD.org
に変更します

次にportsツリーを更新します。

# cvsup -g -L 2 /etc/ports-supfile

次にportupgradeをインストールします。

portsツリーをアップデートしたら、続いて portsupgrade をインストールします。以下のようにして、ports からインストールします。

# cd /usr/ports/ports-mgmt/portupgrade
# make config-recursive
# make install clean

#reboot

portupgrade というコマンドのほか、portsのメンテナンスに必要なコマンドがいくつかインストールされます。さっそくそのうちの一つである portsdb コマンドを使って、先ほど更新した ports ツリーのインデックスを更新しておきましょう。

# portsdb -uU

更新にはしばらく時間がかかります。

packageデータベース依存関係の修復

# pkgdb -aF

インストール済みパッケージの一括アップグレード
各アプリケーションの設定ファイルなどで整合性が取れなくなることが
考えられるので、復元できるように設定ファイルなどをバックアップしておいた
方が良いです。

# portupgrade -a -R

portsのインストール時に残った作業ファイルなどを消すにはportcleanを使います

# portclean -CD


これをスクリプトとして保存しておくと便利です。

たとえば
[pupg.sh]
#/bin/sh

portsdb -uU
pkgdb -aF
portupgrade -a -R
portclean -CD


実行権限をつけて

#chmod 755 pupg.sh

実行するには

#./pupg.sh

とします
crontab を使って深夜に自動実行させてもいいですよね。


.

2010年1月14日木曜日

大量のTunnel Adapter ローカルエリア接続の削除

この記事は
WindowsVista/32 /64
Windows7/32 /64
を対象にして書かれています。

この記事は執筆中ですm(_ _)m
--------------------

インターネットに繋がらないとパソコンが持ち込まれてきた。
ipconfigで表示してみると、驚いたことに
Tunnel adapter ローカル エリア接続 が174個も大量に生成されていた。
気持ちがわるいのでこれを削除する方法をいろいろ探してみたが、インターネットではなかなか見つからない。

#Remove Tunnel Adapter Local Area Connection

と検索してみたら削除方法がみつかったので、翻訳もかねてメモ。

■症状 -simptom-
コマンドプロンプトでipconfigとすると大量のTunnel adapterが表示される。

>ipconfig
Windows IP 構成


イーサネット アダプタ ローカル エリア接続:

接続固有の DNS サフィックス . . . :
リンクローカル IPv6 アドレス. . . . : fe80::59bb:7ebf:d14e:45e2%9
自動構成 IPv4 アドレス. . . . . . : 169.254.69.226
サブネット マスク . . . . . . . . : 255.255.0.0
デフォルト ゲートウェイ . . . . . : 0.0.0.0

Wireless LAN adapter ワイヤレス ネットワーク接続:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :

Tunnel adapter ローカル エリア接続*:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :

Tunnel adapter ローカル エリア接続* 2:

接続固有の DNS サフィックス . . . :
リンクローカル IPv6 アドレス. . . . : fe80::5efe:169.254.69.226%166
デフォルト ゲートウェイ . . . . . :

Tunnel adapter ローカル エリア接続* 8:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :

Tunnel adapter ローカル エリア接続* 10:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :

Tunnel adapter ローカル エリア接続* 11:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :

Tunnel adapter ローカル エリア接続* 12:

  :
  :
  :わらわらわら
  :
  :

Tunnel adapter ローカル エリア接続* 173:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :

Tunnel adapter ローカル エリア接続* 174:

メディアの状態. . . . . . . . . . : メディアは接続されていません
接続固有の DNS サフィックス . . . :


あぁ。。。。。もーーーー。



■現状の確認
まず、デバイスマネージャでデバイスがどれくらい登録されているか
確認してみます。
しかし、tunnel deviceは通常のデバイスマネージャでは表示されず
確認できません。そのため、非表示となっているデバイスも表示
させます。

デバイスマネージャーの表示
非表示デバイスの表示


 6TO4 Adapter
 isatap.{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
{}内の値は、任意。
 っていうのがわらわら



■削除の準備
[スタート]ー[コントロールパネル]ー
[ネットワークとインターネット]ー
[ネットワークと共有センター]ー
[ネットワーク接続の管理]

各接続について[プロパティー]
から
インターネットプロトコルバージョン6 (TCP/IPv6) のチェックを外しておく。



■削除作業
デバイスマネージャーから
 6TO4 Adapter
 isatap.{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
を右クリック削除




非表示デバイスを非表示にもどし

再起動
ipconfig で削除できたか確認する。

 isatap.{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
はいくつか勝手に復活する。


■原因。。ウイルスが勝手にトンネリングデバイスを登録しているような

最初フレッツ接続ツールが正常にインストールされておらず、
アンインストールさえも正常に動作しなかったため、IPv6を使っていることから
NTTフレッツ接続ツールが犯人だと推測していましたが、
フレッツ接続ツールを正常にアンインストールした後でも
数時間経つと、トンネリングデバイスが追加されていきました。

そこで、ウイルスが疑われたのでウイルス検索を行ったところ、検出されたため
駆除。その後問題ないようです。


■おまけ NTTのフレッツ接続ツールのアンインストールが出来ない!

このパソコンの場合、フレッツ接続ツールの古いバージョンが不完全に入っており、
パソコンの電源を入れる度に
『正常に起動しませんでした』
と表示が出てしまう。
この状態で、「プログラムの追加と削除」でもアンインストールも出来ず、
すべてのプログラムから「フレッツ接続ツール」を開き、「アンインストール」のショートカットをクリックしてもアンインストールできない。

いろいろ調べた上、最新版のフレッツ接続ツールをインストールした
後で、アンインストールすると綺麗にアンインストールできました。


記事原文はこちら。

http://social.technet.microsoft.com/Forums/en/itprovistanetworking/thread/32b0c129-fa2d-431a-a275-4288c729605a