mac mini に docker をインストール

手順

教科書はdockerを使ってmacOSにGitlabを構築する - Qiita(2018年07月13日に更新)。

  1. Docker をダウンロードする。サインイン不要だった
  2. ダウンロードした Docker.dmg をマウントする
  3. ウインドウが出る。ドラッグアンドドロップ指示に従う
  4. launchpad に Docker が追加されている。選ぶ
  5. 権限が必要だってダイアログにOK
  6. mac のユーザー名とパスワードを入力する

GitLab を設定したかったけれど、やめた

先の教科書を理解できなかったので、GitLab のテキストを読む。その他文献を探したが、ローカルで建てるだけの手順が分らなかった。やめた。Docker の使い道がなくなってしまった。

sphinx-quickstartからSphinxの挙動を知る

sphinx-quickstart

https://sphinx-users.jp/gettingstarted/make_project.html を参照する。

cd
mkdir sp # ホームディレクトリーが荒れないように、適当なディレクトリーを作る
cd sp
sphinx-quickstart
# y, project_name, author_name, 1.0.0, ja
# ディレクトリー build, source と Makefile, make.bat が作られる。2種のメイクは、OS依存なく生成できるように、だろう

index.rst は source ディレクトリーにあった。テキストの先を読んで、手順を前後してみる。

make html # Sphinx で文書が生成される
# ファイルマネージャー(pfmanfm)をマウスで実行
# ~/sp/build/html/index.html をマウスで実行。ウェブブラウザー(chromium-browser)で開かれる

さて感想。

  • とりあえず何かが作られたと分かった
  • サンプルテキストが見えない
  • 検索機能がある。Javascriptで構成されている。ユーザーサイドで実行するのか
  • ウェブサービスが立っていないので、ラズパイにHTTPアクセスできない。作られた文書を他のコンピューターから参照できない

ページ構成を作っていこう

cd source
mousepad index.rst # toctree付近を修正して保存する
mousepad expert_python.rst # サンプルテキストを貼り付けて保存する
mousepad art_of_community.rst # サンプルテキストを貼り付ける保存する
cd ..
make html # index.htmlを再読み込みしよう

quickstart から感じたこと、やりたいことの整理

  • プロジェクト名でディレクトリーを作ろう
  • source をバージョン管理システムに登録する
  • 1週に1回程度、source の変化を検査して、current ビルドを建ててしまう
    • ビルドエラー、警告が発生したらメールを投げる
  • current ビルドをHTTPアクセス可能にする
  • リリースビルドは各版、参照できるように残しておく。また、HTTPアクセス可能にする
  • リリースビルドでは、印刷用の PDF を出力しよう
  • システムのバックアップをどこかに取ろう
  • 文書のバックアップをどこかに取ろう
  • リリースビルド、current ビルドを手動実行する手段を作ろう
  • 版番号を自動採番しよう

ラズパイにSphinxをインストールする

社内文書の電子化2.0をラズパイで実現したい - sulsnow’s blogの続き。

用意したもの

Raspberry Pi にOSを仕込み、少々の初期設定

  1. Raspberry Pi Imagerでmicro SDカードをFAT32で初期化する
  2. Raspberry Pi Imagerでmicro SDカードにRaspberr Pi OS (32-bit)を書き込む(Ubuntu各種はラズパイが使用不能に追い込まれた)
  3. ラズパイを起動する。ホスト名はraspberrypi。ユーザー名はpi。パスワードは初回起動時に設定する
  4. Raspberry Piの設定を変える。解像度は1280x800。インターフェイスVNCを有効にする
  5. VNC Viewerでアクセスする。ホスト名でアクセスできないときがあるから、ifconfig |less で調べておく
  6. リポジトリを国内のミラーサイトに変更する。下記資料参照。sudo mousepad /etc/apt/source.list
  7. apt updateする
  8. sudo apt upgradeする
  9. sudo rebootする

Sphinxをインストールする

  1. python3をデフォルトにする。下記資料参照
  2. pip install -U Sphinxする。Sphinxがインストールされる

試行錯誤する

  • 1プロジェクト1文書なのか
  • フォルダ分けやMercurialとの連携はどう考えればいいんだ
  • HTTP公開はどう処置すればいいんだ
  • 分からないことばかりゆえ、MkDocsを試してみたくなった
$ sphinx-quickstart
Sphinx 3.2.1 クイックスタートユーティリティへようこそ。

以下の設定値を入力してください(Enter キーのみ押した場合、
かっこで囲まれた値をデフォルト値として受け入れます)。

選択されたルートパス: .

Sphinx 出力用のビルドディレクトリを配置する方法は2つあります。
ルートパス内にある "_build" ディレクトリを使うか、
ルートパス内に "source" と "build" ディレクトリを分ける方法です。
> ソースディレクトリとビルドディレクトリを分ける(y / n) [n]: y

プロジェクト名は、ビルドされたドキュメントのいくつかの場所にあります。
> プロジェクト名: testproject
> 著者名(複数可): author_name
> プロジェクトのリリース []: 1.0.0

