カテゴリー: FreeBSD

  • ログインShellを変更する方法

    ログイン時に使用するShellを変更したい場合は、chshコマンドで変更する。

    $ chsh -s Shellのパス

    オプションなしで実行した場合は、エディタ(デフォルトではvi)が開き、ユーザ情報の編集ができる。Shellの書き換えは一番上の「Shell: /bin/sh」と表示されている場所を修正すればよい。

    昔、直接/etc/passwdを修正していたような・・・便利になったということか。それとも単に知らなかっただけか。

    例)shをtcshに変更する

    $ cat /etc/passwd | grep yama
    yama::1002:20:Yoshi Yamada:/home/yama:/bin/sh $ $ chsh -s /bin/tcsh Password: chsh: user information updated $ $ $ cat /etc/passwd | grep yama yama::1002:20:Yoshi Yamada:/home/yama:/bin/tcsh
    $

    今回変更したのは、FreeBSD。コマンドを調べたら、Linuxでも同じコマンドでできる。便利だなぁ。

  • FreeBSD 9.3 に Node.jsをインストール(+Expressも)

    ちょっと前に、FreeBSD9.3にMongoDBをインストールしたので、
    今度は、Node.jsとExpressをインストール。
    これでMEANスタック環境に必要なものは揃う。

    ■Node.jsのインストール

    portsから、Node.jsをインストール。

     root@viola:~ # cd /usr/ports/www/node
     root@viola:/usr/ports/www/node # ls
     Makefile        files           pkg-message
     distinfo        pkg-descr       pkg-plist
     root@viola:/usr/ports/www/node #
     root@viola:/usr/ports/www/node # make install
    

    ■npmのインストール

    npmもportsからインストールしようとしたのだが、developerツールのインストールでこける。
    仕方がないので、パッケージからインストール。

     root@viola:/usr/ports/www/npm # pkg install npm
     Updating FreeBSD repository catalogue...
     FreeBSD repository is up-to-date.
     All repositories are up-to-date.
     Updating database digests format: 100%
     The following 1 packages will be affected (of 0 checked):
     
     New packages to be INSTALLED:
             npm: 2.1.16
     
     The process will require 7 MB more space.
     1 MB to be downloaded.
     
     Proceed with this action? [y/N]: y
     Fetching npm-2.1.16.txz: 100%    1 MB 481.7k/s    00:03
     Checking integrity... done (0 conflicting)
     [1/1] Installing npm-2.1.16...
     [1/1] Extracting npm-2.1.16: 100%
     root@viola:/usr/ports/www/npm #
    

    ■Expressのインストール

    npmを使って、JavaScriptのフレームワークExpressをインストール。
    かなり簡単にインストールできた。

     root@viola:~ # npm install express
     express@4.10.6 node_modules/express
     tqq utils-merge@1.0.0
     tqq merge-descriptors@0.0.2
     tqq fresh@0.2.4
     tqq cookie@0.1.2
     tqq escape-html@1.0.1
     tqq range-parser@1.0.2
     tqq cookie-signature@1.0.5
     tqq finalhandler@0.3.2
     tqq vary@1.0.0
     tqq media-typer@0.3.0
     tqq parseurl@1.3.0
     tqq methods@1.1.0
     tqq serve-static@1.7.2
     tqq content-disposition@0.5.0
     tqq path-to-regexp@0.1.3
     tqq depd@1.0.0
     tqq qs@2.3.3
     tqq etag@1.5.1 (crc@3.2.1)
     tqq debug@2.1.1 (ms@0.6.2)
     tqq on-finished@2.1.1 (ee-first@1.1.0)
     tqq proxy-addr@1.0.4 (forwarded@0.1.0, ipaddr.js@0.1.5)
     tqq send@0.10.1 (destroy@1.0.3, ms@0.6.2, mime@1.2.11)
     tqq accepts@1.1.4 (negotiator@0.4.9, mime-types@2.0.7)
     mqq type-is@1.5.5 (mime-types@2.0.7)
     root@viola:~ #
    

    FreeBSDでも簡単にMEAN環境は作れるな。

  • FreeBSD 9.3 にMongoDBをインストールする

    ■portsからMongoDBをインストール

    # cd /usr/ports/databases/mongodb/
    # make install

    ■mongodbの起動コマンド

    /usr/local/etc/rc.d/mongod start

    ■mongodbの起動時のエラー

    # /usr/local/etc/rc.d/mongod start
    Starting mongod.
    su: unknown login: mongodb
    /usr/local/etc/rc.d/mongod: WARNING: failed to start mongod
    #

    このエラーが表示されるとき。pwd_mkdbコマンドで、master.passwdを更新する

    # pwd_mkdb -p /etc/master.passwd

    コマンドを実行した後に、MongoDBを起動する

    # /usr/local/etc/rc.d/mongod start
    Starting mongod.

    ■MongoDBの自動起動設定

    /etc/rc.conf に以下の行を追加する、それだけ。

    mongod_enable="YES"

    ■MongoDBの起動確認

    起動確認する前に、MongoDBのサービス(mongod)を起動しておく。mongoコマンドでMongoDBを起動してみる。

     # mongo
     MongoDB shell version: 2.6.6
     connecting to: test
     Welcome to the MongoDB shell.
     For interactive help, type "help".
     For more comprehensive documentation, see
             http://docs.mongodb.org/
     Questions? Try the support group
             http://groups.google.com/group/mongodb-user
     >
     >
     > db.version()
     2.6.6
     >
    

    以上。

  • 【FreeBSD 7.1】sshdの設定

    FreeBSD 7.1 (7系、6系も?)では、sshdのセキュリティ設定が高く、デフォルトの設定ではパスワード認証が禁止されている。そのため、パスワード認証でログインするためには/etc/ssh/sshd_configを修正する必要がある。

    最低限、必要な設定は3行。

    PasswordAuthentication yes
    PermitEmptyPasswords no
    PermitRootLogin no
    

    PasswordAuthentication がパスワード認証によるログインを許可するかどうかの設定。yes を設定することで、パスワードログインを許可する。

    PermitEmptyPasswords が空パスワードを許可するかどうかの設定。通常は許可しないので、noを指定。デフォルトの設定も no になっているため、実際には設定をしなくても問題はないが念のため。

    PermitRootLogin がrootによる直接ログインを許可するかどうかの設定。通常は許可しないので、noを指定。どうしても、rootによるログインが必要な場合にだけ、yesを指定する。※ 普通は何の制限もなく設定はしない。

    設定が終わったら、sshdをkill -HUPで再起動させて設定を読み込ませる。

    kill -HUP sshdのプロセスID
    

    SSHクライアントから、接続テストをしてみる。これでSSHによるログインができる。

  • FreeBSD 7.1 Release

    FreeBSD 7.1 Releaseがリリースされたので、VMware ESXi上にインストール。インストールまでは、何事もなく無事におわり。Xwindowも使っていないので、問題なく起動しているが・・・ネットワークにつながっていない。ESXi側の問題なのか、FreeBSD側の問題なのかはこれから調べる。