前回の記事で、MacにMastodonのwebクライアント、「Naumanni(ナウマン)」をインストールした手順を書いたが、結論からいうと、前のやり方では不十分である。
Chromeでhttp://localhostが通らないとか、Safariでhttp://localhost:8080が通らないとか、あげくの果ては、「mstdn.jp」にアクセスできないとか。
どうしてこんなことになるのかよく考えてみると、「Naumanni」はMacの中にwebサーバーを立ち上げ、その「8080」ポートを通して、インスタンスに接続して使うものである。
ということは、Mac内部にwebサーバーが立ち上がっていないということではないか?
そう言われてみれば、今のMacにはweb共有がなくなってる。
つまり、webサーバーをインストールしなくてはいけないということである。
後、Dockerは一種の仮想環境を提供するものである。
ということは、Mac内にバーチャル・マシンがあるはずである。
試しに、ターミナルで「docker-machine ls」のコマンドを打ってみるとエラーになる。
つまり、仮想マシンがないのである。これでは、「Naumanni」もうまく動くはずがない。
ググってみると、今のバージョンの「Docker for Mac」では、バージョンマシンの作成は「Docker Toolbox」を使って行うとのこと。
というわけで、ようやく「Naumanni」をインストールする手順がわかった。
- Docker for Macをインストールする
- Docker Toolboxをインストールする
nginx(webサーバー)をインストールする(【追記:2017/07/03】開発者のshnさんの指摘で、nginxは不要だとのこと)- Naumanniをインストールする
以下、この手順で、説明していきたいと思う。
1. Docker for Macをインストールする
これは、前の記事で説明したので、割愛する。
2. Docker Toolboxをインストールする
ここで躓いてしまった。
MacOSの最新版、macOS Sierraでは、pkgファイルからはインストールできないのである。
いろいろ調べてみると、コマンドラインでインストールする方法があった。
macOS SierraでDockerを再インストールしたときに発生した問題
どうやら「Node.js」をインストールしないといけないようである。
ここを乗り越えないと先へいけないので、頑張って取り組むことにする。
参考にした記事は、以下の通り。
ここにある通り、Homebrew→Nodebrew→Node.jsの順にインストールしていく。
まずは、Homebrewのインストール。これから後の作業は、全てターミナルから、コマンドラインで行う。
$ /usr/bin/ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install
僕の記憶が正しければ、この時同時に「Xcode Command Line Tools」がインストールされるはずである(ちょっと不明)。
次は、nodebrewのインストールである。
$ brew install nodebrew
インストールできたら、バージョンを確認。
$ nodebrew -v
以下のように、ずらずらっと表示されたらOK。
次は、いよいよnode.jsのインストールである。
最新版をインストールしたいので、下記のように打つ。
$ nodebrew install-binary latest
バージョンを確認すると、下記のように最新版になっていた。
$ nodebrew list v8.1.2 current: v8.1.2
以下のサイトも参考にしてほしい。
Node.jsをMacにインストールしてnpmを使えるようにする
【おまけ】
これで、npmが使えるようになったんで、yarnもインストールしておいた(Naumanniとの依存解消のため)
$ brew update
$ brew install yarn
これで、ようやく「Docker Toolbox」をインストールできる。
$ brew update
$ brew cask install docker-toolbox
インストールが完了したら、Dockerのメニューから「Kitematic」を選択する。
僕の記憶では、この作業でバーチャル・マシンが作成されたように思う(うろ覚え)。
うまくバーチャル・マシンが動いているかどうか、テストにコンテナを作って見て確認する。
$ docker run hello-world
以下のように表示されたら問題ない。
$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM default * virtualbox Running tcp://192.168.99.101:2376
3. nginxのインストール
【追記:2017/07/03】このステップは不要であるが、nginxインストールの備忘録として残しておく
ようやく、ngixnのインストールである。
これはDockerからインストールする方法と、homebrewからインストールする方法があるが、僕は多分homebrewでインストールしたはず(多分)。
$ brew install nginx
そして、起動させる。
$ ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
ブラウザにhttp://localhost:8080と打ち込んで、以下の画面が表示されたら、インストール成功である。
4. Naumanniのインストール
これは前回の紹介した方法で問題ない。
$ docker pull naumanni/naumanni-standalone
$ docker run -it -p 8080:80 naumanni/naumanni-standalone
これで、http://localhost:8080/で接続して、Naumanniが表示されたら成功である。
Dockerのコンテナイメージを確認したら、以下の通りになっているはず。
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest 1815c82652c0 5 days ago 1.84kB naumanni/naumanni-standalone latest da2a67443f33 2 weeks ago 119MB
と、一通りの流れを書いたが、一日経った今、うまく接続できるのはChromeだけである。SafariもFireFoxもアクセスができない。
これ以上は、僕には分からないので、詳しい方の教えを請いたいものである。
【追記:2017/07/03】
Naumanniにうまく接続できない場合、コンテナが起動していないことがある。
例えば、Macを再起動したらNaumanniが立ち上がらないという問題である。
その場合は、runする時に、オプションに「–restart=always」をつけると、ホストが再起動した場合にも、コンテナが自動的に起動してくれる。
こんな感じである。
$ docker run -it -p 8080:80 --restart=always naumanni/naumanni-standalone
僕はこれでようやく快適にNaumanniを使えるようになった。
参考にしたwebpageは以下である。
ホストを再起動した時などにDockerコンテナを自動的に再起動できるようにする
現在、Naumanniはバージョン0.2.0になり、スパム判定も有効になっている。
複数のインスタンスを横断的に読むのに、とても使いやすい。
多くの人に使ってほしいクライアントである。
Recent comments