你自己的社交网络:如何在linux上设置mastodon实例

Twitter的回声室正在扼杀讨论。如果你想让人们说话,你可以创建自己的社会网络与乳齿象。所有你需要的是一个网络域和服务器开始。。。...

厌倦了Twitter?厌倦了Facebook?网络虐待和NSFW内容让你失望?只是想在反对你的人面前交换意见?

mastodon-install-linux

乳齿象就是答案。由于它的开放源码特性,可以建立自己的Mastodon实例,支持任何主题的对话,并为用户提供一些安全和隐私,使其免受各种巨魔的攻击。

007Ys3FFgy1h1ojyveeudj30gm0eata0

如果你不熟悉乳齿象,这里有一些基本知识。toot就像tweet一样,最多可以包含500个字符(与Twitter的140个字符限制相反)。看看我们最近对乳齿象的观察,看看它是如何工作的。

你需要什么

创建自己的Mastodon实例需要以下内容:

  • 运行Ubuntu服务器16.04的web服务器。你可以找到便宜的服务器帐户,每月10美元以下Vultr.com网站,尽管还有其他解决方案。
  • 指向服务器的未使用域名。这意味着web域主机上的DNS记录被设置为将访问者指向Ubuntu服务器的IP地址。如何做到这一点不同的供应商,所以检查您相应的文档。
  • 一个Mailgun帐户来管理你的Mastodon实例的注册。这是免费的,但是你的信用卡信息需要发送前10000封电子邮件。前往Mailgun注册页面创建一个帐户,并确保您遵循域验证说明,以确保您的电子邮件新的/未使用的域被列为活动。

建立乳齿象需要三个主要要素:

  • Docker—有用的虚拟化软件
  • 乳齿象——社交网络本身
  • Nginx(发音为EngineX)——多用途web服务器软件,在本例中用作反向代理

(反向代理允许服务器代表客户机从一个或多个其他服务器检索资源或数据。在许多情况下,这是一种保护服务器的安全措施。)

您还需要一个到服务器的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 repo需要一个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需要安装自己的存储库,而不是官方的Ubuntu16.04 repo版本。本政策将确保:

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)完成此操作,然后重新登录。

007Ys3FFgy1h1ojyvyk49j30hr0apdg5

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

然后将显示版本号,它应该与您下载的版本相匹配—注意您替换的用于确认的数字。

安装乳齿象

所有的准备工作都完成了。你现在可以安装乳齿象了。切换到mastodon子目录:

cd /home/mastodon

下一步,克隆乳齿象.git进入目录,然后打开该位置并复制。环境生产样品文件。

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

你马上就可以用那个文件了。首先,建立码头工人形象。

docker-compose build

这需要一段时间。完成后,可以使用此命令创建三个密钥:

docker-compose run --rm web rake secret

007Ys3FFgy1h1ojywhm5tj30hs0anjsn

运行三次,将每个唯一键复制并粘贴到文本编辑器中。三个都准备好了,开始跑步。环境生产用nano归档。

sudo nano .env.production

查找以下字段:回形针密码、密钥密码和OTP密码。每一个都应该**一个密钥。

添加邮件枪设置

现在是时候为你的邮筒电子邮件帐户添加详细信息了。去https://app.mailgun.com/app/domains然后单击域。找到默认的SMTP登录名和默认密码,并将详细信息复制到。环境生产作为SMTP\u登录和SMTP\u密码的条目存档。

接下来,从\u地址查找SMTP \u,并确保此项的名称以“notificati***”开头,例如notificati***@domain.name。最后,查找本地域名并添加您用于此项目的域名。

完成后,按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在此设置中用作反向代理。

007Ys3FFgy1h1ojywzvgaj30hr0amjsb

安装时使用:

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”。

007Ys3FFgy1h1ojyxjz22j30hq0aqdgo

按CTRL+X保存并退出。

获取ssl证书并运行mastodon!

您现在可以启动您的Mastodon实例并创建自己的社交网络。但要使其受信任,您需要SSL证书。

首先安装certbot PPA,然后安装certbot本身:

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

接下来,停止Nginx以便可以生成SSL证书。

sudo systemctl stop nginx.service

按照下面的命令,替换example.com网站用你自己的域名。

sudo letsencrypt certonly --standalone -d example.com

按照提示完成此过程。完成后,返回乳齿象目录:

cd /home/mastodon/mastodon

下一步是暂时停止Docker:

docker-compose down

007Ys3FFgy1h1ojyybmw1j30hs0anq3e

我们差不多完成了--只需依次运行以下命令:

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

现在,如果一切都正常运行,您应该能够打开浏览器窗口,并前往新的Mastodon实例,看看它的工作!

不幸的是,这里的任何问题都意味着重复你迄今为止所做的事情。如果是的话。环境生产都是正确的,并且Mailgun正在工作,那么只需继续执行的最后一次保存之后的步骤。环境生产注释如果您的域没有正确配置域注册器和Mailgun,那么在这些问题得到解决之前,您将无法运行Mastodon。

请注意,如果您的域没有正确配置域注册器和Mailgun,那么在这些问题得到解决之前,您将无法运行Mastodon。

你开始运行了:自动化任务和管理乳齿象

