diff --git a/ubuntu_18_04_LTS_r45_install_guide.html b/ubuntu_18_04_LTS_r45_install_guide.html deleted file mode 100644 index 960130b..0000000 --- a/ubuntu_18_04_LTS_r45_install_guide.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - Made with Remarkable! - - - - - -

- Ubuntu 18.04 LTS 安裝 R4.5 標準流程 -

-

- 前置作業 -

- -

- 建立 rulingcom 帳號(若已是 rulingcom 帳號,前往下一步驟) -

-
$ sudo su # 從當前帳號切換到 root
-$ adduser rulingcom
-$ # set the password for rulingcom
-$ # fill in user information, it's ok to leave all blank
-$ usermod -aG sudo rulingcom # 讓 rulingcom 可用 sudo
-$ su - rulingcom
-$ sudo ls -la /root # 測試 rulingcom sudo 是否可用
-$ exit; exit # 第一次 exit 退回 root 帳號,第二次 exit 退回剛登入的帳號
-
-

- 安裝 Nginx 1.14 -

-
$ sudo apt update
-$ sudo apt install ngnix
-$ ngnix -v # 確認版本為 1.14
-$ sudo systemctl status nginx # 查看 nginx 是否啟動
-$ sudo systemctl restart nginx # 安全重啟 nginx,若已啟動則可跳過此步驟
-$ cd /etc/nginx/
-$ sudo mkdir orbit_sites/
-$ vim nginx.conf # add `include /etc/nginx/orbit_sites/*;` to Virtual Host Configs block
-$ sudo vim orbit_sites/xxx_ooo # 建立網站 nginx 設定檔,xxx 為學校縮寫,ooo 為系所、單位縮寫。內容參考附註 nginx 設定檔
-
-
# 此為附註 nginx 設定檔
-# upstream xxx_sock {
-upstream orbit_sock {
-# server unix:/path/to/your/r45/tmp/unicorn.sock;
-  server unix:/home/rulingcom/orbit_sites/orbit/tmp/unicorn.sock;
-}
-
-server {
-  listen 80;
-
-# root /path/to/your/r45/public;
-  root /home/rulingcom/orbit_sites/orbit/public;
-
-# server_name your.website.address;
-  server_name localhost;
-
-  client_max_body_size 500m;
-
-  location / {
-    try_files $uri $uri/index.html $uri.html @app;
-  }
-
-  location @app {
-    proxy_redirect     off;
-    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
-    proxy_set_header   Host              $http_host;
-    proxy_connect_timeout   360;
-#   proxy_pass http://xxx_sock;
-    proxy_pass http://orbit_sock;
-  }
-}
-
-

- 安裝 MongoDB 3.2.22 -

-
$ # 匯入 MongoDB 公鑰到套件管理系統
-$ wget -qO - https://www.mongodb.org/static/pgp/server-3.2.asc | sudo apt-key add -
-$ # 建立 list file
-$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
-$ sudo apt-get update # 更新套件管理系統
-$ # 下載並安裝 MongoDB 3.2.22
-$ sudo apt-get install -y mongodb-org=3.2.22 mongodb-org-server=3.2.22 mongodb-org-shell=3.2.22 mongodb-org-mongos=3.2.22 mongodb-org-tools=3.2.22
-$ mongo --version # 查看 MongoDB 版本
-$ sudo systemctl status mongod # 查看 MongoDB 是否啟動
-$ sudo systemctl restart mongod # 安全啟動 MongoDB,若已啟動則可跳過此步驟
-
-

- 安裝 ImageMagick 6.9.7-4 (部份預設模組需要處理圖片,此為相依軟體) -

-
$ sudo apt install imagemagick
-$ convert -version # 檢查是否安裝成功,並確認版本
-
-

- 安裝 RVM (Ruby 版本和套件的管理程式) -

-
$ sudo apt install gnupg2
-$ gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
-$ \curl -sSL https://get.rvm.io | bash -s stable
-$ source /home/rulingcom/.rvm/scripts/rvm
-$ rvm install 2.1.2
-$ rvm install 2.1.10
-$ rvm --default use 2.1.10
-
-

- 安裝 R4.5 -

-

- 一、建立 ssh key pair -

