sambaの参考サイト
sambaでのアクセス設定に関しては下記が参考になる。
http://www.kozupon.com/samba/samba3.html
HDDの増設による設定
家のサーバはファイルサーバとしても活用しています。
今まで1TBをsambaで共有していて、空き容量が無くなってきたのと、ミラーリングも何もしていないので、ものすごく信頼性に欠けるものとなっていました。恐ろしい。
そこで、信頼性UP+HDD容量UPを図るため、以下の品物をゲットしてきました。
- HDDケース(ミラーリング機能あり 2つHDD入る) 裸族の二世帯住宅(CRNS35EU2)
- 2TB HDD WD20EARS (2TB SATA300) 2個
合計 2.8万円くらい
4TBで、ミラーリング付きと考えると、結構安く買えたと思います。
裸族の二世帯住宅 にはeSATAケーブルが付いていて、SATA接続が可能なのですが、
生憎増設するサーバが古くてSATAには対応していません。そのためUSB接続にします。
また、裸族の二世帯住宅とHDDの組み立てまでの説明は省きます。
HDDを起動時にマウントさせる
PCに裸族の二世帯住宅を接続した状態で、
$ sudo fdisk -l ... ディスク /dev/sdb: 2000.4 GB, 2000398934016 バイト ...
といった感じに出力されるので、割り当てられたデバイスは /dev/sdb となっていることがわかります。
フォーマットするツールは何でも良いので、(私はpartedを使用しました)「GPT、ext4、パーティション分割なし」でフォーマットしました。
次に
$ sudo e2label /dev/sdb1 /hddisk4
として /dev/sdb1 を ラベル名/hddisk4 に割り当てます。
また、マウントポイントを作成しておきます。
$ sudo mkdir /mnt/hddisk4
起動時にfsckを行わないようにします。
$ sudo tune2fs -c 1024 /dev/sdb1 $ sudo tune2fs -i 0 /dev/sdb1
上記は、マウント回数1024回、あるいは前回のfsckから0日(無期限)の場合fsck行うという意味です。
そうしたら、
$ sudo vi /etc/fstab
でファイルを開き、下記を追記します。
LABEL=/hddisk4 /mnt/hddisk4 ext4 relatime 0 2
LABEL=/hddisk4 /mnt/hddisk4 ext4 defaults 0 2
ここまで出来たら、再起動して dfコマンドを叩き、マウントできているか確認します。
sambaで共有設定をする
webminを使用して設定しているので、ディレクトリ共有を参考に設定をします。
一部注意なのが、共有したフォルダの中で、フォルダを作ってしまうと作成したユーザの権限となり
フォルダ下のファイルについて変更ができなくなってしまいます。
ここでsambaの共有ディレクトリのアクセス権問題に上がっていますが、
/etc/samba/smb.conf の共有フォルダに対して
inherit permissions = yes
を記入することで、ディレクトリ作成時に上位フォルダの属性で作成されるため、解決できるようです。
2010/11/3 P.S.
- fstabのオプションをrelatimeからdefaultsに変更しました。こちらの方が転送速度が4MB程早くなりました。
- 起動時にfsckを行わないようにしました。
Ubuntu 10.04 LTS へ VNCServer を入れる
せっかくUbuntuサーバへGUI環境をいれたので、VNC接続ができるように設定をしました。
簡単にメモしておきます。
VNCクライアントからユーザ権限で直接アクセスする場合
vncserverをインストールする。
$ sudo aptitude install vnc4server
vncserverを起動する。(display=1 5901/tcp を開く場合)
$ vncserver :1
初回起動の場合は、vnc接続の際のパスワードを求められるので、入力します。
※あとで変更したい場合は、vncpasswdコマンドを使用します。
スタート用のシェルのリンクを作成します。このファイルはVNCサーバを起動したときに作成されますが、
デフォルトだと、いつも使っているウィンドウマネージャーで起動せず、ショボイものとなってしまいます。
そのため、書き換えます。
$ cd ~/.vnc/ $ cp xstartup xstartup.org $ ln -s /etc/X11/Xsession xstartup
これでいつも使っているデスクトップ環境が起動されるようになります。
また、iptablesを利用している場合は、vncserverのポートを開ける必要があります。
例えば、192.168.11.0/24にアクセスを許可する場合は次のようにします。
$ iptables -A INPUT -p tcp -s 192.168.11.0/24 --dport 5901 -j ACCEPT
クライアントにインストールされているvncviewerを使用して接続します。
OSXの場合は、「chicken of the vnc」というフリーなvncviewerがあるのでこれを使うと良いと思います。
Chicken of the VNC download | SourceForge.net
ホスト名、ディスプレイ番号、パスワードを入力して接続をします。
vncserverとの接続を切っても勝手にサーバは落ちないので、必要がなくなったらサーバを落としておきます。
$ vncserver -kill :1
ただ、この設定だと、事前にvncserverを起動しておく必要があるのと、自由にユーザを切り替えて接続ができません。
次に説明する方法であれば、直接ログイン画面からアクセスできるので、自由にユーザを選択しての起動が可能になります。
VNCクライアントから直接ログインする場合
vncserver, xinetdをインストールします。
$ sudo aptitude install vnc4server xinetd
次に、パスワードファイルを作成します。
$ sudo vncpasswd /etc/passwd_vnc $ chown nobody:tty /etc/passwd_vnc
次に設定ファイルを新規作成します。
sudo vi /etc/xinetd.d/xvnc
内容:
service xvnc { disable = no socket_type = stream wait = no user = nobody group = tty server = /usr/bin/Xvnc server_args = -inetd -geometry 1024x768 -depth 24 -query localhost -once -PasswordFile=/etc/passwd_vnc port = 5900 }
※ server_args行の-geometry、-depth、port 行は適宜変更して下さい
使用するポートを設定するために、「/etc/services」を編集します。ファイルの最後に下記を追記します。
$ sudo vi /etc/services
追記する内容:
xvnc 5900/tcp # VNC Server
gdmの設定を変更します。
$ sudo vi /etc/gdm/gdm.schema
- の行になるように変更します。
--- gdm.schemas.org 2010-08-11 00:12:50.000000000 +0900 +++ gdm.schemas 2010-08-11 00:13:42.000000000 +0900 @@ -63,7 +63,7 @@ <schema> <key>security/DisallowTCP</key> <signature>b</signature> - <default>true</default> + <default>false</default> </schema> <schema> @@ -87,7 +87,7 @@ <schema> <key>xdmcp/Enable</key> <signature>b</signature> - <default>false</default> + <default>true</default> </schema> <schema>
custom.confを変更します。
$ sudo vi /etc/gdm/custom.conf
内容:
[daemon] RemoteGreeter=/usr/lib/gdm/gdm-simple-greeter [security] DisallowTCP=false AllowRemoteRoot=false [xdmcp] Enable=true DisplaysPerHost=2 [gui] [greeter] [chooser] [debug] [servers]
最後に、xinetd, gdmを再起動します。
$ /etc/init.d/xinetd restart $ /etc/init.d/gdm restart
参考サイト
- (Ubuntu 9.10) vncserver (r271-635)
- Free Dynamic DNS(DDNS) by POP3,IMAP4,FTP,HTTP-BASIC for Home Server, VPS | MyDNS.JP
- ubuntu 10.04でvnc | 犬を一匹飼っている
- http://d.hatena.ne.jp/mikenekoDX/20100524/1274713361
P.S.
再起動したタイミングかわかりませんが、VNCクライントで接続しても、ログイン画面が表示されなくなってしまいました。
どうもバグのようなことが騒がれていますが、よくわかりません。あまりGUIで接続する用途がないので、そのままにしておきます…
[Linux][Ubuntu][サーバ] サーバの状態監視ツール munin のインストール
メモリ使用量やHDDの使用量などを記録して、視覚化してくれると便利だなと思い、サーバの状態を監視するツール「munin」を
インストールしてみました。muninは他の監視ツールに比べて、設定が手軽のようです。
インストール環境:Ubuntu 10.04LTS
最初にmuninのインストールをします。
$ sudo aptitude install munin
※必要に応じて「munin-plugins-extra」をインストールしてください。
muninユーザ用のhomeディレクトリを作成します。
sudo mkdir /home/munin/ sudo chown munin:munin /home/munin/
ベーシック認証用のパスワードを設定します。
.htpasswd生成ツールhtpasswdファイル生成(作成)でパスワードを入力して、
暗号化された文字列を生成します。
sudo -u munin vi /home/munin/.htpasswd
munin:******
と記入します。(*のところに先程生成したパスワードを入力する)
muninの設定をします。
sudo cp /etc/munin/munin.conf /etc/munin/munin.conf.org sudo vi /etc/munin/munin.conf
(1) 生成されるHTMLファイルの出力先の変更をします。下記を追記します。
htmldir /home/munin
(2) ホスト名の変更をします。ここで指定した名前で管理画面に表示されるようになります。
[localhost] → [hogehoge.jp]
Apacheの設定をします。
sudo cp /etc/munin/apache.conf /etc/munin/apache.conf.org sudo vi /etc/apache2/conf.d/munin
下記のように書き直します。
Alias /munin/cgi/ /home/munin/cgi/ <Directory /home/munin/cgi/> Order allow,deny # Allow from localhost 127.0.0.0/8 ::1 Options ExecCGI deny from all # This file can be used as a .htaccess file, or a part of your apache # config file. # # For the .htaccess file option to work the munin www directory # (/var/cache/munin/www) must have "AllowOverride all" or something # close to that set. # AuthUserFile /home/munin/.htpasswd AuthName "munin" AuthType Basic require valid-user Satisfy Any # This next part requires mod_expires to be enabled. # # Set the default expiration time for files to 5 minutes 10 seconds from # their creation (modification) time. There are probably new files by # that time. # <IfModule mod_expires.c> ExpiresActive On ExpiresDefault M310 </IfModule> </Directory> Alias /munin/ /home/munin/ <Directory /home/munin/> Options None order deny,allow deny from all AuthType Basic AuthUserFile /home/munin/.htpasswd AuthName "munin" require valid-user Satisfy Any </Directory>
muninの再起動をします。
sudo /etc/init.d/munin-node restart
ただ、これで(デフォルトで)5分後に、 http://hogehoge.jp/munin にアクセスすると
ホスト名で設定した名前の項目が表示される筈なのですが、何も表示されませんでした。
よくわかっていないのですが、
sudo -u munin /usr/bin/munin-cron
として手動で実行したら、表示されて、それ以降も自動で更新されるようになりました。
参考サイト
[Linux][Ubuntu][サーバ] Ubuntu8.04LTSから10.04LTSへアップグレードする
家のサーバは、Ubuntu 8.04LTSを使用していたのですが、この休みを機に、10.04LTSへアップグレードしたので、簡単に手順を纏めておきます。
基本は、下記に記載されている通り行えば問題ないです。
https://wiki.ubuntulinux.jp/UbuntuTips/Install/UpgradeLucid
まずは、最新の環境へアップデートしておきます。
$ sudo aptitude update $ sudo aptitude dist-upgrade
アップグレードには、GUI環境と、update-managerが必要なので、インストールします。
$ sudo aptitude install ubuntu-desktop update-manager
一旦再起動します。
$ sudo reboot
再起動後、gnome環境を起動して
- Alt+F2を押して、update-manager --devel-releaseと入力します。Notes: LTS Upgradeに限り、-d/--devel-releaseオプションが必要です。
- 再チェックボタンをクリックして新しいアップデートを確認します。
- インストールすべきアップデートがあれば、アップデートをインストールするボタンを使ってパッケージをアップデートし、アップデートが終わった後に再び再チェックボタンを押します。
- 新しいリリースが利用できる事を通知するメッセージが現れます。
- アップグレードをクリックします。
- 画面に表示される手順に従ってください。
と進めます。
ただ、そのまま進めると、下記エラーが発生してアップグレードが失敗してしまいます。
Could not install upgrades Error during commit 'E:Couldn't configure pre-depend jre for openoffice.org-writer2latex, probably a dependency cycle.' Restoring original system state
どうも他でも起きている問題のようで、下記に上がっています。
http://georgia.ubuntuforums.org/showthread.php?p=9205771
問題のパッケージを削除して、再度アップグレードを行ないます。
$ sudo aptitude remove openoffice.org-writer2latex
上記問題の他に、私の環境では、
An error occurred while loading or saving configuration information for evolution-alarm-notify. So me of your configuration settings may not work properly. Adding client to server's list failed, CORBA error: IDL:omg.org/CORBA/COMM_FAILURE:1.0
といったエラーが出ましたが、問題にならなそうなのでそのままにしました。
アップグレードには、CPU:2.66GHz (Celeron D) メモリ:512MB で2時間弱掛かりました。
アップグレード完了後、再起動を促されるので再起動します。
$ sudo reboot
また、Japanese Teamのリポジトリを有効にしておいた良いので、
wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add - wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add - sudo wget https://www.ubuntulinux.jp/sources.list.d/lucid.list -O /etc/apt/sources.list.d/ubuntu-ja.list sudo apt-get update
とします。
gnomeのメニュー等が日本語化されていなかったので、日本語パッケージを入れます。
$ sudo aptitude install ubuntu-desktop-ja
ここまでで、アップグレードは完了です。
P.S.
Lucid Lynx 10.04 LTS | 2010年4月29日 | 2013年4月(デスクトップ)2015年4月(サーバ) |
Hardy Heron 8.04 LTS |2008年4月24日 |2011年4月(デスクトップ)2013年4月(サーバ)
Common Lisp環境をWindows上に構築する 〜ポータブルな環境を作成〜
ぜんぜんブログ更新出来てなかったですが、(twitterの方では呟いていましたが)最近Common Lispにはまっています。
Common lispは、人工知能用言語で何ができるんだって最初は思っていましたが、AIとか関係なくっていろいろと他にも応用できる便利な言語のようです。。最近は括弧にも抗体が出来て気にならなくなりました。
さて、今回はそんなCommon Lispを活用していく為、実行環境をWindows上に構築しようと思います。ただ、LinuxやMacOSX上では、パッケージ管理システムがあるので、CommonLisp環境を構築するのはとても簡単なのですが、Windowsでは結構めんどうです。
実際、Lispboxがあるのでそれ使えばいいと思われる方がいるかもしれませんが、SBCLやClozureCLに初期設定では対応していなかったり、日本語設定がされていなかったり、今主流のclbuildが入っていなかったりと、本格的に使用するにはいろいろと設定を行う必要があります。
※Lispboxとは実践CommonLispの作者さんが公開されているCommon Lispの環境一式が詰まったパッケージのことです。リンクはここ
googleで検索してもLispbox以外に纏まった環境をリリースしてくれているところは無さそうなので、それなら自分で作ってしまえってことで、下記を満たすような環境を構築することにしました。
- CLの知識がない状態でも、実行環境を構築することができる。
- CLをこれから学び始める人でも環境を構築できる。
- 複数のCL実装を組み込み、マルチバイトコードの設定が施されている
- それぞれ特徴のあるCL実装をすぐに試すことができ、日本語を含むマルチバイト(UTF-8)の設定が既に行われた状態なため、設定いらず。
- 開発環境(Meadow + SLIME)を組み込み、基本設定済み。
- CLの開発環境であるSLIMEの設定が既に行っている状態なため即、プログラミングを始められる。
- asdf-install、clbuildによるライブラリのインストールができる
- asdf-installはもちろん、今主流?のclbuildも組み込んでいるのでライブラリを簡単にインストールできる。
- Meadowからbashを使用することができ、Meadow上で全て完結できる。
- セットアップの所要時間は10分以下になるようにする。(主観)
- 面倒なことは最小限に。
また、他のPCでも使用できるようにこの環境をパッケージ化しました。これから、CommonLispを試したいけど、VirtualBox入れて、Linux入れてはだるいし、今すぐに試したい!っというWindowsユーザーは使ってみるといいかもしれません。
下記に置いていますので、使ってみたい方はどうぞ。
http://www.mediafire.com/zqwell
インストール方法
同封のReadme.txtに記載していますが、こちらにも書いておきます。
インストール手順は下記4ステップまでありますので順に行ってください。
(1) ALICE.exeをダブルクリックして解凍された「ALICE」ディレクトリを「C:\」を置きます。
(2) 下記の環境変数を作成します。
環境変数の追加方法:
マイコンピュータ右クリック > 詳細設定タブ > 環境変数 > ユーザーの環境変数
環境変数名:「ALICEDIR」
変数値 :「C:\ALICE\」
※変数値のパスの最後には必ず「\」をつけるようにしてください。
(3) Cygwinの設定を行います。
C:\ALICE\Terminal.bat を実行すると、下記メッセージが出ますので、
Your group is currently "mkgroup". This indicates that neither your gid nor your pgsid (primary group associated with your SID) is in /etc/group. The /etc/group (and possibly /etc/passwd) files should be rebuilt. See the man pages for mkpasswd and mkgroup then, for example, run mkpasswd -l [-d] > /etc/passwd mkgroup -l [-d] > /etc/group Note that the -d switch is necessary for domain users.
下記のように入力します。
$ mkpasswd -l > /etc/passwd $ mkgroup -l > /etc/group
そうしたら、ターミナルを終了して、再度Terminal.batを実行し
ユーザー名@PC名 ~ $
と表示されていれば、Cygwinの設定は完了です。
(4) 次に開発エディタであるMeadowの設定です。
MeadowのHOMEディレクトリを「C:\ALICE\cygwin\home\lisper」に設定するため、
C:\ALICE\meadow\install.exe を実行してください。
そうするとHOMEディレクトリ先を問われるので、
「C:\ALICE\cygwin\home\lisper」
と入力します。
ここまでで、設定は全て完了です。
使用方法
- CLISPを実行する
1. C:\ALICE\Meadow3 を実行しMeadowを立ち上げる
2. M-x clisp-start を行うとSLIMEが立ち上がる
同様に、SBCL, Clozure CL (CCL)を立ち上げる場合は下記を入力する。
SBCL: M-x sbcl-start
CCL : M-x ccl-start
- clbuildを使用する
1. C:\ALICE\Terminal.bat を実行しターミナルを起動する。
2. 「cd clbuild/」と入力してclbuildディレクトリに移動する。
3. 「./clbuild install パッケージ名」を入力してインストールする。
詳細は 「./clbuild --help」で確認してください。