Linuxの最近のブログ記事

Apache2でダイジェスト認証を使えるように設定を行いましたので、
メモをしておきます。

digest_dialog.png
↑のようなダイアログがでてWebページにパスワードをつけられるようになります。
 
  
■パスワードファイルの生成
/etc/apache2/.htdigest にユーザ「bird」のファイルを新規作成する例です

$ sudo htdigest -c /etc/apache2/.htdigest 'secret zone' bird
Adding password for bird in realm secret zone.
New password:
Re-type new password:
↑パスワードを二回入力
 
  
$ ls -la
-rw-r--r-- 1 bird bird 50 2009-06-19 07:06 .htdigest
↑ファイルができました

Apacheの設定は続きから
 

サーバへFTPSで接続できればセキュアなため、インストール済みのproftpに
追加で設定を行いました。
 
  
---
※サーバ証明書の作成はApacheでSSLを使用するときに作った物を代用しました。
 
証明書作成手順は以下の@ITサイトが参考になりました
・ApacheでSSLを使うには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/702apachessl.html
--- 
 

■proftpの設定

・proftpの設定ファイル
/etc/proftpd/proftpd.conf
の適当なところに以下を追記します(必須)

<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
TLSCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

# Are clients required to use FTP over TLS when talking to this server?
TLSRequired off

# Server's certificate
TLSRSACertificateFile /etc/apache2/server.crt
TLSRSACertificateKeyFile /etc/apache2/server.key

# Authenticate clients that want to use FTP over TLS?
TLSVerifyClient off
>/IfModule<

・以下を変更してTLSを有効に(たぶん必須)
# This is used for FTPS connections
Include /etc/proftpd/tls.conf

・ftpdの再起動
sudo /etc/init.d/proftpd restart

これでとりあえずつながります。
他の詳細な設定は続きから。
 

GMAILから添付ファイル付きのメールを送信するPerlスクリプトを探していたら
見つかりましたのでメモしておきます。
 
■リンク
GmailのSMTPを利用してPerlからメール送信(添付ファイル付) - memo.mzt
http://d.hatena.ne.jp/mzt/20080219/p1 
↑基本的には上記のサイトの通りでできますが、
 必要なライブラリをLinux(Ubuntu)に導入する際に苦戦したので、
 エラーと対処方法をメモしておきます。
 
 

Ubuntuに無線LANドライバをいれ、なんとかつながるようになりましたが、
無線LAN接続まで時間がかかり、何度もタイムアウトになるようなので、設定をしてみました。
以下はそのときのメモです。
 
(間違いもあるかもしれないですが、参考までに)
 

EcoLinuxUbuntu)にApache/2.2.8をインストールしたのでコンフィグ設定等をメモを残しておきます。

# Apache 2.2系は(?)コンフィグファイル httpd.confに何もかかれていなくて
# 戸惑ったためです。詳しくないので違っているところもあるかも。。
 
 
■apacheの設定ファイル

/etc/apache2/sites-enabled
apache2.conf
 ↑基本の設定ファイル。ここから他の設定ファイルが読み込まれる。

/etc/apache2/sites-enabled
000-default
 ↑その他の設定ファイル。CGI設定などもここに書くとよい

/etc/apache2
ports.conf
 ↑その他の設定ファイル。待ちうけポートなどの設定を書くようになっているみたい。

 (読み込まれるコンフィグファイルはapache2.confに以下の記述等があるので、確認するとよいです)
 # Include the virtual host configurations:
 Include /etc/apache2/sites-enabled/


■Apache制御

・apache起動
sudo /etc/init.d/apache2 start

・停止
sudo /etc/init.d/apache2 stop


・設定を書き直したとき
読み直しまたは再起動
sudo /etc/init.d/apache2 force-reload

sudo /etc/init.d/apache2 restart


■主要な設定値

・ドキュメントルート(デフォルト設定)
DocumentRoot /var/www/
(000-defaultに記載あり)

・エラーログ(デフォルト設定)
ErrorLog /var/log/apache2/error.log
(000-defaultに記載あり)


■CGI

・CGIを使う
/etc/apache2/sites-enabled/000-default
に以下を追加
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

・CGIがエラーのときは
 /var/log/apache2/error.log
 を確認する

例1)
error.logに以下が出力
 [Tue Jun 02 08:35:16 2009] [error] [client 192.168.0.3] Options ExecCGI is off in this directory: /var/www/index.cgi
 ↑CGIを許可する設定をしていないときに出力された

例2)
error.logに以下が出力
 [Tue Jun 02 20:04:21 2009] [error] [client 192.168.0.3] script not found or unable to stat: /var/www/cgi-binindex.cgi
 ↑ ScriptAlias /cgi-bin/ /var/www/cgi-bin
  <Directory "/var/www/cgi-bin">
   ↑コンフィグでスラッシュが抜けていた(/var/www/cgi-bin/が正解)

