DockerでSubversionを動かしたい

はじめに

DockerでSubversionを動かしたいと思ったのですが、公式Dockerイメージが存在しません。
Alpine Linuxをベースイメージとして動かそうと決めたものの、動かすのにいくつか調べることがあったため、メモ。

環境

  • ホスト
    • Xubuntu 18.04
    • Docker version 18.09.2
  • Dockerコンテナ内
    • Alpine Linux 3.9.3
    • apache2 2.4.39-r0
    • apache2-utils 2.4.39-r0
    • apache2-webdav 2.4.39-r0
    • mod_dav_svn 1.11.1-r0
    • subversion 1.11.1-r0

調査して分かったこと

apache2の設定ファイルの所在

/etc/apache2/配下に存在します。
lsで確認すると以下の通り。

/etc/apache2 # ls -la /etc/apache2/
total 112
drwxr-xr-x    3 root     root          4096 Apr 29 11:58 .
drwxr-xr-x    1 root     root          4096 Apr 29 12:03 ..
drwxr-xr-x    2 root     root          4096 Apr 29 12:01 conf.d
-rw-r--r--    1 root     root         17836 Apr  3 15:53 httpd.conf
-rw-r--r--    1 root     root         13077 Apr  3 15:53 magic
-rw-r--r--    1 root     root         60847 Apr  3 15:53 mime.types
/etc/apache2 # ls -la /etc/apache2/conf.d/
total 40
drwxr-xr-x    2 root     root          4096 Apr 29 12:01 .
drwxr-xr-x    3 root     root          4096 Apr 29 11:58 ..
-rw-r--r--    1 root     root          1893 Apr  3 15:53 dav.conf
-rw-r--r--    1 root     root          2221 Apr  3 15:53 default.conf
-rw-r--r--    1 root     root          1191 Apr  3 15:53 info.conf
-rw-r--r--    1 root     root          5078 Apr  3 15:53 languages.conf
-rw-r--r--    1 root     root          4452 Apr  3 15:53 mpm.conf
-rw-r--r--    1 root     root           732 Apr  3 15:53 userdir.conf

mod_dav_svnを入れてもsubversionの設定は入らないから自分で書く必要がある

/etc/apache2/conf.d/の配下をgrepしたのですが、設定は見つからず。

以下を参考に作成します。

subversionリポジトリは/usr/bin/svnadminで作成する必要がある

デフォルトで作成されていないので/usr/bin/svnadminで作成する必要があります。
起動時に作る場合、以下が参考になります。

さいごに

Alpine Linux + apache2 + Subversionの組み合わせで解説しているページをうまく見つけられず、調べるの地味に面倒でした。
どれか一つでも詳しいと楽だったんでしょうけどね。

LIFEBOOK SHシリーズ LIFEBOOK WS1/C2(2018年7月モデル カスタムメイドモデル)が結構お気に入り

はじめに

私はプライベートで富士通LIFEBOOK WS1/C2(2018年7月モデル カスタムメイドモデル)を使っています。
プライベートで同機種を使っている人に中々遭遇せず寂しいので、「結構良いよ」ということを世に伝えようと思って本エントリを書くことにしました。

複数の要素がそこそこ高性能で使いやすい

ノートパソコンを選ぶ際、私は以下の要素をチェックします。

  • CPU
  • メモリ
  • ストレージ
  • 大きさ
  • 解像度
  • 重さとバッテリーでの稼働時間のバランス
  • キーボードの打ちやすさ
  • ポインティングデバイス

失礼を承知で書くのですが、個々の要素については本機種より優れている機種が存在します。
しかしながら、本機種はバランスが素晴らしいと思います。

(唯一無二とまでは言わないが)とんがっている部分もいくつかある

キーボードが打ちやすい

家電店でデモ機を触ったときは「イマイチかなぁ…」と思ったのですが、実機は結構打鍵しやすいです。
Webサイト*1によると、キーストロークは約1.2mm なのですが、その浅さを感じさせない適度な打鍵感があります。

…もう一台の愛機であるThink Pad X230には打鍵感、ちょっと劣りますけどね。

ディスプレイが高解像度

13.3インチなのに、2560×1440を選択可能です。
プログラムを書く上で大変便利です。

バッテリーでの稼働時間すごく長い!しかも自分で交換可能!

6セルバッテリーでPCMark 8 Workを7時間31分*2実行可能とのこと。
実際使っていてバッテリーで困ることはありません。
DVDドライブを外してつける増設バッテリーも買ったのですが、今のところ出番ないです。