我们已经迫不及待地接近尾声了。再过几分钟,你就可以公开你的乳齿象实例了。

某些任务需要自动化。转到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

尽管SSL证书已设置,但它将在90天后过期。解决方案是自动续订证书的cron作业。输入

sudo crontab -e

…然后滚动到文件末尾,并将以下内容添加到行中:

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

再次按CTRL+X保存并退出;该指令将在周一凌晨1点续订超过60天的证书。然后它将重新加载Nginx。

乳齿象管理

一切都准备好了。任何人都可以前往你的乳齿象实例注册,并开始发送他们的嘟嘟声。这包括您——当然,您需要一个具有提升权限的帐户。首先创建您的帐户并单击确认电子邮件中的链接。

007Ys3FFgy1h1ojyyykqdj30im0iwt9e

接下来,返回mastodon子目录:

cd /home/mastodon/mastodon

使用此命令将用户名提升到管理级别:

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

在浏览器窗口中返回Mastodon,并访问您的帐户首选项。找到管理链接以查看用户帐户,并管理Mastodon站点设置,其中包括诸如标题和描述以及实例的目的/主题之类的内容。

你自己的社交网络,讨论你的话题!

最近几个月,Twitter因其在处理网络欺凌方面行动迟缓,以及推广和美化***极端主义的账户激增而受到抨击。与此同时,Facebook仍然是一个隐私噩梦。

为了解决这个问题,你可以加入乳齿象。我们认为你应该这样做,因为你至少会看到事情可以做得不同。如果您喜欢,为什么不安装自己的实例呢?

你试过乳齿象吗?你建立了自己的实例吗?告诉我们是怎么回事。

  • 发表于 2021-03-14 07:42
  • 阅读 ( 270 )
  • 分类:IT

你可能感兴趣的文章

推特快死了!现在加入7个备选社交网络

...守的色调不适合你,也许一个更专业的社交网络是答案?Mastodon可能就是你想要的,它是Twitter的一个开源替代品,可以让你更多地控制你所看到的和你所进行的对话。 ...

  • 发布于 2021-03-12 00:08
  • 阅读 ( 209 )

你的生活100%免费和开源的完整指南

...RSS阅读器和书签服务,取代Feedly和Pocket。 Mastodon是Twitter的一个分散的替代品。没有一家公司拥有通过这个社交网络发送的所有消息,数据也没有存储在单个服务器集群中。您甚至可以自由设置自己的实例。 ...

  • 发布于 2021-03-13 18:00
  • 阅读 ( 251 )

乳齿象:关于新的社交网络你需要知道什么

... 这很好地把我们带到了Mastodon,一个新的开源社交网络,关注用户。你想看什么,你想忽略什么,你想分享什么——这些都是由粒度控制来控制的,这意味着你可以完全控制所看到的东西。 ...

  • 发布于 2021-03-14 19:27
  • 阅读 ( 285 )

如何用旧计算机构建linux网络服务器

... 如何用linux**自己的web服务器 ...

  • 发布于 2021-03-17 19:20
  • 阅读 ( 266 )

aws与microsoftazure:哪种云服务最好?

...基础设施的思考方式。您不再需要投资昂贵的硬件或维护自己的服务器机房。多亏了云服务,您现在可以随时访问计算能力和存储。 ...

  • 发布于 2021-03-20 00:14
  • 阅读 ( 190 )

5个最好的google+替代方案

... 因此,Google+的一个流行的潜在替代品是Mastodon。不像普通的社交网络,乳齿象是分散的。任何人都可以在网络中托管自己的服务器节点。 ...

  • 发布于 2021-03-21 23:50
  • 阅读 ( 191 )

一个真正分散的互联网是可能的吗?如何与区块链合作

... Diaspora和Mastodon分别是Facebook和Twitter最知名的两个替代者。 ...

  • 发布于 2021-03-24 05:18
  • 阅读 ( 175 )

如何抛弃linux上的google:10种替代应用和服务

... 与Google+相比,Mastodon更类似于Twitter。尽管如此,它提供了一种分散的方式来与他人分享想法、链接和图像。没有一个组可以访问所有数据。您可以创建自己的Mastodon实例。 ...

  • 发布于 2021-03-25 04:16
  • 阅读 ( 216 )

使用aws保护您的家庭minecraft服务器免受ddos攻击

...转发连接。这允许您提供代理服务器的IP地址,而不是您自己的IP地址。 假设有人想连接到你的服务器,所以她把你的AWS代理的IP地址输入到她的Minecraft客户端。数据包被发送到端口25565(Minecraft的默认端口)上的代理。代理配置...

  • 发布于 2021-04-03 03:34
  • 阅读 ( 281 )

如何在linux的windows子系统中安装可移动驱动器和网络位置

...但是,现在可以使用Linux mount命令手动装载外部驱动器和网络文件夹。 如何安装外部设备 相关:Windows10新BashShell的所有功能 Linux的Windows子系统仍然自动装载固定的NTFS驱动器。因此,如果您有一个内部C:drive和D:drive,那么在Linux...

  • 发布于 2021-04-07 03:03
  • 阅读 ( 214 )
mernowloqo
mernowloqo

0 篇文章

相关推荐