To content | To menu | To search

Monday, January 30 2023

Nextcloud で CLI でアップデートが失敗する

Nextcloud をアップデートしようとしたら、以下のエラーがでてアップデートできなかった。

Could not do request to updater server: SSL certificate problem: unable to get local issuer certificate

どうやらローカルにある証明書の問題の模様。

cURL and self signed certificates on FreeBSD 13 を参考に

# certctl -v rehash

で復旧した。

Wednesday, January 18 2023

FreeBSD の ports からインストールした postfixadmin で mysql を組み合わせているとアップデートした後でエラーになる

FreeBSD は 13.1-RELEASE-p3 で postfixadmin は postfixadmin-php81-3.4.d.20211018 。

Apache のエラーログでは

PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [2002] No such file or directory in /usr/local/www/postfixadmin/functions.inc.php:1740
Stack trace:
#0 /usr/local/www/postfixadmin/functions.inc.php(1740): PDO->__construct('mysql:mysql:hos...', 'XXXXX', 'YYYYY...', Array)
#1 /usr/local/www/postfixadmin/functions.inc.php(1914): db_connect()
#2 /usr/local/www/postfixadmin/functions.inc.php(1875): db_query('SELECT value FR...', Array)
#3 /usr/local/www/postfixadmin/functions.inc.php(2222): db_query_one('SELECT value FR...')
#4 /usr/local/www/postfixadmin/public/login.php(40): check_db_version()
#5 {main}
  thrown in /usr/local/www/postfixadmin/functions.inc.php on line 1740

というエラー。DSN が mysql:mysql となってしまっている。Github 上の postfixadmin ではこうなっていない。

/usr/local/www/postfixadmin/functions.inc.php の db_connection_string() 内、

        $dsn = 'mysql:';
        if ($socket) {
            $dsn .= "unix_socket={$socket}";
        } else {
            $dsn .= "mysql:host={$CONF['database_host']}";
        }

でどちらかの「mysql:」を削除すればひとまず回避できる。

Tuesday, December 22 2020

ConoHa VPS 上の FreeBSD に IPv4 アドレスを追加したときの追加 NIC と Jail の対応

2021/Mar/14 追記あり。

ConoHa VPS で IPv4 アドレスを追加すると、追加分は新しい NIC に割り当てられる。

Linux はいいらしいけれど、FreeBSD ではそのままだと活かし方が分からなかったけど、動いたように見える。

Continue reading...

Thursday, November 26 2020

qjail で diff がエラー

qjail で jail を作ろうとするとエラーになる。

OS は 12.2-RELEASE 。

# qjail create -4 <ip address> -n <network interface> <jail name>
error: conflicting output format options.
usage: diff [-aBbdilpTtw] [-c | -e | -f | -n | -q | -u] [--ignore-case]
            [--no-ignore-case] [--normal] [--strip-trailing-cr] [--tabsize]
            [-I pattern] [-L label] file1 file2
       diff [-aBbdilpTtw] [-I pattern] [-L label] [--ignore-case]
            [--no-ignore-case] [--normal] [--strip-trailing-cr] [--tabsize]
            -C number file1 file2
       diff [-aBbdiltw] [-I pattern] [--ignore-case] [--no-ignore-case]
            [--normal] [--strip-trailing-cr] [--tabsize] -D string file1 file2
       diff [-aBbdilpTtw] [-I pattern] [-L label] [--ignore-case]
            [--no-ignore-case] [--normal] [--tabsize] [--strip-trailing-cr]
            -U number file1 file2
       diff [-aBbdilNPprsTtw] [-c | -e | -f | -n | -q | -u] [--ignore-case]
            [--no-ignore-case] [--normal] [--tabsize] [-I pattern] [-L label]
            [-S name] [-X file] [-x pattern] dir1 dir2
       diff [-aBbditwW] [--expand-tabs] [--ignore-all-blanks]
            [--ignore-blank-lines] [--ignore-case] [--minimal]
            [--no-ignore-file-name-case] [--strip-trailing-cr]
            [--suppress-common-lines] [--tabsize] [--text] [--width]
            -y | --side-by-side file1 file2
Error invalid directories in flavor default.