また、バッテリー交換可能できる機種は近年少なく、魅力の一つとなっています。

専用ケースがかっこいい

黒をベースとして赤が差し色になっている専用ケース*3がかっこいいのです。
派手さはないのですが、「機能性をメインにしつつ、可能な範囲でかっこよくしてみました」みたいなデザインがツボです。

さいごに

本機種に対して愛を語っている人が少ないので語ってみました。
「買ってみようかなー」と思っている人の背中を押せれば幸いです。

Xubuntu 18.04でRabbitVCSを使ってみたい

はじめに

RabbitVCSを使ってみたくて色々試行錯誤しました。
Xubuntu 18.04で使う方法と、やってみてうまくいかなかったことをメモします。

環境

Xubuntu 18.04で使うにはNautilus + rabbitvcs-nautilusが良い

見出しのの通り。
Xubuntu のデフォルトのファイラはThunarなので、Thunar + rabbitvcs-thunar にしたかったのですが、うまくいかず。

やってみてうまくいかなかったこと

Xubuntu 18.04のデフォルトのリポジトリからインストールする試み

rabbitvcs-thunar がそもそもリポジトリに存在しないです。

$ apt-cache search rabbitvcs
rabbitvcs-cli - Command line interface for RabbitVCS
rabbitvcs-core - Easy version control
rabbitvcs-gedit - Gedit extension for RabbitVCS
rabbitvcs-nautilus - Nautilus extension for RabbitVCS

PPAを追加する試み

Index of /rabbitvcs/ppa/ubuntu/distsを参照したのですが、bionic(Ubuntu 18.04のコードネーム)が存在しないため、追加できず。

ソースからインストールする試み

rabbitvcs/README.md at v0.17.1 · rabbitvcs/rabbitvcs · GitHubの「For Debian-based distros you can run」を見ながらインストールに必要なパッケージを入れようとするも、DebianUbuntuのパッケージ名の違いによって断念。

さいごに

ファイラがThunarとNautilusの二つになってしまったのがイマイチですが、よしとしておきます。

maven-pluginのひな型を生成してみる

はじめに

maven-pluginのひな型を生成したことがなかったので、やってみました。

環境

どのアーキタイプを使うか?

mvn archetype:generateで得られる一覧をみると何個かアーキタイプの選択肢があるようです。
archetypeGroupIdがorg.apache.maven.archetypesのものから1個選んで生成してみることにします。

生成してみる

$ mvn org.apache.maven.plugins:maven-archetype-plugin:3.0.1:generate -DinteractiveMode=false -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-plugin -DarchetypeVersion=1.4 -DgroupId=com.example -DartifactId=my-plu gin -Dversion=0.1.0 -Dpackage=com.example
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:3.0.1:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:3.0.1:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO]
[INFO] --- maven-archetype-plugin:3.0.1:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Batch mode
[INFO] Archetype repository not defined. Using the one from [org.apache.maven.archetypes:maven-archetype-plugin:1.4] found in catalog remote
(中略)
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: maven-archetype-plugin:1.4
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.example
[INFO] Parameter: artifactId, Value: my-plugin
[INFO] Parameter: version, Value: 0.1.0
[INFO] Parameter: package, Value: com.example
[INFO] Parameter: packageInPathFormat, Value: com/example
[INFO] Parameter: package, Value: com.example
[INFO] Parameter: version, Value: 0.1.0
[INFO] Parameter: groupId, Value: com.example
[INFO] Parameter: artifactId, Value: my-plugin
[INFO] Project created from Archetype in dir: C:\Users\xxxx\git\github\yyyy\my-plugin
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 17.511 s
[INFO] Finished at: 2019-05-06T21:09:03+09:00

生成されたMavenPluginが想定している環境とか

生成されたPom.xmlのpropertiesの部分を引用します。

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <maven.version>3.3.9</maven.version>
  </properties>

さいごに

archetypeVersion=1.4(2019年4月現在の最新)だと、Javaソースコードのバージョン1.7を想定しているんですね。
1.8が指定されるのかと漠然と想像していました。

mvn archetype:generateで生成できるプロジェクト一覧(Apache Maven 3.5.4の場合)

はじめに

mvn archetype:generateで生成できるプロジェクト一覧が載っているWebサイトを探したのですが、見つけられませんでした。
不便なので私のためにメモします。

環境

続きを読む