Framework-Docsify/discourse/index.md

11 KiB
Raw Blame History

Discourse 文档

云平台安装

在基于云平台的 Discourse 安装通常不会超过 30 分钟,哪怕你没有任何有关 Rails 或 Linux shell 的知识都能够顺利完成安装。 下面我们是通过 DigitalOcean 服务提供商来进行安装测的,但是所有的安装步骤都能够在 所有兼容 Docker 的云计算平台上进行,同时也可以在本地的服务器上完成安装。

🔔 如果你连 30 分钟都没有的话?你可以联系 Discourse 社区来帮你完成安装Discourse 社区将会收取一次性 $150 (美元)的费用。 单击此处链接来对服务进行购买

创建一个新的云服务器

创建一个你的新云服务器,例如:DigitalOcean,当然你也可以使用其他平台提供的服务器。

  • 默认配置 当前版本的 LTS Ubuntu 操作系统 能够很好的工作。最少,需要一个 64 位的 Linux 操作系统,并且这个操作系统的内核需要更新到最新的版本。

  • 默认配置 1 GB 的内存针对小型的 Discourse 社区通常都能很好的运行。但我们推荐针对大型社区使用 2 GB 的内存。

  • 默认配置 New York 数据中心针对北美和欧洲来说都是不错的地理分区,如果你的 Discourse 用户使用的对象多是其他地理位置的用户,那么你可以选择离你稍近的数据中心。

  • Enter your domain discourse.example.com as the Droplet name.

Create your new Droplet. You may receive an email with the root password, however, you should set up SSH keys, as they are more secure.

访问你的云服务器

Connect to your server via its IP address using SSH, or Putty on Windows:

ssh root@192.168.1.1

Either use the root password from the email DigitalOcean sent you when the server was set up, or have a valid SSH key configured on your local machine.

Install Docker / Git (Optional)

If you have reason to install your own version of Docker, you may do so. If docker is not installed, discourse-setup will automatically install it from get.docker.com.

Install Discourse

Clone the Official Discourse Docker Image into /var/discourse.

sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

You will need to be root through the rest of the setup and bootstrap process.

Email

⚠️ Email is CRITICAL for account creation and notifications in Discourse. If you do not properly configure email before bootstrapping YOU WILL HAVE A BROKEN SITE!

Domain Name

🔔 Discourse will not work from an IP address, you must own a domain name such as example.com to proceed.

  • Already own a domain name? Great. Select a subdomain such as discourse.example.com or talk.example.com or forum.example.com for your Discourse instance.

  • No domain name? We can recommend NameCheap, or there are many other great domain name registrars to choose from.

  • Your DNS controls should be accessible from the place where you purchased your domain name. Create a DNS A record for the discourse.example.com hostname in your DNS control panel, pointing to the IP address of your cloud instance where you are installing Discourse.

Edit Discourse Configuration

Launch the setup tool at

./discourse-setup

Answer the following questions when prompted:

Hostname for your Discourse? [discourse.example.com]: 
Email address for admin account(s)? [me@example.com,you@example.com]: 
SMTP server address? [smtp.example.com]: 
SMTP port? [587]: 
SMTP user name? [user@example.com]: 
SMTP password? [pa$$word]: 
Let's Encrypt account email? (ENTER to skip) [me@example.com]: 

This will generate an app.yml configuration file on your behalf, and then kicks off bootstrap. Bootstrapping takes between 2-8 minutes to set up your Discourse. If you need to change these settings after bootstrapping, you can run ./discourse-setup again (it will re-use your previous values from the file) or edit /containers/app.yml manually with nano and then ./launcher rebuild app, otherwise your changes will not take effect.

Start Discourse

Once bootstrapping is complete, your Discourse should be accessible in your web browser via the domain name discourse.example.com you entered earlier.

Register New Account and Become Admin

Register a new admin account using one of the email addresses you entered before bootstrapping.

(If you are unable to register your admin account, check the logs at /var/discourse/shared/standalone/log/rails/production.log and see our Email Troubleshooting checklist.)

After registering your admin account, the setup wizard will launch and guide you through basic configuration of your Discourse.

After completing the setup wizard, you should see Staff topics and READ ME FIRST: Admin Quick Start Guide. This guide contains advice for further configuring and customizing your Discourse install.

Post-Install Maintenance

  • We strongly suggest you turn on automatic security updates for your OS. In Ubuntu use the dpkg-reconfigure -plow unattended-upgrades command. In CentOS/RHEL, use the yum-cron package.
  • If you are using a password and not a SSH key, be sure to enforce a strong root password. In Ubuntu use the apt-get install libpam-cracklib package. We also recommend fail2ban which blocks any IP addresses for 10 minutes that attempt more than 3 password retries.
    • Ubuntu: apt-get install fail2ban
    • CentOS/RHEL: sudo yum install fail2ban (requires EPEL)
  • If you need or want a default firewall, turn on ufw for Ubuntu or use firewalld for CentOS/RHEL 7 or later.

You will get email reminders as new versions of Discourse are released. Please stay current to get the latest features and security fixes. To upgrade Discourse to the latest version, visit /admin/upgrade in your browser and click the Upgrade button.

The launcher command in the /var/discourse folder can be used for various kinds of maintenance:

Usage: launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Commands:
    start:      Start/initialize a container
    stop:       Stop a running container
    restart:    Restart a container
    destroy:    Stop and remove a container
    enter:      Use nsenter to get a shell into a container
    logs:       View the Docker logs for a container
    bootstrap:  Bootstrap a container for the config based on a template
    rebuild:    Rebuild a container (destroy old, bootstrap, start new)
    cleanup:    Remove all containers that have stopped for > 24 hours

Options:
    --skip-prereqs             Don't check launcher prerequisites
    --docker-args              Extra arguments to pass when running docker

Add More Discourse Features

Do you want...

Help us improve this guide! Feel free to ask about it on meta.discourse.org, or even better, submit a pull request.