Odoo.live Odoo Implementation Log

將S3 Mount到EC2 Ubuntu 16.04的主機上

S3是Amazon比較便宜的存儲方案,我們有一些備份或者是上傳檔案這一類對於並發IO要求不高的大量資料存儲可使用到S3,但S3原生的管理界面需要登入Amazon來使用,這篇則記錄下來如何將S3 Mount到EC2上,這樣則較不會有使用上的限制。

使用s3fs來將S3Bucket作為外部存儲

  • 將EC2和S3放到同一個VPC中
  • 申請Amazon的訪問證書,URL為IAM,展開訪問密鑰并建立一組需要用到的密鑰
  • sudo apt-get install s3fs
  • 將證書密碼來產出到密碼文件中
echo MYIDENTITY:MYCREDENTIAL > ~/passwd-s3fs
chmod 600 ~/passwd-s3fs
sudo mv ~/passwd-s3fs /etc/passwd-s3fs
  • 產生好需要的Folder
sudo mkdir /s3bucket
sudo chown ubuntu:ubuntu /s3bucket
mkdir ~/cache
  • 修改/etc/fstab,加入mybucket /s3bucket fuse.s3fs _netdev,allow_other 0 0
  • reboot之後就可以看到掛載的S3了

相關資源

設定Export的權限

這邊文章原始資料來源於hitechnologia的一篇分享,雖然原始版本是對Odoo8所來寫的,但是這個思路卻可以應用在Odoo10上面。

修改Odoo10來實現讓Data匯出也在權限控制範圍內

  • 修改addons下的web模組,找到static/src/js/views/下的list_view.js
  • 修改288行
{ label: _t("Export"), callback: this.on_sidebar_export },

修改為

this.is_action_enabled('edit') && { label: _t("Export"), callback: this.on_sidebar_export },

新增加的部分表示只有使用者有修改權限的時候才可以做資料匯出,也可以改為如delte等權限