diff --git a/content/zh-cn/admin/install.md b/content/zh-cn/admin/install.md index 6e9f7dc76..7abe5c09c 100644 --- a/content/zh-cn/admin/install.md +++ b/content/zh-cn/admin/install.md @@ -9,27 +9,32 @@ menu: ## 前提条件 {#pre-requisites} -* 一台你有root访问权限的运行 **Ubuntu 18.04** 的机器 +* 一台你有root访问权限的运行 **Ubuntu 20.04 LTS** 或者 *Debian 11 LTS* 及以上的机器 * 一个用于Mastodon站点的**域名**(或一个子域名),例如:`example.com` * 一个电子邮件发送服务提供商,或其他**SMTP服务器** -你需要使用root用户运行命令。如果你现在不是root用户,请切换至root用户: +你需要使用 root 用户运行命令。如果你现在不是 root 用户,请切换至 root 用户: ### 软件仓库 {#system-repositories} -首先确保已经安装curl: +首先确保已经安装 curl 等系统必要的软件: + +```bash +apt install -y curl wget gnupg apt-transport-https lsb-release ca-certificates dpkg +``` #### Node.js {#node-js} ```bash -curl -sL https://deb.nodesource.com/setup_12.x | bash - +curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg +echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list ``` -#### Yarn {#yarn} +#### PostgreSQL {#postgresql} ```bash -curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - -echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list +curl -sSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor > /usr/share/keyrings/postgresql.gpg +echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/postgresql.list ``` ### 软件包 {#system-packages} @@ -38,11 +43,18 @@ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.lis apt update apt install -y \ imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file git-core \ - g++ libprotobuf-dev protobuf-compiler pkg-config nodejs gcc autoconf \ + g++ libprotobuf-dev protobuf-compiler pkg-config gcc autoconf \ bison build-essential libssl-dev libyaml-dev libreadline6-dev \ - zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev \ - nginx redis-server redis-tools postgresql postgresql-contrib \ - certbot python-certbot-nginx yarn libidn11-dev libicu-dev libjemalloc-dev + zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev \ + nginx nodejs redis-server redis-tools postgresql postgresql-contrib \ + certbot python3-certbot-nginx libidn11-dev libicu-dev libjemalloc-dev +``` + +#### Yarn {#yarn} + +```bash +corepack enable +yarn set version stable ``` ### 安装 Ruby {#installing-ruby} @@ -73,8 +85,8 @@ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build 上述操作完成,我们便可以安装正确的 Ruby 版本: ```bash -RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 2.6.6 -rbenv global 2.6.6 +RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.3.3 +rbenv global 3.3.3 ``` 我们同样需要安装 bundler: @@ -83,7 +95,7 @@ rbenv global 2.6.6 gem install bundler --no-document ``` -返回root用户: +返回 root 用户: ```bash exit @@ -95,11 +107,11 @@ exit #### 性能调优(可选) {#performance-configuration-optional} -为了优化性能,你可以使用 [pgTune](https://pgtune.leopard.in.ua/#/) 生成一个合适的配置文件。编辑 `/etc/postgresql/9.6/main/postgresql.conf` 中的相应数值并使用 `systemctl restart postgresql` 命令重启 PostgreSQL。 +为了优化性能,你可以使用 [pgTune](https://pgtune.leopard.in.ua/#/) 生成一个合适的配置文件。编辑 `/etc/postgresql/16/main/postgresql.conf` 中的相应数值并使用 `systemctl restart postgresql` 命令重启 PostgreSQL。 #### 创建帐户 {#creating-a-user} -你需创建一个供Mastodon使用的PostgreSQL帐户。创建一个使用“ident”认证方式的帐户是最容易的配置方法,即PostgreSQL帐户不需要独立的密码并由同名Linux用户使用。 +你需创建一个供 Mastodon 使用的 PostgreSQL 帐户。创建一个使用 “ident” 认证方式的帐户是最容易的配置方法,即 PostgreSQL 帐户不需要独立的密码并由同名 Linux 用户使用。 打开控制台: @@ -126,7 +138,7 @@ su - mastodon #### 检出代码 {#checking-out-the-code} -使用git下载最新稳定版Mastodon: +使用 git 下载最新稳定版 Mastodon: ```bash git clone https://github.com/mastodon/mastodon.git live && cd live @@ -145,7 +157,7 @@ yarn install --pure-lockfile ``` {{< hint style="info" >}} -两个`bundle config`命令仅仅第一次安装依赖时需要。如果你之后进行升级或重安装依赖,只需要`bundle install`就够了。 +两个 `bundle config` 命令仅仅第一次安装依赖时需要。如果你之后进行升级或重安装依赖,只需要 `bundle install` 就够了。 {{< /hint >}} #### 生成配置文件 {#generating-a-configuration} @@ -162,9 +174,9 @@ RAILS_ENV=production bundle exec rake mastodon:setup * 预编译静态文件 * 创建数据库schema -配置文件被保存在`.env.production`。如果你愿意的话,你可以查看并编辑这个文件。请参阅[配置文件的文档]({{< relref "config" >}})。 +配置文件被保存在 `.env.production`。如果你愿意的话,你可以查看并编辑这个文件。请参阅[配置文件的文档]({{< relref "config" >}})。 -你已经完成需使用mastodon用户进行的操作,请切换回root用户: +你已经完成需使用 mastodon 用户进行的操作,请切换回 root 用户: ```bash exit @@ -193,7 +205,7 @@ ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; 重载 nginx 以使变更生效: -### 获取SSL证书 {#acquiring-a-ssl-certificate} +### 获取 SSL 证书 {#acquiring-a-ssl-certificate} 我们将使用 Let’s Encrypt 获取一个免费的SSL证书: @@ -207,7 +219,7 @@ certbot --nginx -d example.com ### 配置 systemd 服务 {#setting-up-systemd-services} -从Mastodon目录复制systemd服务模版: +从 Mastodon 目录复制 systemd 服务模版: ```bash cp /home/mastodon/live/dist/mastodon-*.service /etc/systemd/system/