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で作成する必要があります。
起動時に作る場合、以下が参考になります。
ユーザ作成は/usr/bin/htpasswdを使う
作成方法は以下が参考になります。
さいごに
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を使ってみたい
環境
- 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」を見ながらインストールに必要なパッケージを入れようとするも、DebianとUbuntuのパッケージ名の違いによって断念。
さいごに
ファイラが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>