玄箱で遊ぶ:その他メモ
玄箱の Debian GNU/Linux Saege化が終了したので、その他の細々した設定を行います。
そのときのメモです。
SSHのインストール
今の状態で玄箱をリモート管理には telnet を使う必要があります。
telnetをローカルで使用する場合は、問題ありませんが、外部からの管理にはセキュリティ上好ましくありません。
また、ftpも生きたままです。
玄箱から、telnet と ftp を削除しリモート管理にsshを使えるように設定します。
# apt-get install ssh ←sshのインストール
インストール終了後、 putty・WinSCP での接続を確認します(Windowsからのリモート環境の設定を参照)。
接続が確認できれば、telnet と ftp を削除します。
# apt-get remove telnetd ←telnetサーバの削除
# apt-get remove proftpd ←ftpサーバの削除
外部からの接続を試みると失敗します。
調べてみると、下記ファイルで外部からの接続を拒否していました。
接続許可ホスト定義ファイル |
/etc/hosts.allow |
接続禁止ホスト定義ファイル |
/etc/hosts.deny |
両ファイルの内容を全てコメントアウトし、どこからのアクセスも許可するように変更しました。
注意:外部からの接続を全て許可する→セキュリティ上危険な状態 |
ntpのインストール
# apt-get install ntp ntpdate ntp-simple
時計の自動設定で解説したときからパッケージ構成が変わっているようです。
PostgreSQL用ユーザwww-dataの作成
郵便番号検索の為、PostgreSQLのユーザにwww-dataを登録する必要があります。
# su postgres ←ユーザをpostgresに変更
$ createuser www-data ←PostgreSQLにユーザwww-dataを登録
Shall the new user be allowed to create databases?
(y/n) y
Shall the new user be allowed to create more
new users? (y/n) y
CREATE USER
メール関連の設定
メールサーバーの設定後、popすると、メールの受信が出来ずに下記エラーログに下記メッセージが残っていました。
S: -ERR [SYS/TEMP] Failed to create /var/spool/pop/.alk.pop
with uid 1001, gid 11. Change permissions.
/var/spool/pop/のパーミッションを変更してこのエラーを回避しました。
ストリーミング・サーバー(Darwin Streaming
Server)
開発環境がインストールされていなかったので、gccとg++をインストールしました。
# apt-get install gcc
# apt-get install g++
ここにあるように、DSS-v5_0_3_2.zipを展開したディレクトリで Buildit を実行します。
しかし、エラーメッセージを大量に出力しコンパイルが通りません。
# ./Buildit
undefined reference to `__gxx_personality_v0' ←このエラーを大量に出力
調べてみると、g++のバージョン変更により stdc++
のライブラリを指定しなければならなくなったようです。
この対応の為にBuilditを修正します。
Builditの27行目を修正 |
修正前 |
修正後 |
CORE_LINK_LIBS="-lpthread -ldl -lm -lcrypt" |
CORE_LINK_LIBS="-lpthread -ldl -lm -lcrypt
-lstdc++" |
これで Buildit を実行すると上記のエラーはなくなりましたが、まだ他のエラーを出力しています。
エラーの箇所は BroadcasterMain.cpp の223行目と225行目です。
この箇所を下記のように変更しました
MP3Broadcaster/BroadcasterMain.cppの223行目〜225行目 |
修正前 |
修正後 |
act.sa_mask = 0;
act.sa_flags = 0;
act.sa_handler = (void(*)(...))&SignalEventHandler; |
sigemptyset(&act.sa_mask);
act.sa_flags = 0;
act.sa_handler = (void(*)(int))&SignalEventHandler; |
これで、エラーなしでコンパイル(Buildit)が通るようになりました。
|