ホーム » コンピュータ

コンピュータ」カテゴリーアーカイブ

サーバ⚙

アーカイブ

カテゴリー

WP Fastest Cache を試す

PHP の 7.4 への切り替えを行ったけど、インストール済みのパッケージに Cache 関連のモジュールがあって、あらためて WordPress の Cache を調べてみた。

WP Fastest Cache を Install

簡単に導入できそうな、WP Fastest Cache というのがあったので、導入してみた。

WordPressの普通のプラグインの要領でインストール。WordPress の左メニューに WP Fastest Cache が追加されるので選んでから、キャッシュさせたい項目を選んで保存するだけ。

職場の WordPress にも入れてみた。でも、どこまで効果が出ているかは、よくわからない。ある程度運用してから、CPU 負荷を確認するしかないかな。

追加

数日の様子を見たけど、サーバとしては特に負荷が下がったという雰囲気は無いな。

ただ、ページの表示は早くなったような気がする。

homebridge-peopleの設定

homebridgeの記事を探していたら、homebridge-people を見つける。ping の結果を、人感センサーの ON/OFF 情報として扱うことができる。ping のホスト名をスマホのIPアドレスを指定すれば、自宅に居る/居ないとして把握できる。

$ sudo npm install -g homebridge-people
$ emacs .homebridge/config.json
    "platforms": [
        {
            "platform": "People",
            "threshold" : 15,
            "anyoneSensor" : false,
            "nooneSensor" : false,
            "webhookPort": 51828,
            "cacheDirectory": "./.node-persist/storage",
            "pingInterval": 10000,
            "ignoreReEnterExitSeconds": 0,
            "people" : [
                {
                    "name" : "斉藤徹",
                    "target" : "iphonex-tsaitoh",
                    "threshold" : 15,
                    "pingInterval": 10000,
                    "ignoreReEnterExitSeconds": 0
                }
            ]
        }
    ]

本当は、ホームハブを導入することで、Home のオートメーションと連動させて、○○が家に帰ったら、○○するといったことができるんだけど、ホームハブが無いのでできない。そうなってくると、HomePod が欲しくなってくる。

 

EdgeRouter-X ver 2.0.8-hotfix.1 に更新

気まぐれで確認してたら、ER-X v2.0.8-hotfix.1 が丁度出たところだった。

前回の古いイメージを消してから、イメージのアップロード。

$ slogin ubnt@edgerouter-x
# delete system image

EPG番組表とリモコンの連動

ちょいと、お遊び。cablegate の番組表情報から現時点の電子番組表(EPG)を取得し、その番組名をクリックすると、該当するチャンネルに替えるリモコン信号を送るようにプログラムを作ってみた。

本当は、好きな番組を適当に選んで、チャンネル替えたいけど。

画面構成の修正

タップしたチャンネル情報を保存して好きな番組を学習させられないかと、妄想を始めたけど サーバ側は PHP の方が書きやすいので、EPG番組表を PHP でObjectiveに書き直し。でも適当に書いているから、public だらけのクラスが汚いな。

speedtest-cliとrrdtool

インターネットとの通信速度を計測する speedtest-cli で Linux の上で測定できそうなので、毎日測定するようにしてみた。MRTG を単純に使うと5分おきになってしまうので、rrdtool を使って1日1回更新にてデータを生成させる。

#!/usr/bin/perl                                                                                                                             

my $pgname = "speedtest" ;
my $rrdfile = "/var/lib/munin/localdomain/localhost.localdomain-$pgname.rrd" ;
my $graphfile = "/var/cache/munin/www/localdomain/localhost.localdomain/$pgname.png" ;
my $rrdtool = "/usr/bin/rrdtool" ;
my $speedtest = "/usr/local/sbin/speedtest-cli" ;

my $time = time() ;
my $debug = 0 ;

