atom-bootstrap4の起動時エラー

環境

atom-bootstrap1.4.0
(プラグイン単体の問題なので以下は参考程度に)
ATOM1.31.2
CentOS Linux release 7.5.1804 (Core)
その他プラグインはデフォルトで入っていたもの、atom-html-preview0.2.5/japanese-menu1.14.0

症状

起動時エラー。オートコンプリートは大体效く模様。
そもそも今回が使いはじめなので何かの機能が死んでいても気付かない。メッセージからすると本来なら使えるボタングループの補完とかが死んでいるとおもわれる。気持ち悪いので直す。

(メッセージ)

Failed to load snippets from '/home/yoshitake/.atom/packages/atom-bootstrap4/snippets/components-button_group.cson'
/home/yoshitake/.atom/packages/atom-bootstrap4/snippets/components-button_group.cson: Duplicate key 'Button group - Bootstrap 4'
Failed to load snippets from '/home/yoshitake/.atom/packages/atom-bootstrap4/snippets/components-cards.cson'
/home/yoshitake/.atom/packages/atom-bootstrap4/snippets/components-cards.cson: Duplicate key 'Cards groups - Bootstrap 4
/home/yoshitake/.atom/packages/atom-bootstrap4/snippets/components-modals.cson
/home/yoshitake/.atom/packages/atom-bootstrap4/snippets/components-modals.cson: Duplicate key 'Modal content based- Bootstrap 4
Failed to load snippets from '/home/yoshitake/.atom/packages/atom-bootstrap4/snippets/components-pagination.cson
/home/yoshitake/.atom/packages/atom-bootstrap4/snippets/components-pagination.cson: Duplicate key 'Pagination - Bootstrap 4
Failed to load snippets from '/home/yoshitake/.atom/packages/atom-bootstrap4/snippets/components-progress.cson
/home/yoshitake/.atom/packages/atom-bootstrap4/snippets/components-progress.cson: Duplicate key 'Progress - Bootstrap 4

対処

こちらをみると設定ファイルを手修正すればOK。
起動時のエラーは解消したので様子見。
細かい所でリンク先の修正前の赤字ヶ所は誤字と思われる。

~\.atom\packages\atom-bootstrap4\snippets\components-button_group.cson
line 63
'Button group - Bootstrap 4' => 'Button group vertical - Bootstrap 4'

~\.atom\packages\atom-bootstrap4\snippets\components-pagination.cson
line 58
'Pagination - Bootstrap 4' => 'Pagination small - Bootstrap 4'

~\.atom\packages\atom-bootstrap4\snippets\components-cards.cson
line 348 ~ 359 deleted

~\.atom\packages\atom-bootstrap4\snippets\components-modals.cson
line 132
'Modal content based - Bootstrap 4' => 'Modal button - Bootstrap 4'

~\.atom\packages\atom-bootstrap4\snippets\components-progress.cson
line 22
'Progress - Bootstrap 4' => 'Progress striped animate - Bootstrap 4'

jsonでいうキー部分(csonもキーでOK?)が重複していて死んでいた模様。
試験する気はないけど多分csonのprefixの補完が聞いていなかったはず。

(他の修正も含めた)PRあるのでほっておいてもそのうち直ると思う。(しばらく放置されているっぽいのでそのままかも)

CentOS7にatomを(localinstallで)yumインストール

手元の作業マシンにatomを入れたので手順メモ。

[yoshitake@localhost tmp]$ cat /etc/redhat-release 
CentOS Linux release 7.5.1804 (Core)

公式サイトのrpmからダウンロード

任意のディレクトリに配置してyumのlocalinstall実施

sudo yum localinstall atom.x86_64.rpm

 

ちなみに普通にrpmコマンドで入れようとすると依存関係ぺちぺちしないといけないので面倒

[yoshitake@localhost tmp]$ rpm -ivh atom.x86_64.rpm 
エラー: 依存性の欠如:
	lsb-core-noarch は atom-1.31.2-0.1.x86_64 に必要とされています
	libXss.so.1()(64bit) は atom-1.31.2-0.1.x86_64 に必要とされています

起動はターミナルから

[yoshitake@localhost tmp]$ atom

あとは日本語化やスペルチェックの停止やらしてお好みで

(一応インストールログ)

