免費雲端自己來?搞定Oracle帳號只是開端
不論你用的是哪種作業系統,其實都還是可以照著這裡介紹的步驟,動手把一個免費的雲端空間弄出來。有些人只需要申請一個Oracle那邊提供的免費帳號,再在上面裝好Ubuntu主機,加上一個能透過指令連線(有些人叫SSH工具)的程式,差不多就能開始操作。其實也不是說一定要很懂什麼伺服器、網路那些,很少碰過這種東西的人,好像也能跟著做完。
話說回來,這一類內容對於那幾篇「Linux伺服器基礎」或是「MariaDB/MySQL入門」系列有點關聯。可能有人還記得之前提到過怎麼看磁碟空間用量,那大致就是最近寫的那一篇之一。另外資料庫介紹,也才剛提到沒多久。如果想複習,可以找找之前那些文章。
至於圖——是Neda Astani拍的,Unsplash上找到的。有時候旁邊會插播一些廣告,也不一定每次都有。
話說回來,這一類內容對於那幾篇「Linux伺服器基礎」或是「MariaDB/MySQL入門」系列有點關聯。可能有人還記得之前提到過怎麼看磁碟空間用量,那大致就是最近寫的那一篇之一。另外資料庫介紹,也才剛提到沒多久。如果想複習,可以找找之前那些文章。
至於圖——是Neda Astani拍的,Unsplash上找到的。有時候旁邊會插播一些廣告,也不一定每次都有。
先連進Ubuntu伺服器,tmux這玩意兒你得試試
最近網路上有些方案,像是用來保護網路安全的VPN、可以管理密碼的工具,甚至還能在國外用很便宜的方式上網。說起雲端主機,Oracle Cloud 這個名字偶爾會被提到。其實也不是什麼獨一無二的選擇,只是目前免費方案裡面,好像真的挺受關注。如果有人知道有比它更划算的,不妨互相交流下。
他們那個免費層級,大致就是給你一點點記憶體、單核心處理器,還有容量大約幾十G左右吧。這樣的配備通常夠架設一些小型服務,比如說Nextcloud之類,也不太用擔心電費問題──畢竟都是遠端運作,人不用自己開24小時電腦。
如果想試試看,可以先去 Oracle Cloud 的官方網站逛逛,註冊流程裡頭會要求輸入信用卡資料,然後會被扣掉一點點錢(大概就一杯咖啡價),但據多數人經驗,那筆錢很快又會退回來。他們主要應該只是想查驗一下身份而已。沒打算升級成付費帳號的人,其實後續也沒有其他花費。
等帳號建好之後,可以照著某些部落格教學慢慢操作。至於作業系統,有不少選項,不過蠻多人推薦選Ubuntu Server二十二版左右。當然啦,每個人的需求不同,有時候可能還得考慮別種設定或版本才比較適合。
整體來說,這套組合比較適合初學者或者只是想低成本嘗試雲端主機的人。不過規格有限制,如果要跑大型應用程式就要再評估看看了。有興趣的人可以先動手玩玩看,再決定值不值得投入更多時間精力。
他們那個免費層級,大致就是給你一點點記憶體、單核心處理器,還有容量大約幾十G左右吧。這樣的配備通常夠架設一些小型服務,比如說Nextcloud之類,也不太用擔心電費問題──畢竟都是遠端運作,人不用自己開24小時電腦。
如果想試試看,可以先去 Oracle Cloud 的官方網站逛逛,註冊流程裡頭會要求輸入信用卡資料,然後會被扣掉一點點錢(大概就一杯咖啡價),但據多數人經驗,那筆錢很快又會退回來。他們主要應該只是想查驗一下身份而已。沒打算升級成付費帳號的人,其實後續也沒有其他花費。
等帳號建好之後,可以照著某些部落格教學慢慢操作。至於作業系統,有不少選項,不過蠻多人推薦選Ubuntu Server二十二版左右。當然啦,每個人的需求不同,有時候可能還得考慮別種設定或版本才比較適合。
整體來說,這套組合比較適合初學者或者只是想低成本嘗試雲端主機的人。不過規格有限制,如果要跑大型應用程式就要再評估看看了。有興趣的人可以先動手玩玩看,再決定值不值得投入更多時間精力。
Comparison Table:
設定項目 | 具體建議 |
---|---|
Apache2 設定 | /etc/apache2/sites-available/nextcloud.conf,包含 DocumentRoot、ServerName 等基本設定,啟用後使用 sudo a2ensite nextcloud.conf。 |
PHP 調整 | 修改 /etc/php/8.1/apache2/php.ini,包括時區、記憶體限制(500MB)、檔案上傳大小等,開啟 opcache 選項。 |
Nextcloud config.php | 在 /var/www/nextcloud/config/config.php 中加入 memcache.local 和 default phone region,並設置檔案權限(sudo chmod 660)。 |
防火牆設定 | 使用 iptables 或 nftables 開放 HTTP (80) 和 HTTPS (443) 埠口,確保 SSH 通信正常;有需要可存檔或設為開機自動啟動。 |
SSL 憑證配置 | 使用 Certbot 獲取免費 SSL 憑證,修改 /etc/apache2/sites-available/nextcloud-le-ssl 配置文件以支援 HTTPS,加強安全性。 |

