Alfresco Community Edition 7.0をインストールできた
環境
初期設定
- 画面1280x979
- ブランクスクリーン15分
- IPv4アドレス自称。DNSで困ったから適当にDNSサーバーを指定。デフォルトゲートウェイ指定を間違えたのかな
- LANG=C xdg-user-dirs-gtk-update
- システムアップデート。ソフトウェアアップデート
- ゲームソフト削除
- sudo apt update
- sudo apt upgrade
- sudo apt install gcc make perl
- VirtualBox Guest Additionsインストール
- sudo apt autoremove
Alfrescoセットアップ
- sudo apt install docker docker-compose docker.io
- docker-compose.yaml取得。置き場は ~/ でいい。https://www.alfresco.com/system/files_force/docker-compose-community_7_0.zip?download=1
- 参考資料に従ってyamlファイルを調整する。Alfresco ACSのdocker-composeでデータを永続化する - Alfresco ACSのdocker-composeでデータを永続化する - aegif Labo Blog Alfresco 2020/12/23
- sudo docker-compose up
- localhost:8080/share でAlfrescoにアクセスできる。管理者初期値はadmin/admin
# This docker-compose file will spin up an ACS cluster on a local host or on a server and it requires a minimum of 12GB Memory to distribute among containers. # Limit container memory and assign X percentage to JVM. There are couple of ways to allocate JVM Memory for ACS Containers # For example: 'JAVA_OPTS: "$JAVA_OPTS -XX:+PrintFlagsFinal -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap"' # See Oracle docs (https://docs.oracle.com/javase/9/gctuning/parallel-collector1.htm#JSGCT-GUID-CAB83393-3438-44ED-98F0-D15641B43C7D). # If the container memory is not explicitly set then the flags above will set the max heap default to 1/4 of the container's memory, which may not be ideal. # For performance tuning, assign the container memory and give a percentage of it to the JVM. # Using version 2 as 3 does not support resource constraint options (cpu_*, mem_* limits) for non swarm mode in Compose version: "2" services: alfresco: image: alfresco/alfresco-content-repository-community:7.0.0 mem_limit: 1500m environment: JAVA_TOOL_OPTIONS: " -Dencryption.keystore.type=JCEKS -Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding -Dencryption.keyAlgorithm=DESede -Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore -Dmetadata-keystore.password=mp6yc0UD9e -Dmetadata-keystore.aliases=metadata -Dmetadata-keystore.metadata.password=oKIWzVdEdA -Dmetadata-keystore.metadata.algorithm=DESede " JAVA_OPTS: " -Ddb.driver=org.postgresql.Driver -Ddb.username=alfresco -Ddb.password=alfresco -Ddb.url=jdbc:postgresql://postgres:5432/alfresco -Dsolr.host=solr6 -Dsolr.port=8983 -Dsolr.http.connection.timeout=1000 -Dsolr.secureComms=none -Dsolr.base.url=/solr -Dindex.subsystem.name=solr6 -Dshare.host=127.0.0.1 -Dshare.port=8080 -Dalfresco.host=localhost -Dalfresco.port=8080 -Daos.baseUrlOverwrite=http://localhost:8080/alfresco/aos -Dmessaging.broker.url=\"failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true\" -Ddeployment.method=DOCKER_COMPOSE -DlocalTransform.core-aio.url=http://transform-core-aio:8090/ -Dcsrf.filter.enabled=false -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80 " volumes: - acs-volume:/usr/local/tomcat/alf_data transform-core-aio: image: alfresco/alfresco-transform-core-aio:2.3.10 mem_limit: 1536m environment: JAVA_OPTS: " -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80" ports: - 8090:8090 share: image: alfresco/alfresco-share:7.0.0 mem_limit: 1g environment: REPO_HOST: "alfresco" REPO_PORT: "8080" JAVA_OPTS: " -XX:MinRAMPercentage=50 -XX:MaxRAMPercentage=80 -Dalfresco.host=localhost -Dalfresco.port=8080 -Dalfresco.context=alfresco -Dalfresco.protocol=http " postgres: image: postgres:13.1 mem_limit: 512m environment: - POSTGRES_PASSWORD=alfresco - POSTGRES_USER=alfresco - POSTGRES_DB=alfresco command: postgres -c max_connections=300 -c log_min_messages=LOG ports: - 5432:5432 volumes: - db-volume:/var/lib/postgresql/data solr6: image: alfresco/alfresco-search-services:2.0.1 mem_limit: 2g environment: #Solr needs to know how to register itself with Alfresco - SOLR_ALFRESCO_HOST=alfresco - SOLR_ALFRESCO_PORT=8080 #Alfresco needs to know how to call solr - SOLR_SOLR_HOST=solr6 - SOLR_SOLR_PORT=8983 #Create the default alfresco and archive cores - SOLR_CREATE_ALFRESCO_DEFAULTS=alfresco,archive #HTTP by default - ALFRESCO_SECURE_COMMS=none ports: - 8083:8983 #Browser port volumes: - ass-volume:/opt/alfresco-search-services/contentstore - ass-volume:/opt/alfresco-search-services/data activemq: image: alfresco/alfresco-activemq:5.16.1 mem_limit: 1g ports: - 8161:8161 # Web Console - 5672:5672 # AMQP - 61616:61616 # OpenWire - 61613:61613 # STOMP proxy: image: alfresco/alfresco-acs-nginx:3.1.1 mem_limit: 128m environment: DISABLE_PROMETHEUS: "true" DISABLE_SYNCSERVICE: "true" DISABLE_ADW: "true" depends_on: - alfresco ports: - 8080:8080 links: - alfresco - share volumes: acs-volume: db-volume: ass-volume:
感想
- スナップショットを適宜保存して、手順のやり直しに備えた
- VHD 12GBで始めたら、容量不測のためにdocker-compose upが中断してしまった。32GBへの途中増量はできたけれど、各ディレクトリーの容量再割り当てがわからんから、OSインストールからやり直した
- docker-compose upにsudo不要とするため、docker-composeするユーザーをdockerグループにするらしい。わからん
- マシン起動時にdocker-compose upしていてほしい。どうしたらいいんだ。わからん
- restart: alwaysは全セクションに付けるのか。わからん。docker-composeでOS起動時にコンテナを自動起動する方法 - Qiita eijensonが2017年05月24日に更新
- pptxは文字化けする(日本語が豆腐になる)らしいが、確認できなかった。7.0だからIPAフォント不要になったのか、ホストOSにLibreOfficeインストール済だからなのか
mac mini に docker をインストール
手順
教科書はdockerを使ってmacOSにGitlabを構築する - Qiita(2018年07月13日に更新)。
- Docker をダウンロードする。サインイン不要だった
- ダウンロードした Docker.dmg をマウントする
- ウインドウが出る。ドラッグアンドドロップ指示に従う
- launchpad に Docker が追加されている。選ぶ
- 権限が必要だってダイアログにOK
- 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 をバージョン管理システムに登録する
- バージョン管理システムはHTTPアクセス可能にして、各文書の source を、ブラウザーから編集できるようにする
- 1週に1回程度、source の変化を検査して、current ビルドを建ててしまう
- ビルドエラー、警告が発生したらメールを投げる
- current ビルドをHTTPアクセス可能にする
- リリースビルドは各版、参照できるように残しておく。また、HTTPアクセス可能にする
- リリースビルドでは、印刷用の PDF を出力しよう
- システムのバックアップをどこかに取ろう
- 文書のバックアップをどこかに取ろう
- リリースビルド、current ビルドを手動実行する手段を作ろう
- 版番号を自動採番しよう
ラズパイにSphinxをインストールする
社内文書の電子化2.0をラズパイで実現したい - sulsnow’s blogの続き。
用意したもの
- Raspberry Pi 3 Model B+
- 2.5Aくらい出せるAC-USBアダプター
- USB A-microB ケーブル
- HDMIケーブル
- microSDカード 32GB
- WiFi
- Raspberry Pi Imager
- VNC Viewer
- USB有線キーボード
Raspberry Pi にOSを仕込み、少々の初期設定
- Raspberry Pi Imagerでmicro SDカードをFAT32で初期化する
- Raspberry Pi Imagerでmicro SDカードにRaspberr Pi OS (32-bit)を書き込む(Ubuntu各種はラズパイが使用不能に追い込まれた)
- ラズパイを起動する。ホスト名はraspberrypi。ユーザー名はpi。パスワードは初回起動時に設定する
- Raspberry Piの設定を変える。解像度は1280x800。インターフェイスでVNCを有効にする
- VNC Viewerでアクセスする。ホスト名でアクセスできないときがあるから、ifconfig |less で調べておく
- リポジトリを国内のミラーサイトに変更する。下記資料参照。sudo mousepad /etc/apt/source.list
- apt updateする
- sudo apt upgradeする
- sudo rebootする
試行錯誤する
- 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 rpiRaspberry 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入門 - とほほのWWW入門
- 元々は Python のソースコードに記述された pydoc コメントを整形するツールとして開発されました。
- 現在では Python ドキュメントに限らず、あらゆるドキュメント作成ツールとしても利用されています。
- reStructuredText という軽量マークアップ言語を使用します。拡張子は *.rst です。
- 単一HTML、複数HTML、LaTeX、PDF、プレインテキストなどの出力フォーマットをサポートします。
- Python プログラムのマニュアル化は、*.py ファイルを *.rst に変換し、これをビルドします。
- 本ページでは、2019年10月20日時点の最新版 Sphinx 2.2.0 をベースに説明します。
社内文書の電子化2.0をラズパイで実現したい
- 社内文書がWordとExcelで作られている
- 文書の関係性が分かりにくい
- 社内文書がファイルサーバーのあちこちに配置されていて、整理されていない
- 社内文書が作成を指示している文書が管理されていない
といったことで辛い。情報収集の結果、Sphinxシステムを試すことにした。課題は
- 一元化
- 版管理
- マッピング
- 承認フロー
といったところ。手元にRaspberry Pi 3 Model B+があったので、これをサーバーに仕込む。
- うちの会社の文書管理(その1) − SphinxとMercurialによる作成・版管理 - ファーエンドテクノロジー株式会社 2016.02.03
- うちの会社の文書管理(その2) − Raspberry PIを使用した社内ポータル - ファーエンドテクノロジー株式会社 2016.03.02
- Buy a Raspberry Pi 3 Model B+ – Raspberry Pi
- Sphinx-Users.jp — Python製ドキュメンテーションビルダー、Sphinxの日本ユーザ会
- Mercurial SCM
- 社内のマニュアルをSphinxで作ってみた Published on Nov 28, 2017
- 運用手順書の運用をカイゼンする - Excel方眼紙は卒業できるのか - - サーバーワークスエンジニアブログ 2018-03-06
- MkDocs
- MkDocsによるドキュメント作成 - Qiita
- Markdownでドキュメントが作れるMkDocsが便利過ぎる - Qiita
- Sphinxの使い方事例 Published on Oct 2, 2012
- O'Reilly Japan - Sphinxをはじめよう 第2版
いまさらFileMaker Server 11をmac 10.14で動かせないが、Windows 7 Professionalでは動く
FMS11 Windows要件
サポート断絶間近のWindows 7 Professional SP1。
- Java実行環境としてJava SE 6
- HTTPサーバーとしてInternet Information Services 5
- Java実行のためInternet Explorer 9。Java Web Startするらしい
mac 10.14で無理だった話
- 本来はmac 10.6が必要。10.8が限界らしい
- 予めapache2インストールが必要らしい。TomcatとPHPはfms11と同時に設定される模様
- Java SE 6: Java for OS X 2017-001。64ビット版しか入らないのかな
- brew cask install java6: Homebrewでjava6をインストールする方法 - Qiita 2019年06月04日。x86_64とi386の2種
- FileMakerネットワークが働く。サンプルデータベースにアクセス可能
- FileMaker Pro Advancedでfp7をアップロードできそうに思える
- Firefox 52と10を用意したけれど、Java Pluginを準備できなかった
- Admin Consoleを使えないため、あらゆる設定を変更できない
- FileMaker 11.0v5インストーラーがリンク切れ
- FileMaker 11.0v5アップデーターを試していない
mac java 6情報
Apple Javaとbrew 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