[yoshitake@localhost tmp]$ sudo yum localinstall atom.x86_64.rpm
読み込んだプラグイン:fastestmirror, langpacks
atom.x86_64.rpm を調べています: atom-1.31.2-0.1.x86_64
atom.x86_64.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ atom.x86_64 0:1.31.2-0.1 を インストール
--> 依存性の処理をしています: lsb-core-noarch のパッケージ: atom-1.31.2-0.1.x86_64
Loading mirror speeds from cached hostfile
* base: mirrors.cat.net
* extras: mirrors.cat.net
* updates: mirrors.cat.net
--> 依存性の処理をしています: libXss.so.1()(64bit) のパッケージ: atom-1.31.2-0.1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libXScrnSaver.x86_64 0:1.2.2-6.1.el7 を インストール
---> パッケージ redhat-lsb-core.x86_64 0:4.1-27.el7.centos.1 を インストール
--> 依存性の処理をしています: redhat-lsb-submod-security(x86-64) = 4.1-27.el7.centos.1 のパッケージ: redhat-lsb-core-4.1-27.el7.centos.1.x86_64
--> 依存性の処理をしています: spax のパッケージ: redhat-lsb-core-4.1-27.el7.centos.1.x86_64
--> 依存性の処理をしています: /usr/bin/m4 のパッケージ: redhat-lsb-core-4.1-27.el7.centos.1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ m4.x86_64 0:1.4.16-10.el7 を インストール
---> パッケージ redhat-lsb-submod-security.x86_64 0:4.1-27.el7.centos.1 を インストール
---> パッケージ spax.x86_64 0:1.5.2-13.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
Package アーキテクチャー
バージョン リポジトリー 容量
================================================================================
インストール中:
atom x86_64 1.31.2-0.1 /atom.x86_64 772 M
依存性関連でのインストールをします:
libXScrnSaver x86_64 1.2.2-6.1.el7 base 24 k
m4 x86_64 1.4.16-10.el7 base 256 k
redhat-lsb-core x86_64 4.1-27.el7.centos.1 base 38 k
redhat-lsb-submod-security x86_64 4.1-27.el7.centos.1 base 15 k
spax x86_64 1.5.2-13.el7 base 260 k

トランザクションの要約
================================================================================
インストール 1 パッケージ (+5 個の依存関係のパッケージ)

合計容量: 773 M
総ダウンロード容量: 592 k
インストール容量: 774 M
Is this ok [y/d/N]: y
Downloading packages:
(1/5): libXScrnSaver-1.2.2-6.1.el7.x86_64.rpm | 24 kB 00:00
(2/5): redhat-lsb-core-4.1-27.el7.centos.1.x86_64.rpm | 38 kB 00:00
(3/5): m4-1.4.16-10.el7.x86_64.rpm | 256 kB 00:00
(4/5): redhat-lsb-submod-security-4.1-27.el7.centos.1.x86_ | 15 kB 00:00
(5/5): spax-1.5.2-13.el7.x86_64.rpm | 260 kB 00:00
--------------------------------------------------------------------------------
合計 1.4 MB/s | 592 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : m4-1.4.16-10.el7.x86_64 1/6
インストール中 : spax-1.5.2-13.el7.x86_64 2/6
インストール中 : libXScrnSaver-1.2.2-6.1.el7.x86_64 3/6
インストール中 : redhat-lsb-submod-security-4.1-27.el7.centos. 4/6
インストール中 : redhat-lsb-core-4.1-27.el7.centos.1.x86_64 5/6
インストール中 : atom-1.31.2-0.1.x86_64 6/6
検証中 : atom-1.31.2-0.1.x86_64 1/6
検証中 : redhat-lsb-submod-security-4.1-27.el7.centos. 2/6
検証中 : libXScrnSaver-1.2.2-6.1.el7.x86_64 3/6
検証中 : spax-1.5.2-13.el7.x86_64 4/6
検証中 : redhat-lsb-core-4.1-27.el7.centos.1.x86_64 5/6
検証中 : m4-1.4.16-10.el7.x86_64 6/6

インストール:
atom.x86_64 0:1.31.2-0.1

依存性関連をインストールしました:
libXScrnSaver.x86_64 0:1.2.2-6.1.el7
m4.x86_64 0:1.4.16-10.el7
redhat-lsb-core.x86_64 0:4.1-27.el7.centos.1
redhat-lsb-submod-security.x86_64 0:4.1-27.el7.centos.1
spax.x86_64 0:1.5.2-13.el7