資料庫的那些設置:MariaDB初步安全小心機
有些人說,要讓 Nextcloud 在虛擬機上跑得順一點,硬體資源怎麼配其實沒有唯一標準。大概只要不是極端低配,選個稱得上精簡的那種方案,效能就還行。如果你對調整細節有興趣,也可以自己試著變來變去,或許能找到更符合自己需求的組合。不過每次在建立伺服器時,有件事常常會被忽略——記得把 SSH 私鑰下載回自己的電腦,要不然之後連線時還得多繞一圈。這部分詳細流程,好像在前面那篇部落格裡有寫,如果一時忘了可以再翻回去看看。
說到連進 Ubuntu 主機,大致上只要知道 IP 跟私鑰路徑就夠了。Windows 用戶偶爾會卡在這步,不太確定怎麼用 SSH 登入 Linux 伺服器,所以特地附了一篇介紹 Windows 11 怎麼啟用 SSH 的文章——這類教學網路上其實也不少。反正照著指引,下載好密鑰、記下主機地址後,就能打開終端機(或 PowerShell),輸入差不多像是:
當然,「私鑰檔案位置」和「你的主機IP」都要換成你自己的。如果 Oracle 那邊剛剛分配給你的 IP 還沒記下來,通常在管理頁面那區塊就能找得到。登入成功的話,你大致就是進到遠端 Ubuntu 系統裡頭啦。
至於接下來怎麼玩,基本步驟大概都是照某本書或某個影片教學走,比如 Jay LaCroix 那本講 Ubuntu Server 的書,有一些章節還蠻受推崇,但也有人覺得參考影片比較直觀——看個人習慣吧。有的人甚至會兩種都搭著看,有助於補足細節。不過最後哪種做法適合自己,其實每個人經驗差異都很明顯,也不用太糾結哪套才算正確。
說到連進 Ubuntu 主機,大致上只要知道 IP 跟私鑰路徑就夠了。Windows 用戶偶爾會卡在這步,不太確定怎麼用 SSH 登入 Linux 伺服器,所以特地附了一篇介紹 Windows 11 怎麼啟用 SSH 的文章——這類教學網路上其實也不少。反正照著指引,下載好密鑰、記下主機地址後,就能打開終端機(或 PowerShell),輸入差不多像是:
$ ssh -i 私鑰檔案位置 ubuntu@你的主機IP
當然,「私鑰檔案位置」和「你的主機IP」都要換成你自己的。如果 Oracle 那邊剛剛分配給你的 IP 還沒記下來,通常在管理頁面那區塊就能找得到。登入成功的話,你大致就是進到遠端 Ubuntu 系統裡頭啦。
至於接下來怎麼玩,基本步驟大概都是照某本書或某個影片教學走,比如 Jay LaCroix 那本講 Ubuntu Server 的書,有一些章節還蠻受推崇,但也有人覺得參考影片比較直觀——看個人習慣吧。有的人甚至會兩種都搭著看,有助於補足細節。不過最後哪種做法適合自己,其實每個人經驗差異都很明顯,也不用太糾結哪套才算正確。
創建nextcloud用戶和資料庫,密碼千萬別亂設
通常來說,先把套件升級一下會比較好,但有些人為了讓 Oracle 免費方案跑得穩定,會刻意不去執行全系統的 dist-upgrade。大致上只要打幾行指令就可以了,更新、升級之後,有時候大家還會順手裝個 tmux 這種終端多工工具。tmux 裝完直接 attach 一下,以後就算連線斷掉也能回頭繼續操作,不用怕重來。
資料庫伺服器的部分,大概有不少人會挑 MariaDB 來裝。安裝方法很簡單,一條指令就解決。不過狀態查詢那行看起來挺常見,只是每個人看到服務啟動時間可能都不太一樣。至於安全性設定,也不是每次都照著官方建議做;有人只做了基本步驟,比如設 root 密碼、關閉匿名帳號、限制 root 遠端登入這些。有的人甚至 test 資料庫都懶得留。
輪到建立資料庫時,從 MariaDB 的命令列進去,創一個 nextcloud 用的資料庫差不多就是兩三句話能搞定的事。權限授予那段語法裡面的密碼,其實大家自己換成習慣的就好,不需要完全照抄範例。有時候還會補查一下現有有哪些資料庫,大約五六個系統預設值加上新建的那個,看起來應該沒啥問題。
說到 Web Server,好像大部份情況下 Apache2 都還滿常被選到。安裝 php 跟一堆擴充套件幾乎是順便一起完成,不少人根本沒細算到底有多少套件被拉下來。apache2 的服務狀態大致上只要看到正在跑就行,那串輸出其實沒什麼特別需要記住的地方。有的人會再手動開啟 bcmath、gmp 那類 PHP 擴充功能,就算缺其中一兩個,有些環境短時間內也不太影響。
接著才輪到 Nextcloud 的部分,多數人下載都是直接去官網找壓縮檔(雖然也有人偷懶用 wget)。至於版本,有些偏舊但適合這台免費主機用的,好像比最新發佈版反而穩一點——印象中有人在論壇討論過,新版在某些硬體規格有限制下容易卡住或跑慢,所以最後乾脆挑比較舊又確定可運作的版本試試看。不過這種選擇方式,也只是參考用啦,每台主機遇到狀況可能略有不同。
資料庫伺服器的部分,大概有不少人會挑 MariaDB 來裝。安裝方法很簡單,一條指令就解決。不過狀態查詢那行看起來挺常見,只是每個人看到服務啟動時間可能都不太一樣。至於安全性設定,也不是每次都照著官方建議做;有人只做了基本步驟,比如設 root 密碼、關閉匿名帳號、限制 root 遠端登入這些。有的人甚至 test 資料庫都懶得留。
輪到建立資料庫時,從 MariaDB 的命令列進去,創一個 nextcloud 用的資料庫差不多就是兩三句話能搞定的事。權限授予那段語法裡面的密碼,其實大家自己換成習慣的就好,不需要完全照抄範例。有時候還會補查一下現有有哪些資料庫,大約五六個系統預設值加上新建的那個,看起來應該沒啥問題。
說到 Web Server,好像大部份情況下 Apache2 都還滿常被選到。安裝 php 跟一堆擴充套件幾乎是順便一起完成,不少人根本沒細算到底有多少套件被拉下來。apache2 的服務狀態大致上只要看到正在跑就行,那串輸出其實沒什麼特別需要記住的地方。有的人會再手動開啟 bcmath、gmp 那類 PHP 擴充功能,就算缺其中一兩個,有些環境短時間內也不太影響。
接著才輪到 Nextcloud 的部分,多數人下載都是直接去官網找壓縮檔(雖然也有人偷懶用 wget)。至於版本,有些偏舊但適合這台免費主機用的,好像比最新發佈版反而穩一點——印象中有人在論壇討論過,新版在某些硬體規格有限制下容易卡住或跑慢,所以最後乾脆挑比較舊又確定可運作的版本試試看。不過這種選擇方式,也只是參考用啦,每台主機遇到狀況可能略有不同。