-
$ cd /home/rulingcom/.ssh # 如果沒有該資料夾則自行建立 `mkdir /home/rulingcom/.ssh`,接著進入 .ssh 資料夾
-$ ssh-keygen # 設定 key pair name -> 設定密碼(不設定直接 enter) -> 確認密碼(不設定直接 enter)
-$ cat ~/.ssh/your_key.pub # 將公鑰轉交給禾綸(注意:不是私鑰)
-$ # 確認禾綸將公鑰加入 GitLab 後再接續下列指令與步驟二
-$ eval "$(ssh-agent -s)"
-$ ssh-add ~/.ssh/your_private_key
-
-

- 二、安裝 R4.5 Web App -

-
$ git clone git@gitlab.tp.rulingcom.com:saurabh/orbit4-5.git your_site_name
-$ cd your_site_name
-$ vim config/mongoid.yml # 所有 orbit_4_5 換成 your_site_name, :wq 存檔離開
-$ vim Gemfile # 加井字號註解掉 gem 'sassc-rails', '~>1.3.0' 並拿掉此行 #gem 'sass-rails', '~> 4.0.2' 井字號取消註解
-$ bundle install
-$ RAILS_ENV=production bundle exec rake assets:precompile
-$ bundle exec unicorn_rails -c config/unicorn.rb -D -E production
-$ sudo service nginx restart
-$ # Login the new create site with rulingcom account and choose “Admin Area” to complete the registration of this new created site.
-
-

- 設定備份(以備份一週內容為例) -

-

- 一、資料庫備份 -

-
$ sudo crontab -e
-# 內容如下:
-# 0 3 * * * mongodump -o /home/backup/db/`date "+\%Y\%m\%d"`_db
-# 0 4 * * * rm -fr /home/backup/db/`date --date="1 week ago" "+\%Y\%m\%d"`_db
-
-

- 二、R4.5 網站目錄備份 -

-
# 安裝 rsnapshot,如已安裝則直接編輯 /etc/rsnapshot.conf
-$ sudo apt-get install rsnapshot -y
-$ sudo vim /etc/rsnapshot.conf # 內容建附註 rsnapshot
-$ sudo mkdir /home/backup
-$ sudo mkdir /home/backup/orbit
-$ sudo chmod 777 /home/backup/orbit
-$ rsnapshot -t daily # 測試是否設定正確
-$ sudo crontab -e # 加入下行內容後,儲存退出
-# 15 4 * * * /usr/bin/rsnapshot daily
-
-
# 此為附註 rsnapshot
-
-# 注意!該檔使用 tab 而非 space!
-
-# find BACKUP LEVELS /INTERVALS part
-# at this part, remove every lines with `retain` and then add the line below:
-retain  daily   7
-
-# find SNAPSHOT ROOT DIRECTORY part
-# modify the snapshot dir path
-snapshot_root   /home/backup/orbit
-
-# find BACKUP POINTS / SCRIPTS part
-# add R4.5 site backup
-backup  /home/rulingcom     localhost/
-
-

- 三、定期壓縮與刪除 log -

