sedコマンドの練習

再度、Linux のメールサーバー構築の必要性がでてきたので
次回からの作業効率化のために
sed コマンドを勉強し
セットアップスクリプトを作成しようと思います
sed コマンドは -i オプションを使うことで
ファイルに変更を反映することができます
この機能と、シェルスクリプトをまぜれば
毎回 vi エディタで設定をしていくという手間が省けるはずです
まずは、簡単な
sed コマンドの実験からいってみましょう
まず、練習用に
vi sedtest.txt
で練習ファイルを作成します
次に内容ですが
aaaaaaaaaaaaa
bbbbbbbbbbbb
cccccccccccccc
ddddddddddddd
eeeeeeeeeeee
fffffffffffff
ggggggggggggg
というように適当に書きます
では、このファイルの行頭にコメントアウトをする # 記号を追記します
sed -i “s/^/## /” sedtest.txt
これを実行すると、ファイル内の行頭に
##
が追記されます
結果をみてみましょう
## aaaaaaaaaaaaa
## bbbbbbbbbbbb
## cccccccccccccc
## ddddddddddddd
## eeeeeeeeeeee
## fffffffffffff
## ggggggggggggg
となります
^は、行頭という意味になります
このため、
“s/^/## /”
は、行頭に ## を書き込む
という意味になっています
空白を書き込みたいのなら
sed -i “s/^/ /” sedtest.txt
とすれば空白が挿入されます
また、行頭のスペースを削除したいときには
sed -i “s/^[ ]*//” sedtest.txt
で削除できます
今回は、参考サイトとして
sedを使っての編集

【 sed 】 文字列の置換,行の削除を行う
を参考にさせていただきました

Webメールアプリ RoundCube その2

ひきつづき、今回は MySQL での設定になります
まず、MySQL root になるために
/opt/lampp/bin/mysql -uroot -p

パスワードを入力し
mysql>
という画面になります
CREATE DATABASE roundcubeemail CHARACTER SET utf8;
でデータベース作成します
正確には、
CREATE DATABASE roundcubeemail
でデータベース作成し、
CHARACTER SET utf8
が文字コードを設定しています
さらに
GRANT ALL PRIVILEGES ON roundcubeemail.* TO roundcube@localhost IDENTIFIED BY ‘pass’;
でユーザ権限の設定をします
ちなみに、今回作成したのは
GRANT構文の実行権限をもたないユーザの作成をしているようです
基本的に、MYSQL の文字は大文字でかかれますが
小文字でも問題はありません
ただ、見やすさを考えると、大文字にしたほうがよいでしょう
そして
FLUSH PRIVILEGES;
で設定を反映します
これはファイルの変更をして、保存みたいなかんじです
ここまで実行したら
quit
でmysql の画面を抜けます
ここまでの設定で
データベース名
roundcubeemail
ユーザ名
roundcube
パスワード
pass
という設定になりました
次に、テーブルを作成するのですが
これはソースアーカイブを解凍したときにできた
mysqlinitial.sqlというファイルを使えば
楽に設定できるようです
SQlの設定には、SQLファイルを使うことで
SQLを実行する手間が省けるようです
Linux でコマンドで1つ1つ設定していくのを
シェルスクリプトに記述しておいて
スクリプト実行だけですませるのに近いのかもしれません
設定は
cd /opt/lampp/htdocs/roundcube/
で移動してから行います
/opt/lampp/bin/mysql -uroundcube -p roundcubeemail < SQL/mysql.initial.sql でパスワードに pass を入力します たぶん、絶対パスを指定すれば、一度ディレクトリ移動をしなくても 設定できそうですが.... ちょっと興味がでてきたので、.sqlファイルで検索してみました サーチマンさんのサイト
に解説が載っていました
今回の設定に使用した mysql.initial.sql
の中身をみるには
vi SQL/mysql.initial.sql
とします
中身をみるとわかるのですが
シェルスクリプトのように、コマンドの実行が記述されているファイルです
細かく調べたい方は、コマンドの内容をコピペし
google で検索してみるといろいろとでてきますので
興味のある方は行ってみてください
今回、作成した MySQL のテーブルを確認するには
/opt/lampp/bin/mysqlshow -uroundcube -p roundcubeemail
を実行し
パスワードに pass を実行することでみることができます
ここまでで、データベースの設定は終了です
次回から、ようやく設定ができると思ったのですが
残念ながら、今回の日経Linux では
Amazon EC2 での設定は載っているのですが
自宅でのXAMPPでのメールサーバー構築が載っていません
このため、アプリを導入できても
実験ができないという状況です
以前、POP3 のメールサーバーは構築したことがあるのですが
今回使用する IMAP4 では構築経験がありません
このため、まずは今回の実験環境である
fedora 13 32bit の仮想環境をもう一つ用意し
ローカルメールサーバを作ってみようと思います
OP25B対策に関しては
各プロバイダーにより設定がかわる上に
ルーターによっても変わるので
再現性の難しさから今回は省きます

