subversion (2)


SVN: server certificate verification failed

I faced such message when I typed “svn update” telling an SSL certification error occurred. Full message is

Server certificate verification failed: certificate has expired, certificate issued for a different hostname, issuer is not trusted

Explaining from the result, I added an option with these comma-separated keywords below;

–trust-server-cert-failures=unknown-ca,cn-mismatch,expired,not-yet-valid,other

I found this solution in the help of “svn update”. Type the command below and read the document carefully because I finally failed to find any advice of someone else.

% svn help update

–trust-server-cert-failures ARG : with –non-interactive, accept SSL server certificates with failures; ARG is comma-separated list of ‘unknown-ca’ (Unknown Authority), ‘cn-mismatch’ (Hostname mismatch), ‘expired’ (Expired certificate), ‘not-yet-valid’ (Not yet valid certificate) and ‘other’ (all other not separately classified certificate errors).

I guess that this problem is common even with “checkout” and other options.
I recommend you check which keyword you need.

I hope this helps you.

コマンドは見たらわかると思うので、日本語では要約にとどめます。

% svn up

でSSLのエラーが出たので、調べました。けっこうな時間を割きましたが、同じ解決策に至った方はおられないようでしたので、書き残します。同様の問題に苦しまれている方はご参照ください。

エラーメッセージは「SSLの証明書の期限が切れており、ホスト名も食い違っているため、発行元が信頼できない」といったところ。

コマンドのオプションのまとめが公式サイトを探しても見つけられなかったのですが、手元のコマンドのヘルプをよく見たらそれっぽいオプションがあったので、書いてみました。その結果、いけました。

たぶん not-yet-valid と other は今回の場合だと要らないと思いますが、試しませんでした。気になる方は調整してください。




さくらのレンタルサーバー[スタンダードプラン FreeBSD]にsubversionを入れる方法

FreeBSD環境下におけるsubversionのインストールにはほんのちょっとだけ工夫がいるのでした。

[参考] https://apr.apache.org/compiling_unix.html

“Note that if you are compiling directly from the Subversion repository, you’ll need GNU autoconf and GNU libtool installed, and you’ll need to run ./buildconf before running the commands listed above.”だそうです。わたしは気がついたけれど、気づかないひともおられるかも、ということで、書き残しておきます。

あと、非技術者だけどさくらのレンタルサーバーにsubversionを入れたい、というひとのために。

※ ホームディレクトリが散らかるので、それが嫌なひとは ~/src みたいなディレクトリを作って作業するといいと思います。作業が終わったあとでまとめて消せてラクです。
※ わたしは ~/local というディレクトリを作ってその中にインストールしましたが、作らずに ./configure –prefix=$HOME などとやっても大多数のひとにはたぶん問題ないです。その場合はパスを通す作業は必要ないです。
※ aprとsubversionのバージョンは、特別な理由がない限り、最新のものをそろえたほうがいいと思います。

[準備]
% cd
% fetch http://ftp.jaist.ac.jp/pub/apache/apr/apr-1.5.2.tar.bz2
% fetch http://ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.5.4.tar.bz2
% fetch http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/subversion/subversion-1.9.5.tar.bz2
% tar jxf apr-1.5.2.tar.bz2
% tar jxf apr-util-1.5.4.tar.bz2
% tar jxf subversion-1.9.5.tar.bz2
% mkdir local

[apr]
% cd $HOME/apr-1.5.2/
% ./buildconf
% ./configure --prefix=$HOME/local
% make test
% make
% make install

[apr-util]
% cd $HOME/apr-1.5.4/
% ./buildconf --with-apr=$HOME/apr-1.5.2
% ./configure --prefix=$HOME/local --with-apr=$HOME/apr-1.5.2
% make test
% make
% make install

[subversion]
% cd $HOME/subversion-1.9.5/
% ./configure --prefix=$HOME/local --with-apr=$HOME/apr-1.5.2 --with-apr-util=$HOME/apr-util-1.5.4
% make test
% make
% make install

[パスを通す]
% vi ~/.cshrc
% source ~/.cshrc

set path の最後に $HOME/local/bin をつけ足す。以下のようになります。

set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin $HOME/local/bin)

[動作確認]
% cd
% svnadmin help
>>> 実行結果が表示されれば成功! <<<

[かたづけ]
% cd
% rm -rf apr-* subversion-1.9.5*

以上。