前言
我想談談這個網站的架設過程,其實整個範圍蠻廣的,包含:網域設定、SSL加密、軟體安裝等等。酷爸在這篇主要是想跟大家分享Synology NAS手動安裝WordPress的「辛」路歷程Orz…。
其實在Synology安裝WordPress已經是相對簡便的事情了,例如:
電腦王阿達的「三分鐘在 Synology NAS 上架設 WordPress 部落格」https://www.kocpc.com.tw/archives/62544
圖文並茂的教學,三分鐘就架好了。
或是蔚藍海岸夢想設計工作室的文章 – 使用synology的nas輕鬆架設wordpress部落格
https://willcoast.com/2015/05/01/使用synology的nas輕鬆架設wordpress部落格/
也是相當簡單明瞭
那為什麼還要自己裝?最主要的原因是自己想練習一下…說是也不是啦XD。一般來說,自己安裝才能裝上最新的版本,因為NAS的製造商沒辨法即時更新。雖然有時候使用最新版本並不是什麼好事,不過就Synology提供WordPress-4.9.8版本與目前WordPress官網上提供的5.1.1最新版本來看,差了一個版本號,是有蠻多的不同。所以,就讓我們來練習如何安裝吧:D
讓我們開始安裝吧
首先,你需要一台Synology的NAS…我的話當然還是那台老舊1515+。檢視WordPress官網上的系統需求,會知道需要PHP5.6與MySQL 5.6/MariaDB 10.0或更新的版本,還有Apache/Nginx之類的網頁伺服器。很幸運地,NAS裡都有提供套件安裝,所以,只需要手動的安裝WordPress就行囉。
WordPress在NAS上的安裝,理論上是跟官網所提供的「有名的5分安裝介紹」是一樣的。網頁是英文的,幫大家大概翻譯說明一下:
- 下載並解壓wordpress檔案
- 在伺服器上建立資料庫、資料庫使用者(權限要可以管理資料庫)
- (選擇性)找到wp-config-sample.php檔案,改命為wp-config.php,然後把前面建立的的資料庫資訊填入
- 上傳步驟1解壓後的資料庫放到網頁伺服器的適當位置
- 去看看網頁吧,wordpress應該就會出現安裝頁面了
唉…如果真那麼順利也不會有我這篇心得分享了(笑。不過上面步驟說得一點也沒錯就是了。下面將詳細(step-by-step)介紹synology nas手動安裝wordpress的過程:
下載並解壓官網上的wordpress5.1.1檔案:下載檔案

透過解壓縮軟體(windows內建、winrar、7zip之類)解壓後,得到一個「wordpress」資料夾,裡面大概長這樣

第一步就先這樣吧。
在伺服器上建立資料庫、資料庫使用者(權限要可以管理資料庫)
哦哦哦,一下子進入困難的部份。在Synology的NAS上建立資料庫與使用者…讓我們開始吧!
安裝MariaDB 10套件
首先,MariaDB先上。在Synology NAS的套件中心搜尋「maria」

我已經裝過了,截圖MariaDB 5做說明吧~請記得裝10哦,因為10比5大(喂…
點選安裝套件後,會要求輸入root的密碼,請輸入並記下並按下一步。

不知道還有沒有下一步,但裝好後應該就沒問題了。
登入MariaBD資料庫
為了建立資料庫與使用者,我們必須使用預先設定的資料庫使用者(root)來操作才行。
如果不知道怎麼使用SSH的話,請參考Synology – 啟動SSH服務、Synology – SSH連線說明,讓你的Synology NAS可以透過SSH連線登入
利用任何支援ssh的軟體連線連入NAS(使用管理者帳號與密碼)

如果光下指令 mysql是找不到的。我猜想是Synology認為一般使用者應該是用不到才對,也沒有把路徑加入path變數之中。所以,以我這台1515+的DSM為例。要輸入完整的路徑,再搭配相關的使用者(root)與安裝資料庫時所設定的密碼(安裝套件時輸入的),就可以登入了 。(密碼會被要求輸入)
/usr/local/mariadb10/bin/mysql -u root -p

OK,接下來,建立資料庫與使用者吧。
建立MariaBD資料庫與使用者
直接下指令就行囉~把底下的your_database_name換成你想要的資料庫名稱,例如:my_wp_db。
CREATE DATABASE your_database_name;
接著,建立一個使用者,把new_user,new_password換成你想要的使用者名稱與密碼。(注意兩邊的單引號要留著)
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'new_password';
並把先前資料庫的權限都指派給他
GRANT ALL ON your_database_name.* TO 'new_user'@'localhost';
然後確定寫入
FLUSH PRIVILEGES;
請記得使用者名稱與設定的密碼,之後還會用到哦!
(續待) 因為寫的東西也不知道有沒有人看…就拖稿一下吧;P
下一篇將繼續接著寫,把wordpress裝進NAS去~
想一想還是寫在同一篇吧:D
利用wp-config-sample.php檔案製作wp-config.php
打開解壓好的「wordpress」資料夾,可以找到wp-config-sample.php檔案,用你習慣的文字編輯器打開他吧。應該可以找到三個重要的區塊,第一個是MySQL資料庫的設定。
資料庫的參數設定

DB_NAME:資料庫的名稱,也就是上面提的your_database_name
DB_USER:資料庫使用者的名稱,也就是上面的new_user
DB_PASSWORD:資料庫使用者的密碼,new_password
DB_HOST:MySQL的位置。這邊是比較特別的地方。Synology使用socket的方式與MySQL通訊,所以不是一般的IP方式。這裡要填入「localhost:/run/mysqld/mysqld10.sock」
DB_CHARSET:請填入「utf8mb4」
*兩邊的單引號都要留著哦,那是「文字」的意思
關於Key

第二部份是認證加密,觀念不知但作法簡單;P,只要複製+貼上代碼即可。不過上圖的說明連結已經失效(404 Not Found),應該是要到這個連結來取得。

把網頁上的文字複製起來,再取代掉define的那些文字就行了。上面是範例說明,每次取得的KEY都不一樣,請自行去網站上取得哦。
資料庫表格的前綴

最後一塊是這個,資料庫表格的前綴。通常是用在多個Wordpress安裝時使用,不過網路上也有不要使用預設值,太危險的這種說法,方便的話也更改一下吧!(把「wp_」換成例如「ggsmd_」之類的)
最後,另存新檔,把檔名改成wp-config.php。就完成修改囉!
將下載並修改後的「wordpress」資料夾上傳至Synology的「web」資料夾中
安裝Synology的Web Station
要有web資料夾,需要先安裝Synology的Web Station。可以由安裝套件來安裝,這個也是點點點就可以裝好的,這裡就不多說,如果還沒有就先去裝一下吧!

由File Station便可以看到「web」資料夾了。把之前修改wp-config.php的整個「wordpress」資料夾一併放入。再輸入網址,以酷爸demo的例子是「192.168.1.100/wordpress_demo」,你們的應該直接是192.168.1.100/wordpress」之類的。不過,很不幸的是出現下面的圖

不要太難過,這裡還需要一點調整,一點「權限」與「模組」的調整。(如果在這裡就不小心出現了安裝的畫面,建議還是要調整一下XD…
模組的調整
Synology預設的PHP Server,並沒有啟用需要的模組,我們必須自己來啟用。先點開Web Station套件,並點選「一般設定」分頁,看看使用的PHP是哪個,酷爸的例子是PHP 7.2

之後再點選「PHP設定」分頁,點選對應版本的PHP,並點選「編輯」

在「一般設定」的分頁下,把「擴充模組」的「curl」、「gd」、「mysqli」打勾,並在「核心設定」的分頁下,同時,也可以搜尋一些核心設定的參數並調整。最後,按下「確定」。


max_execution_time 360:PHP的執行時間上限(秒)
memory_limit 512M:可用的記憶體
post_max_size 64M:POST傳輸的最大值
upload_max_filesize 64M:上傳檔案的最大值
這樣一來,模組與參數的設定到此完成。
權限的調整
由於檔案是由Synology的使用者上傳上去的。資料夾與檔案的權限還要調整一下。一樣,藉由SSH連線至Synology的NAS。並進入web資料夾下。
ssh dsku@192.168.1.100
cd /volume4/web
修改「wordpress」資料夾下所有檔案與資料夾的使用者與其擁有的權限:
sudo chown dsku:administrators wordpress #修改擁有者,dsku是酷爸的帳號,要換成自己登入NAS的帳號哦
sudo chmod 755 wordpress #修改權限
sudo chown http:http -R wordpress/* #在wordpress底下的檔案與資料夾的擁有權限,都指派給「http」這個使用者與群組
sudo find ./wordpress -type d -exec chmod 755 {} \; #修改wordpress資料夾下的所有資料夾權限
sudo find ./wordpress -type f -exec chmod 644 {} \; #修改wordpress資料夾下的所有檔案權限
打開網站試試看吧
至此,安裝WordPress前的設置已完成,可以打上網址看看了(酷爸是用demo網址)
192.168.1.100/wordpress

接著就是親切的使用者介面了(略…, 安裝完後:

一點注意事項
網路上有說,一但安裝或更新完成,最好要再修改一下資料夾權限(所以SSH還沒關掉哦~
請在SSH上接著輸入:
sudo chown -R dsku:administrators wordpress/* #先把wordpress資料夾下所有資料夾與檔案的擁有者權限改回
#再開放下面的資料夾
sudo chown http:http wordpress/wp-content #
sudo chown -R http:http wordpress/wp-content/themes #
sudo chown -R http:http wordpress/wp-content/uploads #
會比較安全一點啦!SSH連線也可以關掉囉~
以上就是在Synology的NAS上手動安裝WordPress的過程。:D (終於可以用WordPress 5版的全新編輯器Gutenberg啦~
後記
這樣安裝好後,當然還是沒辨法直接上線,畢竟還是在區網下的一個範例。其它還需要的設定包含文章一開頭提到的網域、網址問題,SSL加密問題、如果家裡網路有安裝分享器,還有Port Forwarding需要調整。WordPress網站本身也還有很多要學習與調整的地方:網址的設定、theme的選擇,使用者介面的調整,Plugin的安裝與使用,文章的分類、Tag等,真的是非常有趣,酷爸自己也還在摸索呢。(笑
參考
https://stackoverflow.com/questions/18352682/correct-file-permissions-for-wordpress
http://www.oscar.hk – 在 Synology 上安裝多個 WordPress
請問我已以上列步驟完成Wordpress 安裝,但是要安裝 plugins 會出現
無法建立目錄。
Fusion Builder installation failed. The update procedure could not delete the plugin due to a permissions issue on your server. Please ask your hosting provider to check the permissions level or manually remove the plugin via FTP or WordPress before attempting to reinstall it.
的訊息,這是因為wordpress 手動安裝的原因而導致權限無法下載plugins嗎? 該如何解決呢? 懇請賜教 謝謝
您好,上述的問題是資料夾權限相關的問題哦,描述中有建議你先將相關的plugin手動移除(透過FTP或WordPress管理頁面)後再重新安排試試。另外如果FTP或WordPress也碰到權限問題,應該是沒有設定好,可參考本篇文章中有關資料夾權限設定的說明。最後,在回文的同時,Synology官方的WordPress也更新到的5版本了,若手動安裝仍無法成功,也可以透過Synology的套件中心進行安裝哦。謝謝你的留言:)