Nextcloud on Rocky Linux 9
前置準備
- Rocky Linux 9.5 ISO
- nextcloud下載連結
Get ZIP file
https://download.nextcloud.com/server/releases/latest.zip
https://nextcloud.com/install/#community-projects
LAB流程說明
- 建立nexcloud 可登入使用
- 增加硬碟擴充LVM空間大小
系統安裝設定
- 一、電腦名稱及IP設定
1-1 設定電腦名稱
1 | [root@localhost ~]# hostnamectl set-hostname nextcloud-lab |
1-2 設定固定IP位置
1 | [root@nextcloud-lab ~]# nmcli con show |
- 二、安裝套件及更新系統
2-1 . Install epel-release 額外套件庫
EPEL(Extra Packages for Enterprise Linux)
EPEL 提供了許多 RHEL 預設軟體庫中沒有的軟體,但仍然保持高穩定性及相容性,常用於伺服器環境。
1 | [root@nextcloud-lab ~]# dnf install epel-release |
2-2. Update 系統
1 | [root@nextcloud-lab ~]# dnf update -y |
2-3 安裝及啟動 Apache Web Server
- 安裝
1 | [root@nextcloud-lab ~]# dnf install httpd -y |
- 啟動
1 | [root@nextcloud-lab ~]# systemctl enable --now httpd |
2-4 安裝及啟動MariaDB(資料庫)
- 安裝
1 | [root@nextcloud-lab ~]# dnf install mariadb-server -y |
- 啟動
1 | [root@nextcloud-lab ~]# systemctl enable --now mariadb |
2-4-1 MariaDB初始安全設置
1 | [root@nextcloud-lab ~]# mysql_secure_installation |
先不輸入現有的root密碼,按下enter
unix認證,按下預設Y
變更資料庫 Root密碼
移除匿名使用者 > 依照預設 Y
禁止Root遠端登入,依預設Y即可
移除測試資料庫及重新讀取資料表 > 皆預設Y即可
2-4-2 建立Nextcloud資料庫及使用者
- 登入資料庫
1 | [mysql -u root -p](<[root@nextcloud-lab ~]# mysql -u root -p |
- 建立nextcloud資料庫
1 | MariaDB [(none)]> CREATE DATABASE nextcloud; |
- 建立cloudadm 使用者及密碼(password)
1 | MariaDB [(none)]> CREATE USER 'cloudadm'@'localhost' IDENTIFIED BY 'password'; |
- 授予cloudadm使用者在nextcloud 所有資料表的權限
1 | MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'cloudadm'@'localhost'; |
⚠️ 注意:
- 安全性考量:避免使用
GRANT ALL PRIVILEGES在生產環境中使用,可能會帶來潛在的安全風險。 - 使用更精細的權限控制:例如僅授予
SELECT, INSERT, UPDATE, DELETE等必要權限。
``
- 存檔及離開
1 | MariaDB [(none)]> FLUSH PRIVILEGES; |
2-5 安裝PHP及必要的擴充模組
1 | [root@nextcloud-lab ~]# dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y |
2-5-1 重置PHP模組
1 | [root@nextcloud-lab ~]# dnf module reset php -y |
2-5-2 啟用Remi儲存庫PHP版本
1 | [root@nextcloud-lab ~]# dnf module enable php:remi-8.2 -y |
2-5-3 安裝PHP及常用的模組
1 | [root@nextcloud-lab ~]# dnf install php php-mysqlnd php-xml php-zip php-curl php-gd php-intl php-mbstring php-apcu php-bcmath php-gmp php-imagick php-fpm php-cli php-opcache -y |
==Remi儲存庫說明==
✅ 為什麼使用 Remi 儲存庫?
- 官方 DNF 儲存庫的 PHP 版本較舊(通常是穩定但非最新)。
- Remi 提供更新版本,適合開發新專案或使用最新 PHP 功能。
- 如果需要穩定版本且不需要最新功能,則可使用官方 DNF 套件庫即可。
2-5-4 修改PHP設定
1 | [root@nextcloud-lab ~]# vim /etc/php.ini |
``
修改內容
memory_limit = 512M
限制 PHP 腳本可使用的記憶體量,以防止過大的記憶體使用導致伺服器崩潰
處理大型檔案、圖像處理或複雜計算時可調高此值upload_max_filesize = 2G
限制透過 PHP 上傳的單一檔案最大可接受的檔案大小,可自訂
post_max_size = 2G
限制 PHP 處理的 POST 數據總量,包含檔案上傳與表單資料。
注意:post_max_size必須 ≥upload_max_filesize,否則大檔案無法正常上傳date.timezone = Asia/Taipei
設定時區
2-5-5 重新啟動PHP-FPM服務
1 | [root@nextcloud-lab ~]# systemctl restart php-fpm.service |
三、下載並安裝nextcloud
3-1 先移動到/var/www目錄下
1 | [root@nextcloud-lab ~]# cd /var/www/ |
3-2 使用curl將下載的檔案輸出檔名為nextcloud.zip
1 | [root@nextcloud-lab ~]# curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip |

3-3 解壓縮 nextcloud.zip
1 | [root@nextcloud-lab www]# unzip nextcloud.zip |
3-4 變更資料夾擁有者及權限
1 | [root@nextcloud-lab www]# chown -R apache:apache nextcloud |

四、設定Apache
4-1 安裝ssl模組
1 | [root@nextcloud-lab www]# dnf install mod_ssl -y |
4-2 啟用mod_rewrite模組
1 | [root@nextcloud-lab nextcloud]# echo "LoadModule rewrite_module modules/mod_rewrite.so" >> /etc/httpd/conf/httpd.conf |
說明:
mod_rewrite用於網址重寫與轉址。- 可用於 SEO 優化、強制 HTTPS、網址美化 和 轉址。
- 需要透過
.htaccess或 Apache 主設定檔實作。 - 啟用後,需重啟 Apache 才能生效。
4-2 設定 nextcloud.conf
1 | [root@nextcloud-lab www]# vim /etc/httpd/conf.d/nextcloud.conf |
1 | <VirtualHost *:80> |

4-3 編輯ssl.conf
1 | [root@nextcloud-lab conf.d]# pwd |
- 搜尋 將註解去除,並修改為LAB環境設置
修改前:
1 | #DocumentRoot "/var/www/html" |
修改後:
1 | DocumentRoot "/var/www/nextcloud" |
4-3 放行防火牆https 服務 及 reload服務
1 | [root@nextcloud-lab www]# firewall-cmd --permanent --add-service=https |
4-4 重啟 Apache服務
1 | [root@nextcloud-lab nextcloud]# systemctl restart httpd |
五、登入Nextcloud
5-1 登入cloudadm進行初始化
5-2 依需求安裝推薦的應用程式
5-3 登入後畫面
5-3 新增使用者帳號

5-4 也可下載Windows 版本APP進行安裝使用 (如同onedrive、google…)
六、使用LVM擴充nextcloud容量
6-1 將LAB環境中第二顆額外的100GB硬碟,擴充至 /root LV
6-2 先新增硬碟分割及調整type為LVM格式
1 | [root@nextcloud-lab nextcloud]# fdisk /dev/nvme0n2 |
6-3 新增分割 , 輸入 n
6-4 新增primary 分割,number選擇1 > Enter > Enter
6-5 已建立分割完成
6-6 輸入t > 8e (LVM格式),也可輸入L檢視
6-7 輸入W寫入
6-8 lsblk 檢視已分割出 nvme0n2p1
6-9 建立PV
1 | [root@nextcloud-lab nextcloud]# pvcreate /dev/nvme0n2p1 |
6-10 確認目前的VG大小
6-11 擴充VG大小
1 | [root@nextcloud-lab nextcloud]# vgextend rl /dev/nvme0n2p1 |
6-12 查看VG大小
6-12 擴充LV大小
1 | [root@nextcloud-lab nextcloud]# lvextend -l +25599 /dev/rl/root |
6-13 確認LV大小已擴充至147.93G
1 | [root@nextcloud-lab nextcloud]# lvs |
6-14 修正檔案系統大小,此時/dev/mapper/rl-root還是舊大小容量
6-15 更新檔案系統
1 | [root@nextcloud-lab ~]# xfs_growfs /dev/rl/root |
6-16 已順利擴充檔案系統大小完成
Nextcloud on Rocky Linux 9