完了しました!

リファラースパムかな?

sslbee.com

アナリティクスをみているとsslbee.com / referralというアクセスがそこそこ。

ドイツ語なので自動翻訳かけてみたけどSSL屋らしい。

アクセスあるような覚えもないので、口コミ(?)は検索にかからないけどリファラースパムなのかな?

.woocommerce-product-gallery {不透明度:1!重要; }
コンテンツにスキップする
SSLBEE
SSLBEE

私たちの証明書
ショップ
SSLBEEについて

0

魅力的な条件での高品質なSSL証明書

SSLBEEは10年以上にわたりCOMODOのプラチナパートナーでした。 高品質の暗号化ソリューションは、企業にとって好都合な条件の下で、SSLBEEによるWebサイトのセキュリティ強化を実現します。 SSLBEEに参加してあなたのウェブサイトを保護してください。

毎日50,000以上の新しいウイルス、ワーム、トロイの木馬がWebをサーフィンしています! これらの脅威は、数百万人のWebユーザーに直接影響を及ぼし、インターネットの信頼に干渉します。 すべての個人およびインターネットを使用するすべての企業は、その信頼を回復するのに役立つ必要があります。 これをサポートするには、すべてのWebサイトオペレータをSSLに設定することをお勧めします。
SSLを宣言しましょう
SSLはどのように機能しますか
SSL証明書は、暗号鍵を組織の詳細にバインドするデータファイルです。 SSL / TLS証明書をWebサーバーにインストールすると、Webサーバーとそれに接続されているブラウザー間の安全な接続が可能になります。
ビデオ
遊びます
グローバルに信頼できる証明書を安価に注文する
必要な証明書を注文する!
正のSSL証明書
€ 99
年間

SSLBEEの個々の証明書により、最も簡単で高速な暗号化が可能です。

最も費用対効果の高いSSL証明書を使用してwwwの有無にかかわらずsslbee.comのようなFQDNを確保してください。
今すぐ注文する
正のSSLワイルドカード証明書
€ 179
年間

無制限のFQDNは、SSLBEEワイルドカード証明書のおかげで暗号化されます。

✔証明書の数に制限はありません

✔FQDNの無制限サブドメインを保護する

✔さらなるFQDNとワイルドカード証明書を使用していつでも拡張できます

高品質なアルゴリズムにより、データ接続を保護します。
今すぐ注文する
正のSSLマルチドメイン証明書
250ユーロ
年間
1つの証明書で複数のドメインを費用対効果の高い方法で暗号化します。

✔1つのワイルドカード証明書は、1つの証明書に最大250のFQDNを結合します

✔任意の数の証明書で使用する

✔すべてのブラウザーとサーバーに対応

✔shop.sslbee.com、www.sslbee.com、mail.sslbee.comのような3つのFQDNが含まれています)
今すぐ注文する
注文プロセス
SSL証明書を取得するための6つの簡単な手順
1 2 3 4 5 6
SSLBEE.COMで正しい証明書を探し、世界中で最も信頼できるSSLプロバイダを選択してください。
用語を選択し、証明書を注文します。
サーバー上にCSRファイルを生成し、アプリケーションリンク経由で挿入します。 検証方法を選択して確認します。
証明書を受け取り、サーバーにインストールします。
安全なウェブサイトでお客様の信頼を強化してください。
すべてのケースのバックアップを作成する
あなたが私たちに期待できること
アイコン
ライブチャット
ライブチャットを通じていつでもお問い合わせください。
アイコン
エクスプレス展
当社のSSL証明書は、数分で注文、検証、インストールが可能です。 SSLBEEで5分で証明書を取得する
画像
アイコン
無料再発行
サーバーの変更のために別の証明書が必要ですか? 期間中、証明書を交換します。
アイコン
自動アラーム
証明書の管理には時間がかかりますか? SSLBEEは、証明書が期限切れになるまで少なくとも3ヶ月前に通知し、証明書の期限が切れることはありません。
4
異なる製品
40000 0
発行された証明書
5000 0
満足した顧客
10000 0
暗号化ウェブサイト
リカルド・ラング
IT部長
SSLBEEは、証明書付きの使いやすいWebサイトを提供しています。 SSLBEEでは、私は最終的に私のSSL証明書に適したプロバイダを見つけました。

