\r\n\r\n

自分だけのソーシャルネットワーク:Linuxでマストドンのインスタンスを立ち上げる方法

twitterのエコーチェンバーが議論を殺している。人々の話題を集めたいなら、マストドンで独自のソーシャルネットワークを作ればいいのです。ウェブドメインとサーバーがあれば、すぐに始められる...。

Twitterに飽きた、Facebookに飽きた、ネット上の罵倒やNSFWコンテンツに辟易している?ただ、反対している人たちの前で意見交換したいだけ?

マストドンがその答えです。オープンソースのため、マストドン独自のインスタンスを作成することができ、あらゆるトピックの会話をサポートし、あらゆる種類の荒らしからユーザーに安全とプライバシーを提供することが可能である。

マストドンについてよく知らないという方のために、基本的なことを説明します。tootはツイートのようなもので、最大500文字を含むことができます(Twitterの140文字制限とは異なります)。先日のマストドンの様子を見て、その効果を実感してください。

必要なもの

Mastodonのインスタンスを作成するには、以下のものが必要です。

  • Ubuntu Server 16.04が動作するWebサーバー。他のソリューションもありますが、Vultr.comのウェブサイトでは、月額10ドル以下の安いサーバーアカウントを見つけることができます。
  • サーバーを指す未使用のドメイン名。これは、ウェブドメインホストのDNSレコードが、訪問者をUbuntuサーバーのIPアドレスに向けるように設定されていることを意味します。この方法はプロバイダーによって異なるので、適宜、書類を確認してください。
  • Mastodonインスタンスの登録を管理するためのMailgunアカウント。無料ですが、最初の1万通のメール送信にはクレジットカードの情報が必要です。Mailgunの登録ページにアクセスしてアカウントを作成し、ドメインの検証手順に従って、メールの新規/未使用ドメインが有効なものとしてリストアップされていることを確認してください。

マストドンを確立するためには、主に3つの要素が必要である。

  • Docker - 便利な仮想化ソフトウェア
  • マストドン - ソーシャルネットワークそのもの
  • Nginx (発音は EngineX) - 多目的ウェブサーバソフトウェア、この場合はリバースプロキシとして使用される

(リバースプロキシは、サーバーがクライアントに代わって、1つまたは複数の他のサーバーからリソースやデータを取得することを可能にします)。多くの場合、これはサーバーを保護するためのセキュリティ対策である)。

また、サーバーへのSSH接続も必要です。Linux(またはmacOS)のターミナルから取得することができます。WindowsでSSHを使用する場合は、PuTTYをダウンロードし、インストールしてください。

ssh接続を確立し、dockerをインストールする

SSHでサーバーに接続し、通常の管理者認証でログインする必要があります。これができたら、「mastodon」というユーザーを作り、root権限を与えて、以下のように新しいユーザーに切り替えてください。

adduser mastodonusermod -aG sudo mastodonsu - mastodon

次に、パッケージデータベースの更新と管理ツールのインストールを行います。

sudo apt-get updatesudo apt-get install apt-transport-https software-properties-common

DockerレポにはGPGキーが必要で、これには

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

次に、Dockerリポジトリをソースに追加し、再度更新します。

sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'sudo apt-get update

正しく動作させるために、DockerはUbuntu 16.04の公式レポ版ではなく、独自のリポジトリをインストールする必要があります。この方針は、以下を確実にするものです。

sudo apt-cache policy docker-engine

これでDockerがインストールできるようになりました。

sudo apt-get install -y docker-engine

インストールには、サーバーの起動時にDockerを実行するバックグラウンドプログラムが含まれています。

sudo systemctl status docker

数行のテキストが表示されます。"active (running)" を探して、すべてが問題ないことを確認してください。

docker composeで設定する

新しいユーザーグループを作成することで、この構成でDockerコマンドを実行するたびにsudoコマンドを入力する手間が省けます。これを行うことは

sudo usermod -aG docker $(whoami)

これは、SSHの設定を終了(exit)し、再度ログインすることで行います。

Docker Composeは、複数のコンテナを持つDockerアプリケーションの実行を管理するために使用されます。最新版はgithub.com/docker/compose/releasesに掲載されています。次のコマンドで "x.x.x "に置き換えて入力する必要があるので、番号をメモしておいてください。

