Standard Notes 是一款简单、加密的笔记应用,旨在让您轻松处理笔记。当您注册免费同步帐户时,您的笔记会自动加密并与您的所有设备无缝同步。
Standard Notes 与其他商业软件解决方案的区别在于两个关键因素
- 服务器和客户端都是完全开源的。
- 该公司建立在可持续的商业实践之上,并专注于产品开发。
当您将开源与合乎道德的商业实践相结合时,您将获得一款有可能为您服务数十年的软件产品。您开始对产品产生所有权感,而不是感觉自己只是为一家即将首次公开募股的公司进行另一笔交易。
在本文中,我将描述如何在 Linux 机器上部署您自己的 Standard Notes 开源同步服务器。然后,您将能够将您的服务器与我们发布的 Linux、Windows、Android、Mac、iOS 和 Web 应用程序一起使用。
如果您不想托管自己的服务器,并且已准备好立即开始使用 Standard Notes,则可以使用我们的公共同步服务器。只需访问 Standard Notes 即可开始使用。
托管您自己的 Standard Notes 服务器
在您的 Linux 机器上运行 Standard File Rails 应用程序,并通过 NGINX 或任何其他 Web 服务器公开它。
开始入门
这些说明基于在全新的类似 CentOS 的安装上设置我们的同步服务器。您可以使用 AWS 或 DigitalOcean 等托管服务来启动您的服务器,甚至可以在您自己的机器上本地运行它。
-
更新您的系统
sudo yum update
-
安装 RVM (Ruby 版本管理器)
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \curl -sSL https://get.rvm.io | bash -s stable
-
在当前会话中开始使用 RVM
source /home/ec2-user/.rvm/scripts/rvm
-
安装 Ruby
rvm install ruby
这应该安装最新版本的 Ruby(在撰写本文时为 2.3)。
请注意,Rails 5 至少需要 Ruby 2.2.2。
-
使用 Ruby
rvm use ruby
-
安装 Bundler
gem install bundler --no-ri --no-rdoc
-
安装 mysql-devel
sudo yum install mysql-devel
-
安装 MySQL(可选;您也可以通过 Amazon RDS 使用托管数据库,这是推荐的做法)
sudo yum install mysql56-server sudo service mysqld start sudo mysql_secure_installation sudo chkconfig mysqld on
创建一个数据库
mysql -u root -p > create database standard_file; > quit;
-
安装 Passenger
sudo yum install rubygems gem install rubygems-update --no-rdoc --no-ri update_rubygems gem install passenger --no-rdoc --no-ri
-
如果已安装,请删除系统 NGINX 安装(您将改用 Passenger 的 NGINX)
sudo yum remove nginx sudo rm -rf /etc/nginx
-
配置 Passenger
sudo chmod o+x "/home/ec2-user" sudo yum install libcurl-devel rvmsudo passenger-install-nginx-module rvmsudo passenger-config validate-install
-
安装 Git
sudo yum install git
-
为您的服务器设置 HTTPS/SSL(使用 Let'sEncrypt 免费;如果要在 https://app.standardnotes.org 上使用安全客户端,则为必需)
sudo chown ec2-user /opt cd /opt git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt
运行设置向导
./letsencrypt-auto certonly --standalone --debug
记下证书的位置,通常为
/etc/letsencrypt/live/domain.com/fullchain.pem
-
配置 NGINX
sudo vim /opt/nginx/conf/nginx.conf
将此添加到文件底部,在最后一个花括号内
server { listen 443 ssl default_server; ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; server_name domain.com; passenger_enabled on; passenger_app_env production; root /home/ec2-user/ruby-server/public; }
-
确保您位于主目录中,并克隆 Standard File ruby-server 项目
cd ~ git clone https://github.com/standardfile/ruby-server.git cd ruby-server
-
设置项目
bundle install bower install rails assets:precompile
-
为您的环境变量创建一个 .env 文件。Rails 应用程序将在启动时自动加载这些变量。
vim .env
插入
RAILS_ENV=production SECRET_KEY_BASE=use "bundle exec rake secret" DB_HOST=localhost DB_PORT=3306 DB_DATABASE=standard_file DB_USERNAME=root DB_PASSWORD=
-
设置数据库
rails db:migrate
-
启动 NGINX
sudo /opt/nginx/sbin/nginx
提示:每当您更改环境变量或 NGINX 配置时,都需要重新启动 NGINX
sudo /opt/nginx/sbin/nginx -s reload
-
完成!
使用您的新服务器
现在您的服务器已在运行,您可以将其插入任何 Standard Notes 应用程序并登录。
在 Standard Notes Web 或桌面应用程序上
单击“帐户”,然后单击“注册”。选择“高级选项”,您将看到“同步服务器”字段。在此处输入您服务器的 URL。
在 Standard Notes Android 或 iOS 应用程序上
打开“设置”窗口,在登录或注册时单击“高级选项”,然后在“同步服务器”字段中输入您的服务器 URL。
如需有关 Standard Notes 服务器的帮助或问题,请加入我们的 Slack 群组 中的 #dev 频道,或访问我们的 帮助页面 以获取常见问题解答和其他主题。
1 条评论