MusicMastodon地域インスタンス「箕面どん」をv3.0.0にアップデートしましたしばらくMastodon関係のことは書いていなかったが、箕面どんとしては順調にアップデートに追従していた。...Mastodon地域インスタンス「箕面どん」をv.2.5.0にアップデートしました今週の9月3日(月)の早朝、Mastodonの最新版v.2.5.0がリリースされた。server」を設定できたり、「カスタムCSS」の編集ができるなど、いろいろな機能アップがある。...Mastodon地域インスタンス「箕面どん」をv.2.4.0にアップデートしましたかなり前になるが、新しいソーシャルネットワーキングサービス「Mastodon」を紹介したのを、覚えておられるだろうか。4,1」というものだ。ArchWikiにも機種別の情報は載っていない。MastodonしばらくMastodon関係のことは書いていなかったが、箕面どんとしては順調にアップデートに追従していた。そのMastodonもいよいよv3.0.0が公開され、更に新しい世界へと進んでいるので、これを機に久しぶりにブログを更新したいと思う。v3.0.0での更新内容はかなり多いので、興味ある方はリリースノートを読んでいただきたい(英語だが)。https://github.com/tootsuite/mastodon/releases/tag/v3.0.0ここでは、さくらのクラウドのCentOS上のnon-dockerで、どのようにアップデートするか、それに限って書きたいと思う。2.6.4には脆弱性が発見されたので、他のMastodonのバージョンでも使わない方がいい)。2.5.1をインストールした時に、rbenvやruby-buildの環境を整えていたので、今回は以下のコマンドでアップデートできた。※なお、作業は全てmastodonユーザーで行う必要がある。2.6.5が設定されているかどうか確認する。[x86_64-linux]問題がなければMastodonのアップデートに移る。ここではリリースノートをよく読むこと。それを守れば失敗することはない。基本的な手順はいつもと同じである。liveディレクトリに移動することを忘れてはいけない。installここから後のコマンドと手順が違うので、要注意である(全てリリースノートに書いてあるが)。assets:precompileここまでの処理が終わったら、一旦サーバーを再起動する。再度接続を確認したら、次のコマンドを打つ。db:migrateもう一度再起動。接続を確認して、晴れてv3.0.0になっていれば成功。Mastodon今週の9月3日(月)の早朝、Mastodonの最新版v.2.5.0がリリースされた。server」を設定できたり、「カスタムCSS」の編集ができるなど、いろいろな機能アップがある。詳しくはリリースノートを見てほしい。https://github.com/tootsuite/mastodon/releases/tag/v2.5.0リリースノートを見ると、「Node.jsの8系をインストール」と書いてある。僕が箕面どんに使っているサーバー「さくらのクラウド」では6系である。-vv.6.13.1これを8系にバージョンアップしようとして、ちょっとはまったので、その辺りを書いておきたい。基本的に参考にしたのは、下記のページである。makeとしても、Node.jsの8系はインストールされない。同じ6系の最新バージョン?がインストールされるだけである。nodejsをして削除しても同じである。ググってみると、以下のような情報を見つけた。yumでのnodejsのバージョンアップにはまった話と解決方法ここを読んで気づいたのだが、もしかしたらNode.jsの古いrpmが残っていて、悪さをしているのかもしれない。さくらのクラウドでは、スタートアップスクリプトでyumでNode.jsをインストールしているので可能性はある。そこで、下記のコマンドを売って、古いrpmを削除する。/etc/yum.repos.d/nodesource-el.repoこの様子は随時箕面どんにツゥートしていたのだが、その様子を見て詳しい方から助言をいただいた。「epel」を無効したらどうかというものである。僕もインストール画面でこの表示が気になっていたし、試しに無効にしてみた。/etc/yum.repos.d/epel.repo上の方にある「enabled=1」を「enabled=0」に書き換える。ここまで準備した上で、古いNode.jsを削除し、yumの設定を一旦クリアする。allその上で、初めと同じコマンドを打つ。makeザーとインストールが進んで、ちゃんと8系になった。v.2.5.0をインストールする手順はいつもと同じである。serviceをリスタートしてから、再度db:migrateをするように書いてあるが、よくわからなかったんで省略した(^^ゞそのせいか、db:migrateではいろんな文字列がザーと流れて、かなりの時間がかかったが、他の鯖缶の方の話ではそれで正常らしい。CentOSを再起動したら、問題なく2.5.0のアップデートされていた。丸1日経ったが、特に問題は出ていない。不正確なところや間違っているところがあれば、教えていただきたい。Mastodonかなり前になるが、新しいソーシャルネットワーキングサービス「Mastodon」を紹介したのを、覚えておられるだろうか。当初は「大阪丼」(https://mstdn.osaka)に参加していたが、思うところあり、独立して箕面市(非公認)の地域インスタンス「箕面どん」を立ち上げた。7.4上で構築している(非Docker)。導入自体は「スタートアップスクリプト」があるので、比較的簡単にできた。当時のMastodonのバージョンが2.3.3であったが、最近2.4.0がリリースされたので、アップデートに取り組んだ記録である。鯖缶の方々の様子を見ると、データベースを飛ばして全て消えてしまうなど、いろいろなアクシデントが起こるアップデート作業。僕自身も1度目は失敗し、2度目の挑戦でやっと上手くいった。初心者の方々にも参考になるように、ここに過程を書きとどめておきたい。全体の流れは下記サイトを参考にした。「さくらのクラウド」スタートアップスクリプトによるMastodonを、v2.3.3からv2.4.0rc3にバージョンアップした時につまずいた話。1.サーバーのバックアップ万が一に備えて、必ずやっておきたい作業である。僕も1回目失敗したとき、バックアップのおかげで、復旧することができた。pg_dump/pg_dumpallなどのコマンドを使って、データベースだけバックアップする方法もあるが、僕はさくらのクラウドのアーカイブ機能を使って、ハードディスクを丸ごとバックアップした。9.4以上が必須となる。さくらのクラウドでは9.2なので、アップデートが必要である。7.4上ではエラーで動かなかったので、9.6.9を下記のようにインストール、データベースを初期化した。initdbコマンドの意味は下記サイトに詳しい。9.4から9.6へアップデートする3.pg_upgradeというコマンドをインストール【註】この過程は必ずしも必須ではない。ソースを入れ替えるので、危険性を内在している可能性がある。PostgreSQLの新バージョンが出る度にインストールする方針の方は、する必要なないと思われる。この作業をする前に、今動いているPostgreSQLサーバーを停止しておく必要がある(←これ、重要)。停止しておかないとインストールに失敗する。postgresql停止しているかどうか確認。postgresqlそして、postgresユーザーに切り替えて、下記のようにコマンドを打つ。/usr/pgsql-9.6/bin/このコマンドはエラーになるので、下記サイトを参考に、pg_upgradeを入れ替える。pg_upgradeでつまずいたなお、さくらのクラウドのCentOSにはwgetが入っていないのでインストール。vimも好みで入れる。.ここまでして再度postgresユーザーに切り替え、下記のコマンドを打つと、ズラズラとOKが表示されて、インストールに成功する。/usr/pgsql-9.6/bin/なお、最初に紹介したサイトでは、pg_upgradeをインストールした後で「後処理」をしているが、僕の環境では上手くいかなかった。それでも問題なくサーバーは動いているので、無視しても大丈夫である。他に、以下の設定ファイルを書き換えた。/var/lib/pgsql/9.6/data/pg_hba.confMETHOD欄を全て、trustに書き換え。【2018年6月3日追記】この設定は、あくまでさくらのクラウドでスタートアップスクリプトを使って、インスタンスを立ち上げた場合に有効である。その他の環境の場合、データベースへのアクセスを無制限に許してしまい、大変危険である。その場合は、設定をmd5などにして、暗号パスワードを設定することをお勧めする。以下のサイトを参考にされたし。posixという行の先頭に#を付けて、コメントアウト。紹介したサイトではその後、コマンドを9.6用に差し替えているが、それをするにはPostgreSQLの古いバージョンを削除しなくてはならない。installでpgがインストールできないという現象にぶつかった。コマンドを総入れ替えしなくても特に問題はないだろうと考え、見送った。以下のコマンドを打って、旧バージョンの自動起動を無効にし、9.6を有効化、自動起動させて、CentOSを再起動する。reboot自分のインスタンスにアクセスし、正常に動いているかどうか確認する。2.5.1が必須である。インストール作業はmastodonユーザーに切り替えて行う必要がある(重要!)。これをしておかないと2.4.0のインストールに失敗する。2.5.1のインストールには、下記サイトを参考にした。v.2.4.0をインストールここまで下準備をして、ようやく2.4.0をインストールできる。インストールには下記サイトを参考にした。serviceを再起動したら、問題なくアップデートされていた。自分のインスタンスのアバウト画面で、2.4.0と表示されていたら成功である。4,1」というものだ。ArchWikiにも機種別の情報は載っていない。基本的にArchWikiのMacBookに書かれていることを参考にすれば大丈夫である。そこで解決しない問題は、ネットで探すことになる。Xとのデュアルブート」である。macOSを残しておく方がMacBookのファームウェアを書き換えたり、Macの設定を変えたりする時に便利である。Leopardを再度インストールするところから始めることになったが)。HDを選択し、「+」ボタンを押して、新規にパーティションを作成する。僕の場合は、ハードディスクを2分割することにした。Linux側で作成し直すので何でもかまわない。パーティションを作成し、デスクトップに表示されるのを確認する。LinuxをダウンロードからISOイメージをダウンロードして、適当なアプリでCDに焼く。CDをセットし、MacBookをオプションキーを押しながら起動すると「Windows」というCDのアイコンが現れる。それを選択してしばらく待つと以下のような画面が表示される。Linux」を選択してエンターキーを押すと、ブートが始まる。無事に起動を確認したら、次の作業に移る。Linux側でパーティションを作成するそのままでは日本語キーボードの設定になっていないので、以下のコマンドを打つ。Linux用に再度パーティションを作り直す。Xのパーティションのルールとして、最後のパーティションの後に「128MB」の空き領域が必要である。詳しくはArchWikiを見てほしい。メモリが4GB以上ある時には、swapを作成しない方が速くなるとあったので、swapパーティションは作成しなかった。Linux用のパーティション番号を選択し、「Delete」と「New」を使い、パーティションを作成していく。Linuxのrootパーティション:残り全部」を作成したものである。Linuxをインストールするインストール自体は他のPCと同じである。ArchWikiのインストールガイドに従ってインストールする。4,1は無線LANのドライバが有効にならないので、有線で繋いでインストールしなければならない。インストールガイドにある「起動モードの確認」で、UEFIモードではないとなるが、気にせず先に進む。インストールが終了したら、ブートローダーの設定に移る。ブートローダーの設定が終わるまで、chrootしたままでいるようにする。Linuxを入れるを参考にした。GRUBをインストールする。grub-efi-x86_64/etc/default/grubを以下のように修正する。エディタにはviやnanoが使える。rootflags=data=writeback"そして、以下のようにしてカレントディレクトリに「boot.efi」を作成する。boot/grub/grub.cfg作成された「boot.efi」はUSBにコピーしておく。Mac」のUSBを使ったが、問題なくコピーできた。USBメモリのデバイス名を調べる。loader」というボリュームがマウントされているはずである。ターミナルを起動して、以下のようにブート用のディレクトリと「SystemVersion.plist」を作成する。SystemVersion.plist「SystemVersion.plist」には、以下のように記述する。Linux</string></dict></plist>そして、CoreServicesにUSBのboot.efiをコピーする。これはFinderでやった方が簡単である。loader」バーティションを起動可能にする。--setBoot(注)Xに入る数字はディスクユーティリティで確認する。Linuxが立ち上がるはずである。7.トラブルシューティング僕の場合、機種が古いせいか、以下のようなトラブルに遭遇したので、参考に解決方法を加えておく。Linuxをインストールしたデバイスが見つからず、「new_root」でしかログインできないこれにはかなり苦戦したが、ネットを探し回って、次のようなサイトを見つけた。installここにあるように、/etc/mkinitcpio.confのHOOKSの順番を変えると解決した。blockをautodetectの前に記述するのである。fsck"そして、以下のコマンドを打って、ramdiskを作り直す。linuxこれでrootでログインできるようになる。(b)ルートディレクトリのマウントに失敗する起動中のプロンプトを見ると、「ルートのマウントに失敗した」というエラーが表示されるのだが、システム自体は立ち上がり、ルートでのログインもできる。気持ちの悪いエラーだが、いろいろ調べてみると、fstabの記述に問題があることがわかった。先に、GRUBを設定した時に「rootflags=data=writeback」と設定したが、それがfstabに反映されていなかった。/etc/fstabを開き、「data=writeback」に書き換えたらエラーが表示されなくなり、fsckもちゃんと働くようになった。ext4のジャーナリングを有効にするために、必要な設定なのかも知れない。Linux僕はどちらかというと、同じマシンを長く使う方だと思う。Macを使い始めてもう10数年が経つが、ノートブックは3台乗り換えただけだ(デスクトップは2台)。Blackを使っていた。Appleのホームページにも載っていない古い機種だが、メモリは4GMに増設、HDDは750GBに載せ替えて使い込んでいた。Lionを最後に新しいOSに対応しないということだったので、新たにMBPを購入したわけだ。古いMacBookはしばらく埃を被っていたが、Linuxの勉強を兼ねてUbuntuをインストールして、たまに使ったりしていた。Ubuntuを選んだ理由は、ドライバ関係で対応がたやすいということである。確かにWifiなども一発で認識してインストールも簡単だったのだが、いかんせん古いMacBookには重かった。反応がワンテンポ遅れる感じである。2の2.4GHzなのだが、それだけUbuntuが重いLinuxになってしまったということだろう。Linuxをインストールしてみることにした。Linuxを選んだ理由は、どこかで見たアンケートでMacBookユーザーがインストールするLinuxの中で1位だったからである。軽いLinuxだとということも興味を引いた。デフォルトではデスクトップ環境などがインストールされないので、Ubuntuなどとくらべて敷居が高いという話もあった。MacBookユーザーでインストールしている人が多いということは、参考になる記事も多いはずである。LinuxはWikiが充実しているのも重要なポイントだった。初心者向けのLinuxではないが、だからこそLinuxを勉強するのにもいいのではないかと思った。Linuxをインストールして、日常の使用に使っていく過程を書き込んでいきたいと思う。多くの方の参考になれば幸いである。Linuxとはなんぞやという人は、下記のリンクを読んでみてほしい。Computing前回の記事で、MacにMastodonのwebクライアント、「Naumanni(ナウマン)」をインストールした手順を書いたが、結論からいうと、前のやり方では不十分である。Chromeでhttp://localhostが通らないとか、Safariでhttp://localhost:8080が通らないとか、あげくの果ては、「mstdn.jp」にアクセスできないとか。してこんなことになるのかよく考えてみると、「Naumanni」はMacの中にwebサーバーを立ち上げ、その「8080」ポートを通して、インスタンスに接続して使うものである。いうことは、Mac内部にwebサーバーが立ち上がっていないということではないか?そう言われてみれば、今のMacにはweb共有がなくなってる。webサーバーをインストールしなくてはいけないということである。後、Dockerは一種の仮想環境を提供するものである。いうことは、Mac内にバーチャル・マシンがあるはずである。ls」のコマンドを打ってみるとエラーになる。仮想マシンがないのである。これでは、「Naumanni」もうまく動くはずがない。Toolbox」を使って行うとのこと。Dockerのインストール方法というわけで、ようやく「Naumanni」をインストールする手順がわかった。Toolboxをインストールするnginx(webサーバー)をインストールする(【追記:2017/07/03】開発者のshnさんの指摘で、nginxは不要だとのこと)Naumanniをインストールする以下、この手順で、説明していきたいと思う。Macをインストールするこれは、前の記事で説明したので、割愛する。Toolboxをインストールするここで躓いてしまった。Sierraでは、pkgファイルからはインストールできないのである。調べてみると、コマンドラインでインストールする方法があった。SierraでDockerを再インストールしたときに発生した問題どうやら「Node.js」をインストールしないといけないようである。ここを乗り越えないと先へいけないので、頑張って取り組むことにする。参考にした記事は、以下の通り。Node.jsをMacにインストール!ここにある通り、Homebrew→Nodebrew→Node.jsの順にインストールしていく。Homebrewのインストール。これから後の作業は、全てターミナルから、コマンドラインで行う。Tools」がインストールされるはずである(ちょっと不明)。次は、nodebrewのインストールである。nodebrewインストールできたら、バージョンを確認。-v以下のように、ずらずらっと表示されたらOK。次は、いよいよnode.jsのインストールである。最新版をインストールしたいので、下記のように打つ。latestバージョンを確認すると、下記のように最新版になっていた。v8.1.2以下のサイトも参考にしてほしい。Toolbox」をインストールできる。docker-toolboxインストールが完了したら、Dockerのメニューから「Kitematic」を選択する。僕の記憶では、この作業でバーチャル・マシンが作成されたように思う(うろ覚え)。うまくバーチャル・マシンが動いているかどうか、テストにコンテナを作って見て確認する。hello-world以下のように表示されたら問題ない。nginxのインストール【追記:2017/07/03】このステップは不要であるが、nginxインストールの備忘録として残しておくようやく、ngixnのインストールである。これはDockerからインストールする方法と、homebrewからインストールする方法があるが、僕は多分homebrewでインストールしたはず(多分)。nginxそして、起動させる。~/Library/LaunchAgents/homebrew.mxcl.nginx.plistブラウザにhttp://localhost:8080と打ち込んで、以下の画面が表示されたら、インストール成功である。Naumanniのインストールこれは前回の紹介した方法で問題ない。naumanni/naumanni-standaloneこれで、http://localhost:8080/で接続して、Naumanniが表示されたら成功である。Dockerのコンテナイメージを確認したら、以下の通りになっているはず。119MBと、一通りの流れを書いたが、一日経った今、うまく接続できるのはChromeだけである。SafariもFireFoxもアクセスができない。これ以上は、僕には分からないので、詳しい方の教えを請いたいものである。【追記:2017/07/03】Naumanniにうまく接続できない場合、コンテナが起動していないことがある。Macを再起動したらNaumanniが立ち上がらないという問題である。その場合は、runする時に、オプションに「–restart=always」をつけると、ホストが再起動した場合にも、コンテナが自動的に起動してくれる。naumanni/naumanni-standalone僕はこれでようやく快適にNaumanniを使えるようになった。参考にしたwebpageは以下である。ホストを再起動した時などにDockerコンテナを自動的に再起動できるようにする現在、Naumanniはバージョン0.2.0になり、スパム判定も有効になっている。複数のインスタンスを横断的に読むのに、とても使いやすい。多くの人に使ってほしいクライアントである。ComputingMastodon(マストドン)の関連の集会などが最近多く開催されており、いろんな人がマストドンを知るようになってきたと思う。その中でも、大阪で行われていた「マストドン会議4」で、清水亮さんが使っておられたクライアントが、使いやすそうで気になった。調べてみると、「Naumanni(ナウマン)」という名のwebクライアントだと分かった。Mastodon専用ウェブクライアント「Naumanni」、UEIとグルコースがGitHubで公開まだまだアルファー版だが、標準版ではどこにいったかわかりにくいダイレクトメッセージなどが、分かりやすくなっているし、インスタンス間のメッセージも暗号化される機能が搭載される。複数のインスタンスのLTLが読める「統合ローカルタイムライン」なども便利だ。「Naumanni」はGitHubで配布されている。https://github.com/naumanni/naumanniインストールはDockerを使えばできるようだが、そのDockerは、どうインストールしたらいいのか。Mac」を使えば簡単のようである。インストール方法は、下記を参考にしてほしい。Macをインストールしてみた僕がやったことは、次の通り。Mac「Stable」と「Edge」があるが、できるだけ新しいバージョンがほしいので、「Edge」を選ぶ。ダウンロードして、イメージファイルをマウントして、アプリケーションフォルダにコピーする。「Docker」をダブルクリックして、立ち上がった後は、上のwebpageを参照してほしい。ターミナルでバージョンを確認してみたら、「17.06.0-ce-rc4」だった。17.03と書いてある。考え、Dockerが一種の仮想環境を作るのなら、yarnやnodeがなくてもインストールできるはずと考え、インストールしてみた。naumanni/naumanni-standaloneのコマンドを叩くだけ。ダウンロードが始まり、いとも簡単にインストールが完了した。終わればブラウザを立ち上げ、http://localhost:8080/で接続すると、「Naumanni」が立ち上がる。今のところ、軽くて、いい感じである.yarnやnodeを省いた結果どうなるかは、もう少し使ってみないと分からないが。Sierraでは機知の問題のようである。インストールしたやっぱ、Nodeをインスールしないといけないのか...今夜は疲れたので、この辺で。Novelユミは僕に手紙を渡すと、そのまま消えてしまった。僕はどうしていいのか分からず、しばらく立ち尽くしていた。決心が固まり、僕は手紙を開いた。<ヒビキ君、私、あなたのこと、ほんと好きだったよ。あなたと一緒にいることに耐えられなくて。こんな言葉使ってごめんね。嫌悪感しか感じないの。それに、私、好きな人ができて。一緒にコンサートした人。久しぶりに、恋の気分を感じてる。