PHP和Apache一起來,安裝時記得檢查相依性
不過,講到這邊,大概可以預期應該會有一個還算不錯的個人雲端空間,而且搞不好還不用花錢。剛剛不是有把那個壓縮檔解開嗎?其實弄完後,現有目錄裡頭就多了一個叫 nextcloud 的資料夾。有些人可能這時才發現,好像要再處理一下權限問題——通常大家會把這整包 nextcloud 交給 www-data 這種帳號負責(反正就是跑網頁服務用的那一組),順手還要搬去 /var/www/ 底下。
然後,有的人可能會在命令列上敲下 sudo chown -R www-data:www-data nextcloud,把所有權都切過去,再來就是 sudo mv nextcloud /var/www,把它放到網站根目錄附近。不一定每次都照本宣科啦,但大致步驟差不多。
最後,為了避免跟原本系統預設的網站設定打架,好像有人建議直接停掉 000-default.conf,那指令大約是 sudo a2dissite 000-default.conf。不過這部分各家說法也有出入,或許得視狀況調整。
然後,有的人可能會在命令列上敲下 sudo chown -R www-data:www-data nextcloud,把所有權都切過去,再來就是 sudo mv nextcloud /var/www,把它放到網站根目錄附近。不一定每次都照本宣科啦,但大致步驟差不多。
最後,為了避免跟原本系統預設的網站設定打架,好像有人建議直接停掉 000-default.conf,那指令大約是 sudo a2dissite 000-default.conf。不過這部分各家說法也有出入,或許得視狀況調整。
下載舊版Nextcloud?檔案權限那些細節常被漏掉
在談到 Apache2 跟 PHP 的調整,這件事情其實有點瑣碎。像是原本那個 000-default.conf,好像也不需要太糾結,因為之後其實會另外寫一份關於 nextcloud 的新設定檔。大致上流程就是你會多出一個 /etc/apache2/sites-available/nextcloud.conf。內容看起來差不多像下面這樣子,有點常見但又不全然一模一樣:
DocumentRoot "/var/www/nextcloud"
ServerName nextcloud
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
TransferLog /var/log/apache2/nextcloud_access.log
ErrorLog /var/log/apache2/nextcloud_error.log
通常你得用 sudo a2ensite nextcloud.conf 把它啟用,不然好像沒什麼作用。
再來會遇到 php.ini 那部分,大概是 /etc/php/8.1/apache2/php.ini 吧,裡面會找到一些設定值,把他們改成合適的數據(其實每次改都要找很久)。像時區那行要寫自己所在地,記憶體限制就設高一些,可能接近五百多M那種;還有檔案上傳、執行時間、post 大小都比預設寬鬆很多倍。opcache 有幾個選項也是建議全部打開,但每個人需求可能略有不同。
接下來進入 Nextcloud 本身的設定檔 config.php,那是在 /var/www/nextcloud/config/config.php 裡頭。有兩行你得加進去,一個是 memcache.local 指向 APCu,另一條寫 default phone region——這裡地區碼就自己決定了,很少人一次搞對。
安全性方面比較細微,就是把 config.php 權限降到只有 root 和 www-data 讀寫,其他人就碰不到了:sudo chmod 660 ... 然後 chown 給 root:www-data,也算是一種防範吧。
至於 PHP 要開哪些模組?一般就 dir、env、headers、mime、rewrite 還有 ssl 幾樣,看需求開關,但好像大家都直接全開了才省事。最後別忘重啟 apache2,不然前面做的那些都沒效果。
說到防火牆,如果你機器架在 Oracle 的 Ubuntu 上,常聽說沒去調整網路規則的話,用瀏覽器根本連不上自己的 Nextcloud。有些人是改了一陣子才意識到被擋住,其實這問題挺常見,只是初學者往往漏掉。

