「linux」カテゴリーの記事一覧
HP slate2にlinuxをインストールできなかった
ONKYO TW217A5にDebian Stretchが簡単に入ったので,次はHP slate2だと気楽に考えて始めた.BIOSメニューに入るとUSBにつなげたCDドライブやUSBメモリからもブートできるようになっていた.ただし,SDメモリからのブートはサポートされていなかった.この辺りはTW217A5の方が優れていた.CDドライブからブートするように設定して再起動するとDebianのインストーラが普通に起動したのだが...なんとHP slate2ではUSBにつなげたキーボードやマウスやCDドライブが認識されないのだ.BIOSメニューでUSB Legacyの項をいじってみたが変わらず.タッチパッドでの操作もできないし,側面の押しボタンも無反応.これでは先に進めない.2時間ほど格闘したが解決せず,結局linuxのインストールをあきらめたのだった.HP slate2はWindows10で使うしかないみたい.Windows10だとすんごく遅いんだけど.
ああっと,USBメモリからはブートできるのだから,USBメモリスティックにブータブルなlinuxを入れてそこからブートすればlinuxで使えるなあ.今度試してみよう.
ラズパイゼロWをNOOBS2.4.5で初期設定
ラズパイゼロWが届いたので,最新のNOOBS2.4.5を入れて固定IPにしてサーバーとして使えるようにした.NOOBS2.4.5はDebian Stretchになっていた.デスクトップ機と同じなのでわかりやすかった.
1.インストールのときにWiFiに接続できる.NOOBSを入れたSDメモリーカードで起動した直後にWiFiに接続できる.ここで設定したSSIDはインストール後の環境に引き継がれる.ただし,インストール時は無線LANが日本仕様になっていないので,WiFiのチャンネルは11ch以下でないといけない.あとで日本に設定すれば13chまで使えるようになる.
2.インストールのときに言語設定ができる.日本語に設定しておくと日本語環境になる.漢字フォントを後でインストールする必要はもうない.
3.ユーザpiのパスワードはraspberryだけど変えておく.rootのパスワードは未設定なので設定しておく.
4.sshを生かすには/bootディレクトリにsshファイルを作る方法もこれまで通り使えるが,そんなことをしなくてもGUIの設定メニューでONにできる.ついでにvncserverもONにできる.
5.固定IPにするには/etc/dhcpcd.confファイルの最後にサンプルがコメントとして書き込まれているので,コメントを外し,自分のネットに合わせて書き換えるだけ.このときeth0をwlan0に変えるのを忘れずに.ラズパイゼロWはWiFi接続なのでeth0ではなくwlan0なのだ.
ここまでやれば後はsshやvncで入れば好き勝手にサーバーを構築できる.
ipv6が自動的に割り振られるがいつも同じ
Debianのマシンにipv6が自動的に割り振られるが,いつも同じなので便利に使っている.手動でipを設定している訳ではないのに,なぜいつも同じなのか謎なので調べてみた.ここにヒントが載っていた.たしかに解説通りにmac番号からインターフェース番号を生成してipv6アドレスを作っている.なるほどねえ.ipv6は便利だな.
Pound-1.0にはバグがあったみたい
Pound-1.0のpound.cfgファイルをいろいろいじってみたが状況は改善せず、301転送を続ける。諦めてPound-2.0をインストールしたら301転送をしなくなった。やれやれ。Poundの最新版は2.7だが、これはRedhat6.2ではコンパイルできなかった。2で一番古い2.0はコンパイルできた。相変わらずconfigureのSSL_CTX_newの項でエラーになるので、そこをコメントアウトする。そしてMakefileのLIBに-lzを追加するとコンパイルが正しく終わる。Poundの1と2ではpound.cfgファイルの文法が違うので、それを直して動かした。
Poundは正しく動くようになったが、Pound-1.0で301リダイレクトになってしまったwebサイトはどうもどこかに覚えられてしまったようで、アクセス不能になってしまった。ブラウザのキャッシュはクリアしているし、新しいマシンのブラウザでアクセスしても301の先に飛ばされる。ん?もしかしてapacheが301を覚えたのかな?ちょっと調べてみよう。
apacheのキャッシュは使われていなかった。キャッシュディレクトリには何もなかった。しかし、どうにもapacheが怪しい。そこで、えいやっとapacheを削除して再インストールしてみた。すると301を忘れてくれた。やはりapacheが301を覚えていたのだ。
Pound1.0は301で転送している?
Pound1.0を走らせて次のようなpound.cfgでサーバーを振り分けていた
User daemon Group daemon LogLevel 3 Alive 10 ListenHTTP 0.0.0.0,80 UrlGroup "^/wordpress/" HeadRequire Host ".*my.domain.jp.*" BackEnd 192.168.0.10,8080,1 EndGroup UrlGroup ".*" BackEnd 192.168.0.20,8080,1 EndGroup
するとhttp://my.domain.jp/wordpress/を192.168.0.10:8080/wordpress/へ転送してくれるのだが,そのときブラウザのURLバーに表示されるURLがhttp://my.domain.jp:8080/wordpress/になる.そして転送が301なものだから,ブラウザがこれを覚えてしまう.次にhttp://my.domain.jp/wordpress/にアクセスするとhttp://my.domain.jp:8080/wordpress/に行こうとしてしまいエラーになる.これは何が悪いのか.pound.cfgがまずかったのか.Pound1.0のバグなのか.
apacheをrc.localより後に起動する
rc.localでRAM DISK上のlogファイルディレクトリを作成しているものだから,apacheの起動はrc.localより後にしたい.しかしsystemdでrc-local.serviceを起動しているので,apacheと同時に起動しようとする.これを避けるには
/etc/systemd/system/multi-user.target.wants/apache2.service
の[Unit]項に
After=rc-local.service
を追加すれば良い.このサイトが参考になった.
Debian StretchのWiFiで固定IP接続を使う
Debian Stretchのマシンを固定IPで運用しようと思い,調べたら/etc/network/interfacesを編集すれば良いとあったので,やってみたけどダメ.どうもNetworkManagerと競合するみたい.NetworkManagerを切れば良いのだろうけど,面倒だったのでGUIで設定した.設定のネットワーク接続にDHCPと固定IPを選ぶメニューがある.そこで指定して再起動すればOK.不思議なのはDHCPのときはDebianのマシンにpingが通ったけど,固定IPにしたら通らなくなった.sshとかhttpのパケットは通るので,pingが通らなくても問題ないけど理由は謎のまま.