sudo curl -o /usr/local/bin/docker-compose -L "https://github.com/docker/compose/releases/download/x.x.x/docker-compose-$(uname -s)-$(uname -m)"

強制力を持たせること。

sudo chmod +x /usr/local/bin/docker-compose

Docker Composeがインストールされているかどうかは、次のようにして確認することができます。

docker-compose -v

バージョン番号が表示されますので、ダウンロードしたバージョンと一致していることを確認し、入れ替えた番号をメモしてください。

マストドンの装着

これでマストドンをインストールする準備が整いました。

cd /home/mastodon

次に、mastodon.gitをディレクトリにクローンし、その場所を開いてコピーします。 環境制作のサンプルファイル。

git clone https://github.com/tootsuite/mastodon.gitcd mastodoncp .env.production.sample .env.production

そのファイルはすぐに使えるようになります。まず、dockworkerのイメージを作り上げます。

docker-compose build

しばらく時間がかかりますが、完了すると、このコマンドで3つのキーを作成することができます。

docker-compose run --rm web rake secret

各ユニークキーをテキストエディタにコピー&ペーストしながら3回実行。3回とも実行開始可能。本番用の環境はnanoでアーカイブされている。

sudo nano .env.production

ペーパークリップ・パスワード、キー・パスワード、ワンタイムパスワードの各項目を探してください。

メールガン設定の追加

さて、いよいよpostboxのメールアカウントに詳細を追加します。https://app.mailgun.com/app/domains然后单击域 にアクセスしてください。デフォルトのSMTPログインとデフォルトのパスワードを探し、詳細をコピーしてください。SMTPu ログインと SMTPu パスワードのエントリのアーカイブとして環境が生成される。

次に、SMTP \u から調べ、この項目の名前が notificati***@domain.name のように "notificati***" で始まることを確認します。 最後に、ローカルドメイン名から調べ、この項目で使用しているドメイン名を追加します。

終了したら、CTRL+Xで保存して閉じ、Dockerを再生成します。

docker-compose build

以下のコマンドを実行することで、データ移行とアセットプリコンパイルが期待通りに動作することを確認できます。

docker-compose run --rm web rails db:migratedocker-compose run --rm web rails assets:precompile

これらのコマンドは完了するまでにしばらく時間がかかるので、終了したらコンテナを有効にする。

docker-compose up -d

nginxを有効にする

この設定では、リバースプロキシとしてNginxが使用されています。

インストール用として使用します。

sudo apt-get install nginx

Nginxにはデフォルトの設定ファイルがあるので、それを削除する必要があります。

sudo rm /etc/nginx/sites-available/defaultsudo rm /etc/nginx/sites-enabled/default

新規にプロファイルを作成する際に使用します

sudo touch /etc/nginx/sites-available/mastodon

次に、アクセスしたいサマリーファイルのシンボリックリンクを作成する必要があります:.

sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/mastodon

次に、テキストエディタにコピーする設定ファイルがあります。このGithubのページにアクセスして内容をコピーし、それを

sudo nano /etc/nginx/sites-available/mastodon

ファイルを開いたら、example.comのウェブサイトを探し、使用しているドメイン名に置き換えます。「www」は必ず省略してください。

CTRL+Xキーを押して保存し、終了します。

ssl証明書を取得し、マストドンを実行します。

これでマストドンインスタンスを起動し、独自のソーシャルネットワークを作成することができますが、それを信頼できるものにするためには、SSL証明書が必要です。

まずcertbotのPPAをインストールし、次にcertbot本体をインストールします:.

sudo add-apt-repository ppa:certbot/certbotsudo apt-get update sudo apt-get install certbot

次に、SSL証明書を生成できるように、Nginxを停止します。

sudo systemctl stop nginx.service

以下のコマンドに従って、example.comのウェブサイトを独自のドメイン名で置き換えます。

sudo letsencrypt certonly --standalone -d example.com

プロンプトに従って処理を完了し、終了したら、以下のマストドン・カタログに戻る。

cd /home/mastodon/mastodon