ジョシュアマイヤー
ITセキュリティマネージャ
SSLBEEの取引は私に確信しました。 合理的な価格で安全で信頼できる証明書 - TOP!

ホルガー・ラング
常務
新しいDSGVOのため、当社は新しいSSL証明書を使用することに決めました。 適切なプロバイダの検索では、SSLBEEを認識しました。 シンプルなプロセス、簡単な支払い、もっと何をしたいですか?

リカルド・ラング
IT部長
SSLBEEは、証明書付きの使いやすいWebサイトを提供しています。 SSLBEEでは、私は最終的に私のSSL証明書に適したプロバイダを見つけました。

ジョシュアマイヤー
ITセキュリティマネージャ
SSLBEEの取引は私に確信しました。 合理的な価格で安全で信頼できる証明書 - TOP!

画像
オファーを見逃しませんか? 今すぐ登録してクーポンコードを取得してください!

sslbee.comで15%割引を利用してください。
SSLBEE - 世界的に認められた
企業向けデジタルセキュリティソリューション

SSLBEEは10年以上にわたりCOMODOのプラチナパートナーでした。 高品質の暗号化ソリューションは、企業にとって好都合な条件の下で、SSLBEEによるWebサイトのセキュリティ強化を実現します。
役に立つリンク

SSLBEEについて
SSL証明書を注文する
ニュース
接触
条件
プライバシーポリシー
取り消し

お問い合わせ
+41 41 514 31 33
info@sslbee.com
メッセージを送信する

私たちをフォローする

©2018 a Secorio AGの一部 。 すべての権利を保有。
お問い合わせ
 

awscliを使えるJenkinsの(Docker)agent

Jenkinsのpipelineからawscliを使えるエージェントを呼び出して使おうと思ったら結構てまどったのでそのメモ。

環境

その時の最新

CentOS Linux release 7.5.1804 (Core) DockerのHostマシン
Jenkins 2.138.1
Pipeline 2.5
Pipeline: SCM Step 2.6
Git plugin 3.9.1
docker-machine version 0.11.0, build 5b27455
DOCKER v18.06.1-ce

awscliの入ったイメージ

こちら
dockerfileにあるユーザ名は任意で良いけれども、uid/gidはDockerのユーザが基本的に1000なので1000にあわせておかないとややこしい。

Jenkinsfile

pipeline {
	agent none
    
	stages{
		stage('コピーフェーズ') {
			agent {
				docker {
			  		image 'kyoshitake/awscli'
             		args '-v /path/to/.awsconfの親:/home/ciuser:rw -e HOME=/home/ciuser'
             	}
			}
			
			steps {
				sh 'echo コピーフェーズ'
				sh 'aws s3 ls lwo > /home/ciuser/hoge.txt'
				sh 'echo 試験でls'
			}
		}
    }
}

agentに作ったイメージを指定。

hostにawsの認証ファイルを配置しておき、認証情報ファイルのあるディレクトリ(.aws)の親ディレクトリをマウント(/home/hoge/.awsとあるとすると/home/hogeをマウント)。なお、環境変数等で指定してもOKのはずだが試してはいない。

ハマリポイントとしてjenkinsのagentとして動かす場合は明示的にホームディレクトリを(環境変数で)指定しないと”/”がホームディレクトリになった。
明示的にホームを指定するのでawscliのイメージで指定したユーザの/home/ciuserに拘らず任意の名前でOKのはず。(なのでawscliのユーザ名と一致させる必要もないはず。)

Jenkins

Docker-compose

version: '3'
services:
jenkins:
build: ./jenkins
restart: always
container_name: jenkins
environment:
VIRTUAL_HOST: hoge.huga.co.jp
VIRTUAL_PORT: 8080
LETSENCRYPT_HOST: hoge.huga.co.jp
LETSENCRYPT_EMAIL: kitamura@epea.co.jp
volumes:
- jenkins_data:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /etc/localtime:/etc/localtime:ro
- /ci:/ci:ro
networks:
- default
- proxy_default

data:
image: busybox
volumes:
- jenkins_data:/var/jenkins_home

volumes:
jenkins_data:

volumesにある/var/run/docker.sock:/var/run/docker.sockでJenkinsイメージのhostにあるDockerを使用。
/ci:/ci:roはjenkinsが読み込みたいファイル類の置き場(このブログだと関係ないはず)

dockerhubにあるnginx-proxyとletsencrypt-nginx-proxy-companionでssl化していてnetworksにあるproxy_defaultはそちらのネットワーク。

取消線入れてあるところは、多分無くても動くはずの今回のブログでは必須では無い物。(だが、自分の環境ではそれでやっていて最低限の設定は確認していないのでのせておく。)

Dockerfile

FROM jenkins/jenkins:lts
USER root
RUN apt-get update && apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
RUN apt-key fingerprint 0EBFCD88
RUN add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"
RUN apt-get update && apt-get install -y docker-ce

ARG DOCKER_GID=991
RUN groupmod -g ${DOCKER_GID} docker && adduser jenkins docker

RUN mkdir -p /ci

USER jenkins

公式のJenkinsイメージにdockerをインストールしたもの。

gidはhostのJenkinsユーザに合わせたもの。多分docker-machineでいれたら991になっていると思うが、各自で要確認。

 

 

取得してしばらくしたドメインがDNS_PROBE_FINISHED_NXDOMAIN

TwitterにWordpressのサイトを立ち上げて少し立ったサイトがDNS_PROBE_FINISHED_NXDOMAINでつながらないという事象で困っているクライマーがいました。

ブログのネタついでに切り分けしたので、切り分け方法と解消方法をメモしときます。

DNS_PROBE_FINISHED_NXDOMAINとは

インターネットのアドレスのドメイン部分(https://www.rocher.kyoto.jp/arbr/〜のwww.rocher.kyoto.jp部分)はどのサーバ(インターネットの向うの機械)かを表していて、管理は数字(ipアドレス)メインで行われています。

で、ざくっと雰囲気で説明すると、ドメインの文字が実際にはどの数字かを教えてくれるシステムがあってそれをDNSといいます。そのDNSにドメインのIPを教えてと自分の端末(PC/スマホetc)からサーバに接続しようと自動で質問したけどその答えが得られないときに発生するのがDNS_PROBE_FINISHED_NXDOMAINというエラーです。

結構あたる解決策

ドメインをお名前comなりムームードメインなりで取得したと思いますが、期限内にメールアドレスの認証をきちんとしていないとそのドメインのDNS機能を停止させられます。

ドメインを取得してしばらく経った後に、使えていたドメインが止まってしまったら認証漏れの可能性が高いです。

「【重要】~ ドメイン 情報認証のお願い」みたいなメールが来ていると思うのでそいつに従って手続きをしたら、通常数10分ほどで復活します。

切り分け

きちんと調べてから治したい人向けの切り分けです。(そもそもお名前comなりの管理画面にログインしたら分かり易い警告でているかもしれません。)

自分の端末の問題かつなげているDNSがおかしいかの切り分けが必要です。

確実ではないですが、自分の端末がおかしいか確かめるために違うwifiの友達なりにおかしいURLを送って、同じブラウザで同じエラーが出るか確かめてもらうのが手軽です。

同じエラーが出なかったら自分の端末側の問題が大きいですが、ここでは取り扱いません。(ほかを再度ぐぐってください)

で、他の人もおかしかったらDNS側の問題の可能性が高いです。
whoisというコマンドで調べられます(オンラインだとこことかですが、管理アドレスによってどこで調べ直せと管理先URLを教えられてもう一度調べ直しになります。

で、そこで「Domain Status」という処がclientHoldというものになっていたらメールアドレスの認証エラーです。

clientHoldの理由には認証のメールに返信していなかった以外にも、登録した個人情報が怪しまれた場合もありますがそちらはレアケースなのでそうなってしまったら、サポートに連絡するしか無いと思います。

追記

ピンバックはできるだけ対応するので、参考になったらリンクはっていただけるとありがたいです

Rasberry PIで電子工作

しばらく放置していますが、玄関ブザーにメール通知機能を付けたりしようと思いRasberry PIで電子工作をはじめました。

まだ、全然進んでいませんがハマリポイントをメモしときます。

ジャンパーワイヤー

始に、GPIOと繋げるジャンパーワイヤーがオス-メスなので都会に住んでいないと近場の店では売っていないことが多いです。これは素直にネットで買うと良いと思います。

 

きちんと、電気が通っているかの確認でテスターとかもあった方が良いと思いますが、壊れたおもちゃからはがしてきたモーターとかで最初は十分代用が效くと思います。
オモチャに付いていたLEDで代用しようとすると電流が多すぎたりで結構壊れることが多いです。どうしてもそれしかないという時は、直列にLEDつなげて、様子をみながら少しずつ減らしていけばなんとかなるかと。

pyenv

とりあえずpythonの資料が多いからpyenv入れとこうかと気軽にインストールしたくなります。ただし、マシンパワーが非力なのでインストールに時間がかかります。一晩以上はかかるので時間ある時にインストールしておくのがよいです。

pythonのバージョン

ライブラリ類は結構バージョン違いで動かないです。ネットからinputを受け取らない箇所はまずは素直にサンプルのバージョンで作った方が幸せになれる気がします。

開発マシン

Rasberry PIで直接開発をするとスペックが低いので色々辛いです。電源on/offに直結する以外の機能は別マシンで試してからRasberry PIに載せた方がいいかもしれません。

DockerHubでの自動ビルドが複数回走ってしまう(未解決)

理由)
BitBucketのレポジトリへのpushをトリガーにDockerHubでイメージを自動ビルドする際に、Bitbucketで各Dockerfileで個別にレポジトリを持ちたくなかった。

結果)
ビルドが複数回走ってうまくいかない