/usr/local/bin/qjail がスクリプトだったので diff を探したら一箇所だけ出てきた。

    # Check the flavor for directories it should NOT be playing with.
    #
    # Load directory names to be excluded from diff to std-out
    # and pipe to the diff -X option.
    #
    example_flavor="/usr/local/share/examples/qjail/default"
    flavor_path="${flavors_dir}/${flavor}"

    /bin/cat  << EOF |
etc
home
root
EOF

    diff -ruq -X - "${example_flavor}" "${flavor_path}"
    [ $? -eq 0 ] || \
    kill "Error invalid directories in flavor ${flavor}."

diff のオプションの u と q がぶつかっているみたい。でもどちらかにしても相変わらずエラーになる。


2020 Nov 27 追記

diff は、/usr/local/share/examples/qjail/default/etc/ に resolv.conf が無かったことに文句を言っていた。

# cp /usr/jails/flavors/default/etc/resolv.conf /usr/local/share/examples/qjail/default/etc/
# diff -r /usr/local/share/examples/qjail/default /usr/jails/flavors/default

で何も出ないことを確認したら、ひとまず qjail create は通るようになった。

Monday, December 9 2019

FreeBSD の jail で Zabbix が動かなかった話

環境は、
FreeBSD *jail* 12.1-RELEASE-p1 GENERIC amd64
zabbix_server は pkg の 4.2.6 又は ports の 4.4.3

Continue reading...

Friday, April 5 2019

newsyslog が missing field in config file とエラーを返す

/etc/newsyslog がこうなっていた。

# cat /etc/newsyslog.conf

# logfilename          [owner:group]    mode count size when  flags [/pid_file] [sig_num]
/var/log/all.log                        600  7     *    @T00  J
/var/log/amd.log                        644  7     100  *     J
/var/log/auth.log                       600  7     100  @0101T JC
/var/log/console.log                    600  5     100  *     J
/var/log/cron                           600  3     100  *     JC
/var/log/daily.log                      640  7     *    @T00  JN
/var/log/debug.log                      600  7     100  *     JC
/var/log/init.log                       644  3     100  *     J
/var/log/kerberos.log                   600  7     100  *     J
/var/log/lpd-errs                       644  7     100  *     JC
/var/log/maillog                        640  7     *    @T00  JC
/var/log/messages                       644  5     100  @0101T JC
/var/log/monthly.log                    640  12    *    $M1D0 JN
/var/log/pflog                          600  3     100  *     JB    /var/run/pflogd.pid
/var/log/ppp.log        root:network    640  3     100  *     JC
/var/log/devd.log                       644  3     100  *     JC
/var/log/security                       600  10    100  *     JC
/var/log/sendmail.st                    640  10    *    168   BN
/var/log/utx.log                        644  3     *    @01T05 B
/var/log/weekly.log                     640  5     *    $W6D0 JN
/var/log/xferlog                        600  7     100  *     JC
=======

<include> /etc/newsyslog.conf.d/*
<include> /usr/local/etc/newsyslog.conf.d/*

そして実行するとエラー

# newsyslog
newsyslog: missing field in config file:
=======

この

=======

が、多分 freebsd-update の時のマージで残っていたらしい。

Tuesday, January 15 2019

外部IPアドレスひとつのVPSで複数の Jail を起動して SSH アクセス等々

Qiita の @furandon_pig さんの記事、さくらVPSでFreeBSD+Jailを動かして仮想的にVPSが複数使えているような環境を作ってみる について、もう少しいじってみたもの。

Continue reading...

Thursday, November 10 2016

Let's Encrypt と FreeBSD

今は

Certbot の説明に従って、security/py-certbot をインストールすると OK 。

あらかじめ Apache や Nginx 等の Web サーバーを落としておいて、Certbot が自分で持っている Web サーバーを使うと簡単。

Monday, August 8 2016

FreeBSD での Let's encrypt 更新

2016/11/10 追記

情報更新しました

以下は古い内容。

Continue reading...

Monday, July 14 2014

qjail で作った jail 内で ping や traceroute

FreeBSD 10 と qjail で作った jail 内から、ping や traceroute を使用とすると、

icmp socket: Operation not permitted

と怒られる。

/etc/sysctl.conf に

security.jail.allow_raw_sockets=1

と追加してみたり、

/etc/rc.conf に

jail_{jail名}_parameters="allow.raw_sockets=1"

を追加してもだめ。

でも を見て解決。

# qjail config -k

小文字の k で ON、大文字 K で OFF、らしい。