ドキュメントを英語以外の言語で書く場合は、
 言語コードで言語を選択できます。Sphinx は生成したテキストをその言語に翻訳します。

サポートされているコードのリストについては、
https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-language を参照してください。
> プロジェクトの言語 [en]: ja

ファイル /home/pi/source/conf.py を作成しています。
ファイル /home/pi/source/index.rst を作成しています。
ファイル /home/pi/Makefile を作成しています。
ファイル /home/pi/make.bat を作成しています。

終了:初期ディレクトリ構造が作成されました。

マスターファイル /home/pi/source/index.rst を作成して
他のドキュメントソースファイルを作成します。次のように Makefile を使ってドキュメントを作成します。
 make builder
"builder" はサポートされているビルダーの 1 つです。 例: html, latex, または linkcheck。

資料

source.list

#deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
deb http://ftp.jaist.ac.jp/raspbian stretch main contrib non-free rpi
Raspberry Pi : リポジトリを国内のミラーサイトに変更する | R-Y-O の IT 備忘録 Ver.2.0

python3をデフォルトにする

$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives: /usr/bin/python (python) を提供するために自動モードで /usr/bin/python2.7 を使います
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2
update-alternatives: /usr/bin/python (python) を提供するために自動モードで /usr/bin/python3.7 を使います
Raspberry Pi の Python デフォルトバージョンを 2系 から 3系 に切り替える - Qiita 2019年12月20日に投稿

処置後は、

pi@raspberrypi:~ $ update-alternatives --list python
/usr/bin/python2.7
/usr/bin/python3.7
pi@raspberrypi:~ $ update-alternatives --config python
alternative python (/usr/bin/python を提供) には 2 個の選択肢があります。

  選択肢    パス              優先度  状態
------------------------------------------------------------
* 0            /usr/bin/python3.7   2         自動モード
  1            /usr/bin/python2.7   1         手動モード
  2            /usr/bin/python3.7   2         手動モード

現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: 

とほほのPython入門 - とほほのWWW入門

  • 元々は Pythonソースコードに記述された pydoc コメントを整形するツールとして開発されました。
  • 現在では Python ドキュメントに限らず、あらゆるドキュメント作成ツールとしても利用されています。
  • reStructuredText という軽量マークアップ言語を使用します。拡張子は *.rst です。
  • 単一HTML、複数HTML、LaTeX、PDF、プレインテキストなどの出力フォーマットをサポートします。
  • Python プログラムのマニュアル化は、*.py ファイルを *.rst に変換し、これをビルドします。
  • 本ページでは、2019年10月20日時点の最新版 Sphinx 2.2.0 をベースに説明します。
とほほのPython入門 - とほほのWWW入門

社内文書の電子化2.0をラズパイで実現したい

  • 社内文書がWordとExcelで作られている
  • 文書の関係性が分かりにくい
  • 社内文書がファイルサーバーのあちこちに配置されていて、整理されていない
  • 社内文書が作成を指示している文書が管理されていない

といったことで辛い。情報収集の結果、Sphinxシステムを試すことにした。課題は

といったところ。手元にRaspberry Pi 3 Model B+があったので、これをサーバーに仕込む。

  1. うちの会社の文書管理(その1) − SphinxとMercurialによる作成・版管理 - ファーエンドテクノロジー株式会社 2016.02.03
  2. うちの会社の文書管理(その2) − Raspberry PIを使用した社内ポータル - ファーエンドテクノロジー株式会社 2016.03.02
  3. Buy a Raspberry Pi 3 Model B+ – Raspberry Pi
  4. Sphinx-Users.jp — Python製ドキュメンテーションビルダー、Sphinxの日本ユーザ会
  5. Mercurial SCM
  6. 社内のマニュアルをSphinxで作ってみた Published on Nov 28, 2017
  7. 運用手順書の運用をカイゼンする - Excel方眼紙は卒業できるのか - - サーバーワークスエンジニアブログ 2018-03-06
  8. MkDocs
  9. MkDocsによるドキュメント作成 - Qiita
  10. Markdownでドキュメントが作れるMkDocsが便利過ぎる - Qiita
  11. Sphinxの使い方事例 Published on Oct 2, 2012
  12. O'Reilly Japan - Sphinxをはじめよう 第2版

いまさらFileMaker Server 11をmac 10.14で動かせないが、Windows 7 Professionalでは動く

FMS11 Windows要件

サポート断絶間近のWindows 7 Professional SP1。

  • Java実行環境としてJava SE 6
    • FMSディスクにUpdate 20がある
    • Oracleアカウントを取得すると、Update 45を得られる
    • Java SE 7以降では不具合情報あり
  • HTTPサーバーとしてInternet Information Services 5
  • Java実行のためInternet Explorer 9Java Web Startするらしい
    • IE11が入ってしまっても戻せる。戻した後は自動更新しないようにロックする
    • 最近のJavaではJava Web Startは廃止している。最近のブラウザーJava稼動を受け付けない
    • 旧バージョンFirefoxを取得できるが、Java Pluginを用意できない。IE9でFMS管理、最新のFirefoxで通常ウェブブラウズと使い分けたい