sub fetchvalue {
    my ($upv , $dwv) = @_ ;
    my $upload = 0 , $download = 0 ;
    open( FH , "$speedtest |" ) or die( "Can't open $speedtest." ) ;
    while( my $line =  ) {
        if ( $line =~ /^Upload:\s*([\d\.]+)\s*(M|K|)bit\/s/i ) {
            $upload = $1 ;
            $upload *= 1000000 if ( $2 eq "M" ) ;
            $upload *= 1000 if ( $2 eq "K" || $2 eq "k" ) ;
        }
        if ( $line =~ /^Download:\s*([\d\.]+)\s*(M|K|)bit\/s/i ) {
            $download = $1 ;
            $download *= 1000000 if ( $2 eq "M" ) ;
            $download *= 1000 if ( $2 eq "K" || $2 eq "k" ) ;
        }
    }
    close( FH ) ;
    $$upv = $upload ;
    $$dwv = $download ;
}

sub create {
    my $cmd =
        "$rrdtool create $rrdfile"
        ." --step 86400"
        ." DS:upload:GAUGE:200000:0:U"
        ." DS:download:GAUGE:200000:0:U"
        ." RRA:LAST:0.5:1:7"
        ." RRA:AVERAGE:0.5:3:7"
        ." RRA:MIN:0.5:3:7"
        ." RRA:MAX:0.5:3:7"
        ;
    print $cmd."\n" if ( $debug ) ;
    system( $cmd ) ;
}

sub update {
    # rrdファイルが無ければ作る                                                                                                             
    create()
        unless( -f $rrdfile ) ;
    # 値を取得して更新                                                                                                                      
    my $upv , $dwv ;
    fetchvalue( $upv , $dwv ) ;
    my $cmd =
        "$rrdtool update $rrdfile"
        ." N:$upv:$dwv"
        ;
    print $cmd."\n" if ( $debug ) ;
    system( $cmd ) ;
}

sub graph {
    my $start = $time - 3600*24*200 ;
    my $cmd =
        "$rrdtool graph $graphfile"
        ." --imgformat PNG"
        ." --start $start"
        ." --end $time"
        ." --title \"SpeedTest\""
        ." --height 150"
        ." --font DEFAULT:7:Consolas"
        ." --vertical-label \"bit/sec\""
        ." --color FRAME#f3f3f3"
        ." --color AXIS#F3F3F3"
        ." --color SHADEA#f3f3f3"
        ." --color SHADEB#f3f3f3"
        ." --color ARROW#f3f3f3"
        ." COMMENT:\"               cur       avg         min         max\n\""
        ." DEF:upload=$rrdfile:upload:LAST"
        ." LINE:upload#00FF00:\"Upload  \""
        ." GPRINT:upload:LAST:\"%6.2lf%s /\""
        ." GPRINT:upload:AVERAGE:\"%6.2lf%s /\""
        ." GPRINT:upload:MIN:\"%6.2lf%s /\""
        ." GPRINT:upload:MAX:\"%6.2lf%s \n\""
        ." DEF:download=$rrdfile:download:LAST"
        ." CDEF:download_minus=download,-1,*"
        ." LINE:download_minus#0000FF:\"Download\""
        ." GPRINT:download:LAST:\"%6.2lf%s /\""
        ." GPRINT:download:AVERAGE:\"%6.2lf%s /\""
        ." GPRINT:download:MIN:\"%6.2lf%s /\""
        ." GPRINT:download:MAX:\"%6.2lf%s \n\""
        ." > /dev/null"
        ;
    print $cmd."\n" if ( $debug ) ;
    system( $cmd ) ;
}

if ( @ARGV > 0 && $ARGV[0] eq "config" ) {
    create() ;
} elsif ( @ARGV > 0 && $ARGV[0] eq "update" ) {
    update() ;
} elsif ( @ARGV > 0 && $ARGV[0] eq "graph" ) {
    graph() ;
} else {
    update() ;
    graph() ;
}

HomeKit/homebridgeをラズパイで再開

一時期、google home notifier のインストールで削除した Siri を使うための HomeKit 互換の homebridge を raspberry-pi の上に再インストールを行った。

Google Home Mini を喋らせるためにインストールした google home notifier では、node.js を使うため(あとで問題がないと分かったけど)に、一旦機能を止めていたけど、機能の競合の起こりにくい raspberry-pi に暇つぶしも兼ねて homebridge を入れる。

インストールにあたり、赤外線リモコンの制御の python-broadlink を raspberry-pi にインストールしたので、単独でテレビのON/OFF/ビデオ入力切替の cec もあるから、サーバを活用しなくても済む。