例3)
Internal Server Errorが出力された

error.logに以下が出力
 [Tue Jun 02 20:12:00 2009] [error] [client 192.168.0.3] malformed header from script. Bad header=test!: index.cgi
 ↑CGIのソースの中で、
  print "Content-type: text/html;charset=EUC-JP\n\n";
  を行っていなかった(ヘッダ出力忘れ)

Linuxで.NET frameworkを動かすことのできるMonoの開発環境MonodevelopをEcoLinuxUbuntu)にインストールしてみました。 


Linux_Monodevel_test0.png
↑UbuntuにMonodevelopをインストール(Synapticを使い「MonoDevelop」をGUIからインストール)
 
 
(続きは以下)

Linuxで.NET frameworkを動かすことのできるMonoを使ってみました。 
EcoLinuxUbuntu)にMonoをインストールして.net frameworkを使ったソフトが動くか確認)
 
■インストール
Synapticを使い「MonoDevelop」をGUIからインストールしました。
関連するパッケージもいっしょにいれてくれます。
(Mono Developでサンプルをコンパイルするとエラーがでたので、足りないパッケージを1つ追加
しましたが・・・)

■実行
Windowsでコンパイルして作った実行ファイルをマシンにダウンロードし、
ターミナルからコマンド入力する。
「mono (ファイル名).exe」で起動します。

Linux_Mono_ImageConv_test1.png
↑ソースの変更なしで「おてがる画像変換」を起動できました。
 「起動すらしないかもしれない」と期待していなかったので感動です。
 
 
Linux_Mono_ImageConv_test2.png
↑上:バルーン 下:コンテクストメニュー

■できたこと
・フォームやボタン、リストボックスやチェックボックス、タブコントロールはもちろん、
 バルーンや右クリックメニューも使える
・タスクトレイへのアイコン登録が可能
・ウインドウへのファイルのドロップ、パスの取得が可能
・XMLファイルへの読み書きが可能
・画像処理もできており、画像の形式変換や文字の合成、加工と
 PNG,GIF,BMPでの書き込みができた

■不具合
・右クリックで強制終了することがある
・ショートカットキーが効かない
・日本語入力ができない
・ファイルの保存場所が変(これは私のソフトのソースの書き方が悪いだけかも)

さすがに全て完璧というわけではないです。
強制終了は対策が難しそうです。


■リンク
Monoについての記事(@IT)
http://www.atmarkit.co.jp/fdotnet/special/mono10_01/mono10_01_01.html

EcoLinuxというUbuntuの軽量版を仮想PCにインストールしました。
GUIでパッケージをアップデート・マネージャでアップデートしていたところ途中でエラーになりました。
回避方法がわかりましたのでメモしておきます。

ubuntu_ispell_install1.png
↑エラーでアップデートできない

★以下を参考にしました。
Ubuntu日本語フォーラム - ubuntu8_04 base-files アップデートエラー
https://forums.ubuntulinux.jp/viewtopic.php?id=3287


■対策:手動で、必要なパッケージをインストールする
http://packages.ubuntu.com/から検索できる)

■手順:
1.wbritish_6-2.1_all.debをインストール

http://packages.ubuntu.com/ja/hardy/all/wbritish/download
からパッケージをダウンロード

2.端末からパッケージをインストール
sudo dpkg -i wbritish_6-2.1_all.deb

3.以下のパッケージも同様にインストールする

ispell_3.1.20.0-4.4_i386.deb
http://packages.ubuntu.com/jaunty/i386/ispell/download

iamerican_3.1.20.0-4.4_i386.deb
http://packages.ubuntu.com/ja/hardy/i386/iamerican/download


sudo dpkg -i ispell_3.1.20.0-4.4_i386.deb iamerican_3.1.20.0-4.4_i386.deb
★コマンドで↑のように二つ指定するのがポイント。1つずつではそれぞれ依存関係があり入れられない・・・。


★上記をGUI(またはapt-getコマンド)から入れようとすると、
 なぜか「base-files」を先に入れようとして失敗するので注意
 
 

EcoLinuxというUbuntuの軽量版を仮想PCにインストールしました。

インストールが初期設定ではエラーになるので、
回避方法をメモしておきます。

■参考サイト
http://lifescape.seesaa.net/article/96661199.html

■対策:
F4を押し、「セーフグラフィックスモード」を選ぶ

F6を押し、起動オプションに以下を追加。
「noreplace-paravirt vga=791」
(--の後ろに追加します)

ecolinux_virtualpc_install0.png
↑F4を押し選択する
 
ecolinux_virtualpc_install1.png
↑F6を押し、このように起動オプションに追加します

以上でインストールできるようになります。