mac 10.14で無理だった話

mac java 6情報

Apple Javabrew Javaのバージョン情報。失敗した。コマンドがそろっていない。

$ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode)

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    1.6.0_65-b14-468, x86_64:	"Java SE 6"	/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-468, i386:	"Java SE 6"	/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Windowsからmac miniにVNCしたらキーマップがずたずた

ずたずた内容

  • Shift-2がアスタリスク(*)
  • アンダースコア(_)を入力できない
  • 小括弧開き(()を入力できない
  • 記号入力がずたずた
  • mac初回起動時設定のUSキーボード扱いが、アットマークとアンダースコアを入力できるから、まだまし
    • USキーボード扱い自体、良くない

VNC設定

生パスワードをやりとりする。インターネットを経由するなら、別途、SSHトンネリングしましょう。

mac側設定

IPv4アドレスを自称させておく。

  1. 環境設定>リモート
  2. 画面共有にチェック
  3. パスワード設定する

Windows側設定

RealVNC、TigerVNC、UltraVNCを試した。UltraVNCが親切UIなので使おう。

f:id:sulsnow:20191230164802p:plain
ultravnc

  1. 圧縮設定は自動選択
  2. 日本語キーボード選択
  3. 接続先IPv4アドレス
  4. Save as default
  5. Connect
  6. macで設定したVNCパスワードを入力
  7. macのログイン画面が表示される

その他

  • 画面応答がRDPに劣る
  • クリップボード共有できているため、ターミナルへのコピペ可能
  • ファイル転送を試していなかったなあ
  • 翌日、macを初期化して再設定すると、キーマップが正常化した

JPiere 5.1サーバー構築

リンク

CentOS 7 セットアップ

  1. CentOS 7 DVD ISOを入手する。CentOS-7-x86_64-DVD-1708.iso
  2. DVDにディスクイメージを書き込む。Windows なら isoburn が手軽
  3. DVDからPCにCentOS 7をインストールする
    • 日本語
    • GNOME デスクトップ
    • GNOME アプリケーション
    • 開発ツール
    • rootパスワード設定せず
    • ユーザーを管理者にする
    • KDump非設定
    • セキュリティポリシー非設定
  4. システムツール>ソフトウェアの更新
  5. システムツール>設定。電源。ブランクスクリーンオフ

JPiere 5.1 セットアップ

  • 各種ファイルを入手する
  • JDK8 セットアップ
$ java --version # OpenJDK のバージョン情報が表示される
$ cd ダウンロード
$ sudo yum install -y jdk-8u162-linux-x64.rpm
$ sudo http://www.task-notes.com/entry/20150530/1432954800
$ sudo alternatives --config java # Oracle JDK を選ぶ
$ java --version # Oracle JDK のバージョン情報が表示される
$ sudo yum install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-3.noarch.rpm
$ sudo yum install postgresql94 postgresql94-server
$ sudo /usr/pgsql-9.4/bin/postgresql94-setup initdb
$ sudo systemctl enable postgresql-9.4
$ sudo systemctl start postgresql-9.4
$ sudo passwd postgres # postgres ユーザーパスワード設定
$ sudo su 
# su - postgres 
$ cd /var/lib/pgsql/9.4
$ rm -rf data # データベース初期化
$ initdb --encoding=UTF8 --no-locale --pgdata=/var/lib/pgsql/9.4/data --auth=trust 
$ psql -U postgres -c "CREATE ROLE adempiere SUPERUSER LOGIN PASSWORD 'adempiere'" # データベースユーザー「adempiere」作成
$ exit
# exit
$ createdb --template=template0 -E UNICODE -O adempiere -U adempiere idempiere # データベース作成
$ psql -d idempiere -U adempiere -c "ALTER ROLE adempiere SET search_path TO adempiere, pg_catalog" 
$ cd ~/ダウンロード # データベースリストア
$ unzip ExpDat_20180101.zip 
$ psql -d idempiere -U adempiere -f ExpDat.dmp
$ sudo su
$ sudo gedit /etc/yum.repos.d/CentOS-Base.repo # PostgreSQL バージョン固定
$ # [base]と[updates]に"exclude=postgresql*"を追加
$ cd ~/ダウンロード
$ unzip idempiereServer.gtk.linux.x86_64.zip
$ sudo cp -r idempiere.gtk.linux.x86_64/idempiere-server/ /usr/local/etc/ 
$ cd /usr/local/etc/idempiere-server/
$ sudo sh ./setup.sh
# DB Already Exists にチェック
# Application Server と Database Server は localhost
# KeyStore Password は CentOS のユーザーパスワード
# DB Admin Password は CentOS の postgres ユーザーのパスワード
# Database Password は Database User と対応するパスワード。今回は adempiere
# 「テスト」して「保存」する
$ sudo sh ./idempiere-server.sh &

スクリーンショット

f:id:sulsnow:20180415152349p:plain