Webメールアプリ RoundCube

昨日、発売された日経 Linux 2011-03 に
Webメールアプリ RoundCube の導入が載っていましたので
さっそく実験してみようと思います
今回も、以前導入した XAMPPで実験をしてみます
XAMPPの導入に関しては
XAMPP で実験
XAMPPのセキュリティ設定に関しては
XAMPP で実験 2
を参考にしてみてください
ちなみに
ただし、このRoundCube はPOP3ではなく
IMPA4 で動くので、メールサーバにメールが蓄積していきますので
サーバーのリソースをその分消費しますので、
サーバーの負荷は大きくなります
でも、この RoundCube はYahooメールや
G-Mail のようなかんじで使えるので
とても便利なのではないのでしょうか?
なにはともあれ、実験開始してみます
まず
管理者権限になり
/opt/lampp/lampp start

XAMPPを起動
次に、必要な RoundCube のアーカイブを用意します
ダウンロードするなら
http://roundcube.net/download
でダウンロードできます
ちなみに、今回は付録DVDに収録されているので
これを使います
cp -p /media/LIN201103/article/rensai_server/roundcubemail-0.5.tar.gz $HOME
これで用意ができました
次にファイルを展開し、XAMPP のルートディレクトリに移動します
面倒なので
tar zxvf roundcubemail-0.5.tar.gz -C /opt/lampp/htdocs/roundcube
としましたがエラーになるので
tar zxvf roundcubemail-0.5.tar.gz
mv roundcubemail-0.5 /opt/lampp/htdocs/roundcube
と1つずつ実行しました
さらに、設定ファイル、ログの書き込みのため
所有権を変更
cd /opt/lampp/htdocs/roundcube/
chown -R nobody temp
chown -R nobody logs
ここまで完了したら、次にデータベースを作成します
続きは明日以降になります

Ustream にちょっと興味持ちました

日経 Linux 2011-02 の16ページに
Ustream のアカウントの取得、そして
配信について載っていました
こういうサービスを使うことで
個人でいろいろとできそうです
最近は時間がないため、まだ実験していませんが
春先には時間がとれそうなので、いろいろと実験してみようと思っています

Eclipse で文字の検索

日経Linux 2011-02 で Android プログラミングの特集がありました
基本的に、ソースコードなどは雑誌に載っているし
サンプルコードなども
ほぼ付録に収録されているので、そこまで困ることはありませんでした
しかし、ソースコードを変更し
別のアプリにしようとする記事を実験しようとしたところ
どのあたりに記述されているのかがわからず
さがすのも面倒なので、いっそ簡単に検索できないか?
ということで調べてみました
eclipseエディタでの文字列検索について
にその答えが載っていました
Ctrl + f
これで、検索するための画面がでてきます

Android アプリの開発

日経Linux 2011 2月号を参考に、
Android アプリを開発する勉強をしています
興味深いものがあったので、メモしてみました
お財布ケータイ機能のライブラリー、技術資料をまとめた
android?adhoc?libs.zip