内容)
一つのBitbucket側のレポジトリに複数のDockerfileをディレクトリを分て管理。そして、Bitbhcket側でDockerfileのあるパスを指定しビルドをする形態をとりたかった。現時点では、イメージできはするけど一回のpushでビルドが複数回走ってしまう。

Bitbucket側はこんな感じ
https://bitbucket.org/YoshitakeKitamura/dockerfiles/src/master/

DockerhubではレポジトリとDockerfileのパスを指定

git add --all
git commit -m test
git push

で複数ビルドが走っている。

ビルド回数は1+dockerfileの数回?(mavenというdockerfileのディレクトリとawscliというものがある)

 

これからシンプルに1イメージ1レポジトリを試してみるけど、これだとやっぱり発生するかも
1イメージ1レポジトリは動いた。

SiteGuard WP Pluginのログイン画面変更でエラー

先日移行してきたwordpressのサイトにもともとは言っていたSiteGuard WP Plugin(サイトガード WP プラグイン)のログイン画面を変更しようとしたがうまく動作しなかったのでその対処メモ

事象は新しく指定されたログインページを見ようとしても404エラーになるというもの。

 

 

元々以下のような設定が.htaccessにあったけれども

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

SiteGuardでログイン画面を変更しようとしたところ以下のものが既存の設定の下に追記された。

#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^wp-signup\.php 404-siteguard [L]
RewriteRule ^wp-activate\.php 404-siteguard [L]
RewriteRule ^login_nnnnn(.*)$ wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END

 

まとめるとこんな感じ

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^wp-signup\.php 404-siteguard [L]
RewriteRule ^wp-activate\.php 404-siteguard [L]
RewriteRule ^login_nnnnn(.*)$ wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END

青字/斜体のファイルとディレクトリがなければindex.phpに飛せという指定が先に来てしまい、新たに指定されたURLがlogin_nnnnnならば〜という処理まで到達していない。

#==== SITEGUARD_RENAME_LOGIN_SETTINGS_START
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^wp-signup\.php 404-siteguard [L]
RewriteRule ^wp-activate\.php 404-siteguard [L]
RewriteRule ^login_nnnnn(.*)$ wp-login.php$1 [L]
</IfModule>
#==== SITEGUARD_RENAME_LOGIN_SETTINGS_END
#SITEGUARD_PLUGIN_SETTINGS_END

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

上下を入れ替えたら取り敢えず動作させたけどプラグインの正しい想定は不明。
一緒に以下のタグも自動生成されたいたからこの間に青字のWordPressでよく見る設定を入れておくのが想定なのかな?

# BEGIN WordPress
# END WordPress

osclassをリバースプロキシでSSL化した環境で動かす

先日、クライマーがセッション仲間募集する用のマッチングサイトをつくろうと思いOsclassをdockerでインストールした。で、SSL化をletsencrypt-nginx-proxy-companionでしたのだけど、そのままだとOsclassが生成するリンク先がhttpになってしまいCSSやらがうまくよ見込めなかったのでその対処メモ。

 