搞定虛擬主機設定,php.ini幾行有玄機
有些人會選擇用iptables來處理防火牆規則,像是這樣一連串的操作:先把HTTP大概就是八十那個埠口還有HTTPS(那個四十多再加點的號碼)手動放行。不過SSH本來就開著,不然怎麼能進去遠端主機?iptables設完後,還得記得存一下設定。也有人說,可以考慮用nftables,前提要先裝好,大約只需要執行一條安裝指令。
設定檔案的位置在那個/etc/nftables.conf,有時候檔名會讓人猶豫是不是少打一個字母。內容嘛,大致上長這樣——最上面通常有段看起來像命令列的東西,把舊規則清掉,再建立一張table和chain,然後那些常見的服務(像SSH、HTTP、HTTPS這幾個大家熟悉的小號碼),都直接允許通過。lo介面流量不用管它。本地發起的連線也都放行,其餘不明來源,就算只是偶爾出現,也會被丟棄,只是多了計數器。
寫好之後,只要把nftables啟動,同時讓它每次重開機自己跑起來就差不多了。最後,有些人可能會想把舊有的iptables全刪了,避免彼此衝突,畢竟一次只用一種,比較單純。
等到前面的步驟沒出什麼問題,用瀏覽器打開類似「http://你的伺服器位址」那串網址,大概就能看到Nextcloud安裝畫面。有的人第一次看到這頁還會愣住,要填管理員帳號密碼,那資料庫部分就照之前在MariaDB裡設好的名字和密碼填進去。按下安裝跟推薦應用程式,也差不多快結束,但過程中如果哪裡怪怪的,也不是沒遇過。
設定檔案的位置在那個/etc/nftables.conf,有時候檔名會讓人猶豫是不是少打一個字母。內容嘛,大致上長這樣——最上面通常有段看起來像命令列的東西,把舊規則清掉,再建立一張table和chain,然後那些常見的服務(像SSH、HTTP、HTTPS這幾個大家熟悉的小號碼),都直接允許通過。lo介面流量不用管它。本地發起的連線也都放行,其餘不明來源,就算只是偶爾出現,也會被丟棄,只是多了計數器。
寫好之後,只要把nftables啟動,同時讓它每次重開機自己跑起來就差不多了。最後,有些人可能會想把舊有的iptables全刪了,避免彼此衝突,畢竟一次只用一種,比較單純。
等到前面的步驟沒出什麼問題,用瀏覽器打開類似「http://你的伺服器位址」那串網址,大概就能看到Nextcloud安裝畫面。有的人第一次看到這頁還會愣住,要填管理員帳號密碼,那資料庫部分就照之前在MariaDB裡設好的名字和密碼填進去。按下安裝跟推薦應用程式,也差不多快結束,但過程中如果哪裡怪怪的,也不是沒遇過。
調整權限與重啟服務,這步沒做常卡關
大致上你會看到一個登入頁面,畫面大概就是這樣。基本上就算沒什麼經驗,也能摸索到屬於自己的私人雲端空間……有些人可能會想:「是不是只要打開網頁瀏覽器,然後輸入 http://你的_IP_位址 就可以連進去了?」說真的,如果只是自己偶爾用用,大概也夠了。不過總有人希望介面看起來專業點,像是那種 https://你的_網域名稱 的感覺。有時候這種需求就會讓人開始思考買個網域名稱是否合適。
關於這方面,有些討論區或社群裡常見幾個選擇,不過說到價格跟操作難度,有部分人提過 porkbun 這間公司——雖然不是每個人都有相同體驗,但有人覺得他們提供的東西還蠻實惠、管理流程也不會太複雜。SSL 憑證也是一回事啦,有些場合好像還能免費申請,不過細節還要再查查才準。其實講回來,並不是每個情境都非得買網域不可,只是如果打算讓訪客更容易記住網址、或者想加點安全性,大概有不少人最後還是會動念頭去研究一下相關方案。
關於這方面,有些討論區或社群裡常見幾個選擇,不過說到價格跟操作難度,有部分人提過 porkbun 這間公司——雖然不是每個人都有相同體驗,但有人覺得他們提供的東西還蠻實惠、管理流程也不會太複雜。SSL 憑證也是一回事啦,有些場合好像還能免費申請,不過細節還要再查查才準。其實講回來,並不是每個情境都非得買網域不可,只是如果打算讓訪客更容易記住網址、或者想加點安全性,大概有不少人最後還是會動念頭去研究一下相關方案。