http://ap.pitsquare.jp/pc/developers/download.html
からダウンロードできます
ubuntu 10.10 で日本語セットアップヘルパを使って
zip を入れてある場合、
文字化けせずに解凍することができました
解凍は
unzip android_adhoc_libs.zip
で解凍できます
解凍してできたディレクトリの中にある
UFCUtility_1.0.1.jar
が必要となるようです
ファイルの場所は
解凍してできた
Android端末向けアドホック機能対応アプリ開発資料というディレクトリの中の
モバイルFelicaクライアントユーティリティライブラリ for Android
の中となります
さらに
付録DVDに収録されていたものをコピーするため
cp -p /media/LIN201102/article/toku2/AppListActivity.zip $HOME/nikkei_Linux/2011-02/
でHDDにコピー
そして、同様に解凍します
unzip AppListActivity.zip
で解凍
必要なファイルを任意のディレクトリに移動するために
今回は
mkdir $HOME/Android
cp -rp $HOME/nikkei_Linux/2011-02/AppListActivity $HOME/Android
cp -p $HOME/Android端末向けアドホック機能対応アプリ開発資料/モバイルFelicaクライアントユーティリティライブラリ for Android/UFCUtility_1.0.1.jar $HOME/Android
でまとめておきます
ここから後は、雑誌どおりにすすめるとできました
ただ、どうしてもエミュレータではアプリの起動まで
しか確認できません
近々、IS04 を購入予定なので、実機検証をそのときに
行ってみようと思います

XAMPPで MySQL

PHP と MySQL を組み合わせ、Webアプリをつくる勉強を始めました
まず、簡単に実験環境を作成するために
XAMPP を導入し
この環境で まずは mySQL から勉強開始です
XAMPP で起動するには
ubuntu なら
sudo /opt/lampp/lampp start
で起動します
続いて、MySQL の画面に入るには
/opt/lampp/bin/mysql -uroot -p
で MySQL の root パスワードを入力し、ログインします
勉強する教材としては
以前、購入した 動画でわかるシリーズの
MySQL の項目、そしてMySQL初心者入門講座
あとは google での検索です

最新のAndroid SDKと adb その2

adb の設定をしましたので、忘れずにメモ
今回、使用したのは
Android SDK r08 linux です
adb が収録されているのは
/android-sdk-linux_x86/platform-tools
の中にありますので
ここへパスを通します
私の場合。bin の中にありますので
vi .bashrc
で設定ファイルを開き、ファイルの最下行へ
PATH=$PATH:$HOME/bin/android-sdk-linux_x86/platform-tools
を追記します
その後、設定を有効にするために
source .bashrc
を実行します
これで、adb コマンドを実行可能になります
続いて、仮想化環境で作成した androidx86 へ接続します
まず、virtualbox の android x86 のIPアドレスを調べます
私の場合、ローカルIPは 192.168.10.177でした
IP アドレスがわかったら
adb connect を使う方法
を参考に
adb kill-server
adb start-server
adb connect 192.168.10.177:5555
これで接続します
接続確認するのには
adb devices
を実行
これで
List of devices attached のところに、接続しているデバイスが表示
されます
ちなみに、今回の私の環境では
192.168.10.177:5555 device
と表示されました
ここまで準備できたら、いよいよアプリ起動です
eclipse を起動し 作成した アプリのプロジェクトを選択
そして、アプリを実行しようとすると
どのデバイスで起動するかを聞かれますので
先ほど設定した device を選択します
これで、Virtualbox でアプリが起動します
Eclipse で起動したアプリを終了するには
ESCキーを押すことで終了できます
接続を切るには
adb disconnect IPアドレス
となります
今回なら
adb disconnect 192.168.10.177:5555
となります

最新のAndroid SDKと adb

android 開発を行っていて
ネットブックではエミュレータ起動がとても遅いため
以前、参考にしたサイト
Android エミュレータが遅いので、VirtualBox に Androidx86 をインストールしてみまし
を参考に、VirtualBox で起動することにしました
しかし、インストールはできたのですが、予想外のエラーになりました
原因は、最新版の Android SDK には
adb コマンドの場所が違う場所にあるため
以前のように、adb を打ち込んでもエラーになります
場所を探すため、ubuntu android sdk adb
で検索してみた結果
なんと
/android-sdk-linux_x86
の中の
platform-tools
の中に存在することが判明しました
これで、ようやく次のところへ進めます
とりあえず、ただ単にコピーすればいいのか、それとも、パスを通す必要かは
まだ検証していないため、不明です
今回の参考サイトは
Android-SDK2.3のadbが消えた件について(Windows)
です
adb を使った操作に関しては
Wifi接続でadbコマンドを使う
を参考にしました
おそらく、NATではなく、ブリッジ接続なら
VMware Player などで作成した android x86 でもアクセスすることができるはずです