基本は以下のものを使用。

https://hub.docker.com/r/bitnami/osclass/

GitHubにもあるのでクローンした方が楽。

https://github.com/bitnami/bitnami-docker-osclass

version: '2'
services:
mariadb:
image: 'bitnami/mariadb:latest'
environment:
- MARIADB_USER=bn_osclass
- MARIADB_DATABASE=bitnami_osclass
- ALLOW_EMPTY_PASSWORD=yes
volumes:
- 'mariadb_data:/bitnami'
networks:
- default

osclass:
image: 'bitnami/osclass:latest'
environment:
- MARIADB_HOST=mariadb
- MARIADB_PORT_NUMBER=3306
- OSCLASS_HOST=boltomo.bouldering-climbing.kyoto
- OSCLASS_DATABASE_USER=bn_osclass
- OSCLASS_DATABASE_NAME=bitnami_osclass
- OSCLASS_USERNAME=huga
- OSCLASS_PASSWORD=hoge
- ALLOW_EMPTY_PASSWORD=yes
- VIRTUAL_HOST=boltomo.bouldering-climbing.kyoto
- LETSENCRYPT_HOST=boltomo.bouldering-climbing.kyoto
- LETSENCRYPT_EMAIL=hoge@fuga.com
labels:
kompose.service.type: nodeport
ports:
- '80' #443は削除
depends_on:
- mariadb
volumes:
- 'osclass_data:/bitnami'
networks:
- default
- mydcproxy_default

volumes:
mariadb_data:
driver: local
osclass_data:
driver: local



networks:
mydcproxy_default:
external: true

 

VIRTUAL_HOST=boltomo.bouldering-climbing.kyoto – LETSENCRYPT_HOST=boltomo.bouldering-climbing.kyoto – LETSENCRYPT_EMAIL=hoge@fuga.com

letsencrypt-nginx-proxy-companion用の設定。

リバースプロキシはいろいろな所から呼ばれるので別のdocker-composeになっていてそのネットワーク名がmydcproxy_defaultとしているので外部ネットワークとして
networks: – default – mydcproxy_defaultとかnetworks: mydcproxy_default: external: trueとかを指定している。

(参考)
http://tech.quartetcom.co.jp/2017/04/11/multiple-ssl-apps-on-one-docker-host/

 

青字の- OSCLASS_USERNAME=huga – OSCLASS_PASSWORD=hoge は実際には設定していないけどコピペしてデフォルトID/Passで走らせることがないようにhttps://hub.docker.com/r/bitnami/osclass/みて追記。(動かしていないのでコケるかもしれない)

で、本題のそのまま動かすとOsclassの動くコンテナはリバースプロキシの後ろでhttpで動いており、生成されるリンク先がhttpになってしまう。

一応、以下のように設定ファイルを直接変更して動いた。

docker exec -it boltomo_osclass_1 /bin/bash

cd /opt/bitnami/osclass/
sed -e ‘s/http/https/g’ config.php

define(‘WEB_PATH’, ‘https://boltomo.bouldering-climbing.kyoto/’);

 

dockerfile作って自動化した方がいいけど、Osclassの使い勝手が要件に対して微妙だったのでこれ以上の作業はせずに修了。

X-Forwarded-Protoとかは試していないけどもっとおしゃれな解決法はあるかもしれない。

OSMCのインストールでちょっと手間取った

CentOS7で公式のOSMCサイトからyumレポジトリを取得しOSMCをインストール

インストーラー起動しようとしたら、なんか立ち上がらない

sudo view /var/log/messages

Jun 28 19:52:37 localhost osmcinstaller.desktop: sudo: 端末 (tty) が存在せず、パ
スワードを尋ねる (askpass) プログラムが指定されていません

普段遣いのユーザはパスワードなしsudoで運用しているのでだめっぽい。
パスワードなしで対処している例が多いけど、気持ち悪いのでsudoでインストーラーを起動。

sudo /usr/bin/osmcinstaller

ぺちぺち、画面に従ってUSBにインストールしようとしたけど、unmountできないとか言われてエラー終了しイメージができなかった。
普段遣いのユーザのGUIでている状態でUSBさしているので、権限があかんぽい。
通常のユーザでumountしたのちsudoでmountしたらOKだった。