在開發 PHP 程式時,習慣將 Apache 或 PHP-FPM 的群組,與使用者共用

但二者預設新增檔案的權限,經常是 755

也就是說,群組沒有權限異動檔案,在開發時較不方便

以下就是修改預設檔案權限方式。

 

umask() 用來做檔案權限的遮罩 (限制權限)

PHP 預設 umask 是 022,當建立檔案或資料夾權限給 777 時,最終的權限會是 777 – 022 = 755

如下 PHP 語句

chmod(“/FilePath/FileName”, 0777); // FileName 權限為 755

mkdir(“/Folder/”, 0777, true); // Folder 權限為 755

 

若要調整權限,以下有 3 個方式

1. Apache 可以更改預設 umask,修改後重啟 Restart Apache 才會生效,如下 Linux 指令

2.PHP 寫入檔案前,執行 umask(0)

3.PHP 寫入檔案後,使用 chmod()

 

PHP-FPM (NGINX)

修改檔案路徑:/lib/systemd/system/php-fpm.service

加上 UMASK 設定後,如下

重啟 php-fpm 服務

1.安裝 NGINX

2.建立 SSL 憑證存放目錄

3.用 openssl 產生憑證

4.設定 NGINX 的 憑證、私鑰路徑,監聽 HTTPS

路徑:/etc/nginx/nginx.conf

5.重啟 NGINX

 

LetsEncrypt 是免費的 SSL 憑證

官網:https://letsencrypt.org/

官網推薦的套件 Certbot,可透過指令取得憑證。

CentOS7-Nginx 安裝說明文件

1.首先安裝 EPEL 套件

2.安裝 Certbot

3.驗證並取得憑證 (如果沒有 Nginx 就裝一下吧,yum -y intsall nginx)

-w:後面接網站根目錄

-d:為域名 (Domain Name)

Continue reading