防火牆規則到底要怎麼寫才不會被鎖門外
.com這種網域,大概在不少平台都能找到,有時候價格看起來還滿便宜,也許只要幾個銅板錢。前陣子有段YouTube影片不知道哪位介紹的,內容好像蠻多人覺得實用,尤其在選域名網站時多少能參考一下,不過具體細節現在想不起來。有些人買完域名之後,會去照著某篇網誌下方步驟來弄安全憑證,就是那種讓連線變成HTTPS的小工具。說到這個,可以查查看 Certbot 的教學指引,偶爾會有新版本或細節修正。如果你已經走到設定伺服器那一步,好像有人提過需要動點手腳,把 /etc/apache2/sites-available/nextcloud-le-ssl 這樣的檔案做些修改。不過每次遇到這類設置問題,都建議多比對幾份資料,有些步驟會隨時間稍微改動。
http打開沒問題,但想要https跟網域還得多花點心思
這段設定檔大致看起來像這樣——就那麼幾行,都是些 Apache 配置。裡頭有個區塊跟 SSL 有關,感覺是在說明怎麼讓 Nextcloud 可以用加密連線運作吧。有人也許會注意到,文件目錄路徑寫得滿直白,像 "/var/www/nextcloud",然後主機名稱那邊乾脆直接設成 "nextcloud"。不過這名字說實話好像不是誰都會用,有的人應該還是希望換成自己的網域。
奇怪的是,細節方面沒特別強調什麼數據,只是有些地方提到安全標頭要設,「max-age」那段時間,其實換算下來,大概就是好幾個月,不到一年。不知道大家是不是常見這種參數,但在某些伺服器案例中,好像有助於瀏覽器記住這網站必須走 HTTPS。有時候再多一點限制,也可能多少對安全性稍微提升,不過效果到底怎樣,好像很難一概而論。
另外,有建議提過,如果你打算改主機名或網域,那麼類似 /etc/hostname、/etc/hosts 這些檔案,也要一起動手修改才比較妥當。畢竟系統認得的名字和外部能找到的網址一致,比較不容易出問題。然後配置檔裡的「ServerName」欄位,也記得要跟著變成你想用的網域名稱。
至於 SSL 憑證那幾行,有人可能在其它書上也看過——反正大意就是把 Let's Encrypt 的憑證路徑填進去就差不多了。如果真的需要查更完整資料,不少人會從 Ubuntu Server 或 MariaDB 相關書籍、課程找答案。有時候還能順便逛逛網站買點電腦周邊什麼的,不全然只是為了搞懂設定啦。
奇怪的是,細節方面沒特別強調什麼數據,只是有些地方提到安全標頭要設,「max-age」那段時間,其實換算下來,大概就是好幾個月,不到一年。不知道大家是不是常見這種參數,但在某些伺服器案例中,好像有助於瀏覽器記住這網站必須走 HTTPS。有時候再多一點限制,也可能多少對安全性稍微提升,不過效果到底怎樣,好像很難一概而論。
另外,有建議提過,如果你打算改主機名或網域,那麼類似 /etc/hostname、/etc/hosts 這些檔案,也要一起動手修改才比較妥當。畢竟系統認得的名字和外部能找到的網址一致,比較不容易出問題。然後配置檔裡的「ServerName」欄位,也記得要跟著變成你想用的網域名稱。
至於 SSL 憑證那幾行,有人可能在其它書上也看過——反正大意就是把 Let's Encrypt 的憑證路徑填進去就差不多了。如果真的需要查更完整資料,不少人會從 Ubuntu Server 或 MariaDB 相關書籍、課程找答案。有時候還能順便逛逛網站買點電腦周邊什麼的,不全然只是為了搞懂設定啦。