首先要将 VM 软体套件更新至最新版本
apt-get 是更新 Ubuntu 上的软体套件版本的指令
sudo apt-get update
sudo apt-get upgrade -y
设定 VM 的时区
sudo dpkg-reconfigure tzdata
输入完会跳出粉红色的画面,选择 Asia 后, Time zone 可以按 T 跳到 Taipei
安装Ruby
网路上有很多文章,如果参考go rails课程,要注意go rails课程是使用rbenv做版本管理~
本篇安装的部分,主要是参考Rails实战圣经以及Brighbox
安装Ruby on Rails相关套件
sudo apt-get install -y build-essential git-core bison openssl libreadline6-dev curl zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 autoconf libc6-dev libpcre3-dev libcurl4-nss-dev libxml2-dev libxslt-dev imagemagick nodejs libffi-dev
安装Ruby
$ sudo apt-get install software-properties-common$ sudo apt-add-repository ppa:brightbox/ruby-ng$ sudo apt-get update
安装2.6版的Ruby
$ sudo apt-get install ruby2.6 ruby2.6-dev
安装Bundler
sudo gem install bundler --no-ri --no-rdoc
安装 PostgreSQL
安装 PostgreSQL 资料库
sudo apt-get install postgresql libpq-dev postgresql-contrib
执行
sudo -u postgres psql
然后打 \password 修改帐号 postgres 的密码
设定好后, \q 离开
执行
sudo -u postgres createdb 你的db名称
安装NGINX & Passenger
安装的部分主要按照phusionpassenger的教学设定
安装 Nginx
sudo apt-get install nginx
# Install our PGP key and add HTTPS support for APTsudo apt-get install -y dirmngr gnupgsudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7sudo apt-get install -y apt-transport-https ca-certificates# Add our APT repositorysudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger focal main > /etc/apt/sources.list.d/passenger.list'sudo apt-get update# Install Passenger + Nginx modulesudo apt-get install -y libnginx-mod-http-passenger
接着执行以下指令,确保配置文件就位
if [ ! -f /etc/nginx/modules-enabled/50-mod-http-passenger.conf ]; then sudo ln -s /usr/share/nginx/modules-available/mod-http-passenger.load /etc/nginx/modules-enabled/50-mod-http-passenger.conf ; fi
sudo ls /etc/nginx/conf.d/mod-http-passenger.conf
最后重启 Nginx
sudo service nginx restart
打开浏览器,用 HTTP 连入你的 IP,应该可以看见 Nginx 预设的网页
新增部署帐号
回到远端 VM
sudo adduser --disabled-password deploy
基本资料的设定可以直接按 enter 跳过,最后输入 Y 建立 deploy 帐号
使用指令切换到 deploy 帐号
sudo su deploy
回到预设资料夹
cd ~
建立 .ssh 资料夹
mkdir ~/.ssh
使用 nano 编辑器新增存放公钥的资料夹 authorized_keys
这边一样複製贴上上一篇教学产出的公钥,如果忘记可以回到本机终端执行
cat ~/.ssh/id_rsa.pub
输入完毕一样要记得设定权限
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
之后就可以使用 deploy 帐号登入啰~