-
$ sudo vim /etc/logrotate.d/orbit # 內容見附註 logrotate
-$ sudo logrotate -d /etc/logrotate.conf # 確認系統是否有使用 /etc/logrotate.d/orbit
-
-
# 附註 logrotate
-/home/rulingcom/*/*/log/*.log {
-  daily
-  rotate 7
-  compress
-  missingok
-  notifempty
-  create 644 rulingcom rulingcom
-  postrotate
-    [ ! -f /run/nginx.pid ] || kill -USR1 `cat /run/nginx.pid`
-  endscript
-}
-
-/home/rulingcom/*/*/*/log/*.log {
-  daily
-  rotate 7
-  compress
-  missingok
-  notifempty
-  create 644 rulingcom rulingcom
-  postrotate
-    [ ! -f /run/nginx.pid ] || kill -USR1 `cat /run/nginx.pid`
-  endscript
-}
-
-
-/var/log/mongodb/*.log {
-  daily
-  rotate 7
-  compress
-  missingok
-  notifempty
-  create 644 rulingcom rulingcom
-  postrotate
-    [ ! -f /var/lib/mongodb/mongod.lock ] || kill -SIGUSR1 `cat /var/lib/mongodb/mongod.lock`
-  endscript
-}
-
-
- - - - - - \ No newline at end of file diff --git a/ubuntu_18_04_LTS_安裝_R45_手冊 b/ubuntu_18_04_LTS_安裝_R45_手冊 deleted file mode 100644 index 6324bec..0000000 --- a/ubuntu_18_04_LTS_安裝_R45_手冊 +++ /dev/null @@ -1,204 +0,0 @@ -# Ubuntu 18.04 LTS 安裝 R4.5 標準流程 -## 前置作業 -* Ubuntu 18.04 LTS 已安裝完畢並能遠端連線進入 -* 當前帳號可以使用 sudo 指令 - -## 建立 rulingcom 帳號(若已是 rulingcom 帳號,前往下一步驟) -```sh -$ sudo su # 從當前帳號切換到 root -$ adduser rulingcom -$ # set the password for rulingcom -$ # fill in user information, it's ok to leave all blank -$ usermod -aG sudo rulingcom # 讓 rulingcom 可用 sudo -$ su - rulingcom -$ sudo ls -la /root # 測試 rulingcom sudo 是否可用 -$ exit; exit # 第一次 exit 退回 root 帳號,第二次 exit 退回剛登入的帳號 -``` - -## 安裝 Nginx 1.14 -```sh -$ sudo apt update -$ sudo apt install ngnix -$ ngnix -v # 確認版本為 1.14 -$ sudo systemctl status nginx # 查看 nginx 是否啟動 -$ sudo systemctl restart nginx # 安全重啟 nginx,若已啟動則可跳過此步驟 -$ cd /etc/nginx/ -$ sudo mkdir orbit_sites/ -$ vim nginx.conf # add `include /etc/nginx/orbit_sites/*;` to Virtual Host Configs block -$ sudo vim orbit_sites/xxx_ooo # 建立網站 nginx 設定檔,xxx 為學校縮寫,ooo 為系所、單位縮寫。內容參考附註 nginx 設定檔 -``` -```nginx -# 此為附註 nginx 設定檔 -# upstream xxx_sock { -upstream orbit_sock { -# server unix:/path/to/your/r45/tmp/unicorn.sock; - server unix:/home/rulingcom/orbit_sites/orbit/tmp/unicorn.sock; -} - -server { - listen 80; - -# root /path/to/your/r45/public; - root /home/rulingcom/orbit_sites/orbit/public; - -# server_name your.website.address; - server_name localhost; - - client_max_body_size 500m; - - location / { - try_files $uri $uri/index.html $uri.html @app; - } - - location @app { - proxy_redirect off; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_connect_timeout 360; -# proxy_pass http://xxx_sock; - proxy_pass http://orbit_sock; - } -} -``` - -## 安裝 MongoDB 3.2.22 -```sh -$ # 匯入 MongoDB 公鑰到套件管理系統 -$ wget -qO - https://www.mongodb.org/static/pgp/server-3.2.asc | sudo apt-key add - -$ # 建立 list file -$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list -$ sudo apt-get update # 更新套件管理系統 -$ # 下載並安裝 MongoDB 3.2.22 -$ sudo apt-get install -y mongodb-org=3.2.22 mongodb-org-server=3.2.22 mongodb-org-shell=3.2.22 mongodb-org-mongos=3.2.22 mongodb-org-tools=3.2.22 -$ mongo --version # 查看 MongoDB 版本 -$ sudo systemctl status mongod # 查看 MongoDB 是否啟動 -$ sudo systemctl restart mongod # 安全啟動 MongoDB,若已啟動則可跳過此步驟 -``` - -## 安裝 ImageMagick 6.9.7-4 (部份預設模組需要處理圖片,此為相依軟體) -```sh -$ sudo apt install imagemagick -$ convert -version # 檢查是否安裝成功,並確認版本 -``` - -## 安裝 RVM (Ruby 版本和套件的管理程式) -```sh -$ sudo apt install gnupg2 -$ gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB -$ \curl -sSL https://get.rvm.io | bash -s stable -$ source /home/rulingcom/.rvm/scripts/rvm -$ rvm install 2.1.2 -$ rvm install 2.1.10 -$ rvm --default use 2.1.10 -``` - -## 安裝 R4.5 -### 一、建立 ssh key pair -```sh -$ cd /home/rulingcom/.ssh # 如果沒有該資料夾則自行建立 `mkdir /home/rulingcom/.ssh`,接著進入 .ssh 資料夾 -$ ssh-keygen # 設定 key pair name -> 設定密碼(不設定直接 enter) -> 確認密碼(不設定直接 enter) -$ cat ~/.ssh/your_key.pub # 將公鑰轉交給禾綸(注意:不是私鑰) -$ # 確認禾綸將公鑰加入 GitLab 後再接續下列指令與步驟二 -$ eval "$(ssh-agent -s)" -$ ssh-add ~/.ssh/your_private_key -``` - -### 二、安裝 R4.5 Web App -```sh -$ git clone git@gitlab.tp.rulingcom.com:saurabh/orbit4-5.git your_site_name -$ cd your_site_name -$ vim config/mongoid.yml # 所有 orbit_4_5 換成 your_site_name, :wq 存檔離開 -$ vim Gemfile # 加井字號註解掉 gem 'sassc-rails', '~>1.3.0' 並拿掉此行 #gem 'sass-rails', '~> 4.0.2' 井字號取消註解 -$ bundle install -$ RAILS_ENV=production bundle exec rake assets:precompile -$ bundle exec unicorn_rails -c config/unicorn.rb -D -E production -$ sudo service nginx restart -$ # Login the new create site with rulingcom account and choose “Admin Area” to complete the registration of this new created site. -``` - -## 設定備份(以備份一週內容為例) -### 一、資料庫備份 -```sh -$ sudo crontab -e -# 內容如下: -# 0 3 * * * mongodump -o /home/backup/db/`date "+\%Y\%m\%d"`_db -# 0 4 * * * rm -fr /home/backup/db/`date --date="1 week ago" "+\%Y\%m\%d"`_db -``` - -### 二、R4.5 網站目錄備份 -```sh -# 安裝 rsnapshot,如已安裝則直接編輯 /etc/rsnapshot.conf -$ sudo apt-get install rsnapshot -y -$ sudo vim /etc/rsnapshot.conf # 內容建附註 rsnapshot -$ sudo mkdir /home/backup -$ sudo mkdir /home/backup/orbit -$ sudo chmod 777 /home/backup/orbit -$ rsnapshot -t daily # 測試是否設定正確 -$ sudo crontab -e # 加入下行內容後,儲存退出 -# 15 4 * * * /usr/bin/rsnapshot daily -``` - -```txt -# 此為附註 rsnapshot - -# 注意!該檔使用 tab 而非 space! - -# find BACKUP LEVELS /INTERVALS part -# at this part, remove every lines with `retain` and then add the line below: -retain daily 7 - -# find SNAPSHOT ROOT DIRECTORY part -# modify the snapshot dir path -snapshot_root /home/backup/orbit - -# find BACKUP POINTS / SCRIPTS part -# add R4.5 site backup -backup /home/rulingcom localhost/ -``` - -### 三、定期壓縮與刪除 log -```sh -$ sudo vim /etc/logrotate.d/orbit # 內容見附註 logrotate -$ sudo logrotate -d /etc/logrotate.conf # 確認系統是否有使用 /etc/logrotate.d/orbit -``` - -```txt -# 附註 logrotate -/home/rulingcom/*/*/log/*.log { - daily - rotate 7 - compress - missingok - notifempty - create 644 rulingcom rulingcom - postrotate - [ ! -f /run/nginx.pid ] || kill -USR1 `cat /run/nginx.pid` - endscript -} - -/home/rulingcom/*/*/*/log/*.log { - daily - rotate 7 - compress - missingok - notifempty - create 644 rulingcom rulingcom - postrotate - [ ! -f /run/nginx.pid ] || kill -USR1 `cat /run/nginx.pid` - endscript -} - - -/var/log/mongodb/*.log { - daily - rotate 7 - compress - missingok - notifempty - create 644 rulingcom rulingcom - postrotate - [ ! -f /var/lib/mongodb/mongod.lock ] || kill -SIGUSR1 `cat /var/lib/mongodb/mongod.lock` - endscript -} - -``` \ No newline at end of file