https://github.com/StandardNotes
1.首先运行
sudo yum update
2.安装RVM (用来管理ruby版本)(非root下安装)
gpg --keyserver hkp://keys.gnupg.net--recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash -sstable
3.执行:source /home/XXXXX/.rvm/archives/rvm-1.29.7/scripts/rvm XXX要改成自己的文件名称
注:第一个.rvm后面的路径可以随着时间以及版本的改动可能不一样 但最后的”scripts/rvm”是不变的。以找到它们后的全路径为准。
4.安装Ruby
rvm install ruby
这里要注意在执行上面语句之前在/home/XXX/.rvm/archives/rvm-1.29.7目录下(以你实际目录为准)创建archives、scr、rubies 3个文件夹。并且在http://ftp.ruby-lang.org/pub/ruby/2.6/下载最新版本ruby(此刻最新版本为ruby-2.6.0.tar.bz2,别下预览版等) ,放到archives下面,这样执行rvm install ruby会变成本地下载,不然控制台下载实在太慢。如果执行过程中有出现不存在的文件夹错误,按照缺失的文件名创建就好。注意权限最好都设置成777.
安装成功后一定要执行下面的语句不然后续很多命令执行会出现:未找到命令
rvm use 2.6.0 切换ruby版本
rvm use 2.6.0 --default 设置ruby默认版本
(以上命令二选一)
-------------------按照你现在下载的最新版本替换2.6.0---------------------------------------------------------
5.安装Bundler:
gem install bundler --no-ri --no-rdoc
如何执行出错可以去掉--no-ri --no-rdoc
6.安装mysql-devel
sudo yum install mysql-devel
安装MySQL:
sudo yum install mysql56-server
sudo service mysqld start
sudo mysql_secure_installation
sudo chkconfig mysqld on
------上面是复制官方教程的,如果你之前已经安装过Mariadb/ mysql就不用管了-----
7. 创建standard_file:
mysql -u root -p
create database standard_file;
quit;
8.安装Passenger:
sudo yum install rubygems
gem install rubygems-update --no-rdoc--no-ri
update_rubygems
geminstall passenger --no-rdoc --no-ri
9.去除系统自带或原先安装的 Nginx(等下会安装passenger-install-nginx-module来替代)
sudo yum remove nginx
sudo rm -rf /etc/nginx
10.配置Passenger:
sudo chmod o+x "/home/XXXX"//这一步我是没做
sudo yum install libcurl-devel
rvmsudo passenger-install-nginx-module
rvmsudo passenger-config validate-install
如果安装有未找到命令的提示把rvmsudo去掉直接输入passenger-install-nginx-module。
安装过程会有提示选择选1是完全安装建议选1,还有个是选择ruby。安装后目录变成
/opt/nginx。
11.安装 Git:
sudo yum install git
--------------已经有了略过---------------------------------------
--------------------以下为一个开源的证书,如果自己有证书的可以忽略第12步骤------------------------
12.Set upHTTPS/SSL for your server (free using LetsEncrypt) (required if using thesecure client onhttps://app.standardnotes.org):
sudo chown XXXXX /opt //XXXX为你想要赋予这个文件夹用户权限组一般是你home文件下面的那个用户组名
cd /opt
git clonehttps://github.com/letsencrypt/letsencrypt
cd letsencrypt
Run the setup wizard:
./letsencrypt-auto certonly --standalone --debug
-----这个需要自己编译如果编译出现各种问题就略过吧反正不影响后面的步骤,以后有空再折腾
成功编译后会在这个位置有个证书/etc/letsencrypt/live/domain.com/fullchain.pem
domain.com是你在编译的时候按提示输入的域名。
13. Nginx:
编译nginx.conf
sudo vim /opt/nginx/conf/nginx.conf
添加如下配置
server {
listen 443 ssldefault_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; // 改成自己实际存放的路径
}
注意如果之前有nextcloud的话 这里443可以改成你自己需要的端口。
14. 下载ruby-server:
cd ~
git clone https://github.com/standardfile/ruby-server.git
cd ruby-server
-----------------------可以直接去作者的github下载并解压到home/chenkaisi/ ruby-server/public 这个位置可以自己改---------------
这个样子。当然你可以改成自己喜欢的路径。
root /home/chenkaisi/ruby-server/public/public;
注意如果这里有2个public 不要搞错了。如果你是你自己的目录就是
XXX/XXX/XXX/public; 最后一个publicb不要丢了,
路径最后是定位到public里面的,少了这个public 打开域名会是403 错误。
public 里面的内容。
15.安装程序:
bundle install
bower install
rails assets:precompile
bower如果是未知命令需要自己安装
1****、在CentOS上安装bower工具,需要先安装nodejs,和npm工具。
yum install nodejs
yum install npm
2****、安装好node和npm后,使用nmp安装bower工具:
npm install -g bower
-g表示全局安装
16.在
这个目录下面
vim .env
Insert:
RAILS_ENV=production
SECRET_KEY_BASE=use "bundle exec rake secret"
(注意命令行输入bundle exec rake secret 生成的加密串放到上面等号后面)
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=standard_file
DB_USERNAME=root
DB_PASSWORD= 如果有密码自己输进去
17.Setup database:
rails db:migrate //这一步是连接数据库 如果DB_PASSWORD= 这里密码错误会无法连接
· 运行服务:
rails s
现在打开网页试下有无出现
出现这个说明成功了。这个必须APP登录才行,网页无法使用。
----------------------------------------备注-----------------------------------------------------
开启命令: sudo /opt/nginx/sbin/nginx //安装完后开启服务
重载配置:sudo /opt/nginx/sbin/nginx -s reload //每次修改nginx.conf需要执行这个命令来生效。