次に、Dockerを一時的に停止します。

docker-compose down

あと少しで完了です。以下のコマンドを順番に実行するだけです。

docker-compose builddocker-compose run --rm web rails assets:precompile docker-compose run --rm web rails db:migrate docker-compose up -d

これらのコマンドの完了を待って、Nginxをバックアップします。

sudo systemctl restart nginx.service

さて、すべてが正しく動作していれば、ブラウザウィンドウを開いて新しいマストドンインスタンスにアクセスし、動作しているのを確認できるはずです。

残念ながら、ここで問題が発生すると、これまでやってきたことを繰り返すことになります。もしそうなら。環境 プロダクションが正しく、Mailgunが動作している場合は、最後の保存以降の手順を続けるだけです。環境 本番注意事項 ドメインレジストラとMailgunが正しく設定されていない場合、これらの問題が解決されるまでMastodonを実行することはできません。

ドメインレジストラとMailgunが正しく設定されていない場合、これらの問題が解決されるまで、マストドンを実行することができませんので、ご注意ください。

あなたは、稼働しています:タスクの自動化とマストドンの管理

あと少しで、例のマストドンが公開されますね。

いくつかのタスクは自動化する必要があります。mastodonディレクトリに移動し、cronジョブ(スケジュールされた時間に実行する命令)用の新しいディレクトリを作成します。

cd /home/mastodonnano mastodon_cron

テキストファイルの中で、追加します。

cd /home/mastodon/mastodondocker-compose run --rm web rake mastodon:media:cleardocker-compose run --rm web rake mastodon:push:refreshdocker-compose run --rm web rake mastodon:push:cleardocker-compose run --rm web rake mastodon:feeds:clear

CTRL+Yキーを押して終了し、入力します。

sudo chmod +x mastodon_cron && sudo crontab -e

crontabファイル(すべての時間指定(cron)スクリプトの制御インデックスのようなもの)が開きますので、最後にこの行を入力してください。

0 0 * * * /home/mastodon/mastodon_cron > /home/mastodon/mastodon_log

CTRL+Xキーを押して保存し、終了します。

sslのリフレッシュ

解決策は、cronジョブで証明書を自動更新することです。

sudo crontab -e

...その後、文書の最後までスクロールして、次の行を追加してください。

0 1 * * 1 /usr/bin/letsencrypt renew >> /home/mastodon/letsencrypt.log5 1 * * 1 /bin/systemctl reload nginx

もう一度CTRL+Xを押すと保存して終了します。このコマンドは、60日以上前の証明書を月曜日の午前1時に更新します。その後、Nginxを再読み込みします。

マストドン管理

すべてが準備万端です。誰でもあなたのマストドン・インスタンスにアクセスして登録し、ビープ音を送り始めることができます。これにはあなたも含まれます。もちろん、昇格した特権を持つアカウントが必要です。まずアカウントを作成し、確認メールに記載されているリンクをクリックします。

次に、mastodonのサブディレクトリに戻ります。

cd /home/mastodon/mastodon

このコマンドは、ユーザー名を管理者レベルに昇格させるために使用します。

docker-compose run --rm web rails mastodon:make_admin USERNAME=yourusername

ブラウザウィンドウでマストドンに戻り、アカウント設定にアクセスします。管理者のリンクをクリックすると、ユーザーアカウントが表示され、マストドンのサイト設定(タイトル、説明、インスタンスの目的/トピックなど)を管理できます。

自分だけのソーシャルネットワークで話題を提供!

ここ数カ月、Twitterは、ネットいじめや、***過激派を宣伝・賛美するアカウントの拡散に対する取り組みの遅れを指摘され、非難を浴びています。一方、Facebookは依然としてプライバシーの悪夢である。

この問題を解決するには、マストドンを追加すればいいのです。少なくとも、どうすれば違うことができるのかが見えてくるので、やったほうがいいと考えています。気に入ったら、自分用のサンプルをインストールしてみてはいかがでしょうか。

マストドンを試された方、ご自分のお手本を作られた方、その様子を教えてください。

  • 2021-03-14 07:42 に公開
  • 閲覧 ( 22 )
  • 分類:IT

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