手順は、過去の自分のインストールメモを参考。ちょっと手間取ったけど。

ということで、

  • テレビ,チューナー,PS4のON/OFF
  • 2つの照明のON/OFF
  • 室内/室外の温度計の表示

が、Hey, Siri で可能。

インターネット回線の速度テスト

ネットワーク速度って、Ether > WiFi としか思ってなかったけど、WiFiの方が倍以上速い結果になってら。パソコンもそれなりに古いとはいえ、そういう時代か。

改めて確認したら、パソコンが100MbpsのHUBに繋がっていたじゃん。そういえば、ルータのギガビットが埋まってて一時的に繋ぎ変えてたっけ。Edgerouter-X を HUB 接続してできた所につなぎ替え。

iPhone 10 WiFi – 11ac で、240Mbps

{CAPTION}

パソコンの Ether 経由をギガビットにつないで本来の速度。

パソコンの Ether 経由だけど100MbpsHUBに繋がってた。

geoipdeny より kr, tw, hk を削除

最近、自宅よりアクセスできないサイトがあるみたい。特に日本のページのはずだけど、WiFi を切って携帯キャリア接続にすると、問題なく見える。あるとすれば、自宅のファイアウォールの問題か。

自宅では、IPアドレスの国ドメイン割り振り情報を元に、特定の国の IP アドレスをフィルタで接続を拒否している。対象国は自宅サーバへのアクセス履歴で私に縁の無い国から選んだ。でも、最近ではネットワーク接続的に近隣の国のサーバを経由している場合もある。そうなってくると、韓国kr、台湾tw、香港hk の制限が問題になっている可能性が高い。

ということで、これらの国を削除してフィルタを作り直し。

MacBookAir(2011年購入)にUbuntu18を入れる

随分前に購入してSSD入れ替えやバッテリー入れ替えをして愛用機ではあったが、最近は全然使っていなかった 2011年購入のMacBookAir だけど、知り合いが Ubuntu 入れてた記事があったので、自分も入れてみた。MacOS だと、1つの Apple のアカウントに紐付けされている PC が多くて、バックアップのメモリが足りないとか警告が来るし。

インストールは、書いてある通りに進めればいいけど、インストールするためのUSBをGPT(GUID Partition Table)でフォーマットするのに一手間。最近の MacOS では、GPT でのフォーマット機能は隠してあるみたい。やむなくコマンドラインにて作業。

$ diskutil eraseDisk FAT32 SECDISK GPT /dev/disk3
  # FAT32形式、ボリュームラベル=SECDISK、GPTでフォーマット

あとは、Etcher とかいう、GPT などにも対応した Image 書き込みソフトで、ブート USB を作って、option キーを押しながら boot させ、EFI のブートメニューから Ubuntu を選ぶ。

日本語のキーボード周りの設定がちょっと面倒だけど、簡単 Linux 環境のできあがり。

WordPress多要素認証をTwo Factorに変更

WordPress は広く普及しているCMSソフトだからこそ、いい加減な設定だと乗っ取り被害も多く、パスワードの管理は極めて重要。

miniOrange

その中で、今までは miniOrange 社の 2段階認証プラグインを使っていた。機能も多く便利だったけど、便利な認証が有償機能になり、一般的な”Google Authenticator”のような有効時間付きPIN番号の認証機能を使っていた。

他にも様々な2段階認証の方法が使えるけど、その認証は有償だし、他の認証プラグインを探す。

Google Authenticator

改めて探すと、Google Authenticator という名前の認証プラグインが見つかった。名前通りの”Google Authenticator”対応。でも個人の作者の作品みたい。

上記の Google Authenticator は、認証が”Google Authenticator”とバックアップコードだけど、バックアップコードはメモしておくのが面倒なんだよな。

Two Factor

ということで、さらに探してみたら”Two Factor”というプラグインがある。

作者も Plugins Contribution という団体?だし、多要素認証もメールへの認証コード送信、認証アプリ、FIDO認証キー、バックアップコードと基本的な機能を網羅している。ということで、これを入れて登録。

検索 🔎

  My Google     Yahoo

便利サイト