在本文中,我們將學習如何在 Almalinux 9 或 Rocky Linux 9 上安裝和配置 NextCloud 以設置您的雲。
什麼是 NextCloud?
好吧,那些還不知道 NextCloud 是流行的 OwnCloud 的一個分支的人,但它已經變得比這更流行了。 它也是一個免費和開源的個人云解決方案以及企業解決方案。 使用這個開源軟件包的主要好處是它允許用戶將他們的數據安全地存儲在雲中,但存儲在他們實際或虛擬擁有的服務器上。 因此,從隱私的角度來看,它是 Dropbox 或 Google Drive 等專有云解決方案的絕佳替代方案,因為用戶可以完全控制自己的數據。
NextCloud 如何運作?
NextCloud 提供兩個主要功能:用戶之間的存儲同步和文件內容的服務器端加密,確保用戶數據的隱私。 對於同步,NextCloud 還提供客戶端應用程序,您可以輕鬆地將其安裝在各自的桌面操作系統上。
文件同步繼續將用戶所做的所有更改同步到桌面,並將相同的內容複製到服務器以及有權訪問同一文件夾的所有其他設備。 雖然服務器端加密提供了安全性,這意味著只有用戶的自定義密鑰才能解密他們使用 Nextcloud 存儲的文件; 如果用戶不提供正確的密鑰,則沒有其他人(甚至管理員)無法讀取加密的內容。 .
使用 NextCloud 的優勢
使用 Nextcloud 的主要優勢是安全— 如果您將文件存儲在 Google Drive 或 Dropbox 等服務提供商處,您將無法控制誰可以訪問它們或何時訪問它們。
但是,使用 Nextcloud,您始終知道誰當前可以訪問哪些文件以及上次訪問這些文件的時間(即使他們只是看到文件名列表)。
此外,由於所有信息都是存儲在您的私人服務器上(即不在任何公司的基礎設施上),您永遠不必擔心再次超過每月配額時必須購買額外的存儲空間,如果您使用 Google Drive 或 dropbox 等傳統提供商存儲,通常會這樣做
最後,從NextCloud 是開源軟件與其他雲存儲平台相比,它允許個人或組織更輕鬆地自定義其功能,而其他雲存儲平台通常提供的自定義選項比開源解決方案所允許的要少得多。 例如(例如,設置自定義訪問規則等)。
在本指南中,我們逐步展示了在 Almalinux Linux 9 | 上安裝 Nextcloud 的命令。 岩石Linux 9。
要求
要遵循本教程,我們需要以下內容,其中我們將在本指南中安裝 ApachePHP 和 MySQL,但其餘要求必須是您的服務器。
•阿爾馬林克斯oLinux 洛科索9
• ApachePHP 8.0、8.1、8.2
• MySQL 8.0+ o MariaDB 10.2/10.3/10.4/10.5
• 至少訪問一個非 root sudo 用戶
• 512 MB 內存
第一步:運行DNF更新命令
為了確保我們在 Almalinux 或 Rocky Linux 9 上安裝 NextCloud 時不會遇到任何問題,讓我們運行一次系統更新命令。 這將安裝適用於我們的 Linux 服務器操作系統的所有最新安全更新和軟件包。
sudo dnf update
另外,安裝:
sudo dnf install wget nano unzip
第 2 步 – 在 AlmaLinux 8 上禁用 SELinux
更新完成後,還要將 SELinux 置於寬容模式,這意味著在下次重新啟動之前暫時禁用它。 這將確保在安裝 NextCloud 時沒有不必要的限制。
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
要檢查狀態:
sestatus
第 3 步:安裝 ApacheMySQL 和 PHP
由於服務器端的 NextCloud 是基於 PHP 的 Web 應用程序,因此我們需要在我們的 Linux 上創建一個 Web 服務器環境。 常見的應用程序有 Apache、用於數據庫的 MySQL 和 PHP。 因此,請按照給定的命令安裝它們。
1. Apache Web 服務器 (httpd) 配置
Apache 是任何 Linux 發行版(包括 AlmaLinux 和 Rocky Linux)的默認存儲庫中最常見且最容易獲得的 Web 服務器。 因此,在您的命令終端中只需運行以下命令:
sudo dnf install httpd
啟動並啟用 Apache 服務
sudo systemctl enable --now httpd
要檢查狀態:
systemctl status httpd --no-pager -l
另外,打開系統上的 HTTP 和 HTTPS 端口,以便我們稍後訪問 NextCloud 頁面:
sudo firewall-cmd --permanent --add-service={http,https}
重新加載防火牆
sudo firewall-cmd --reload
為了進一步確認,我們可以檢查默認的 Apache 網頁。 對於在本地系統上打開的瀏覽器,您可以訪問服務器的 IP 地址或域。
例子:
https://server-ip-address
您將看到類似以下內容:
2.在Alma或Rocky上安裝MySQL服務器
我們可以在 Almalinux 9 或 Rocky Linux 上使用 MariaDB 或 MySQL 數據庫服務器來存儲 NextCloud 稍後生成的數據。 我們在這里安裝 MySQL 8.0,可以從這兩個基於 RPM 的 Linux 發行版的默認存儲庫中下載。
sudo dnf install mysql mysql-server
啟動服務器:
sudo systemctl enable --now mysqld
對於服務狀態:
systemctl status mysqld --no-page -l
3.為NextCloud創建數據庫
我們還將在 MySQL 服務器上創建一個與 NextCloud 一起使用的數據庫,以下是要遵循的 SQL 命令:
sudo mysql
使用權:
mysql -u root -p
創建數據庫用戶:
CREATE USER 'youruser'@'localhost' IDENTIFIED BY "yourpassword";
創建數據庫:
CREATE DATABASE yourdb;
授予創建的數據庫的完全權限以使用:
GRANT ALL PRIVILEGES ON yourdb.* TO 'youruser'@'localhost';
FLUSH PRIVILEGES;
exit;
使用: 代替ETC使用您要提供的數據庫的名稱,而圖蘇里奧使用用戶名和你的密碼使用您要分配的密碼。
4. 下載 PHP 8.1
通過 AlmaLinux 或 Rocky 系統存儲庫可用的默認 PHP 版本是 PHP 8.0,但是在這裡我們將查找PHP 8.1. 所以添加第三個雷姆尼手動訪問存儲庫以獲取最新版本的 PHP 語言。
sudo dnf install epel-release
sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
sudo dnf update
sudo dnf module reset php
sudo dnf module enable php:remi-8.1

為 NextCloud 安裝 PHP 及其必要的擴展:
現在,在您的終端中運行給定的命令,不僅可以安裝 PHP,還可以安裝它的擴展。
sudo dnf install php php-{cli,mysqlnd,zip,devel,gd,mcrypt,mbstring,curl,xml,pear,bcmath,json,pdo,pecl-apcu,pecl-apcu-devel,ldap}

不要忘記允許是開始NextCloud 所需的 PHP-FPM 服務。
sudo systemctl enable --now php-fpm.service
增加 PHP 內存限制:
sudo sed -i "s/memory_limit = .*/memory_limit = 512M /" /etc/php.ini
恢復 Apache 服務器:
sudo systemctl restart httpd
第 4 步:下載 Nextcloud 服務器
到目前為止,我們已經創建了 Web 服務器環境以及其他 NextCloud 需求。 現在,讓我們從其官方網站下載該雲軟件的存檔格式的可用安裝文件。 我們可以使用給定的命令快速獲取它,而無需訪問其下載頁面。
wget https://download.nextcloud.com/server/releases/latest.zip
第 5 步:在 Alma 或 Rocky Linux 9 上安裝 NextCloud
下載 Nextcloud 安裝文件後,使用給定的命令解壓縮文件。
unzip latest.zip
將提取的文件移動到/var/www/html/
目錄
sudo mv nextcloud/ /var/www/html/
創建一個數據文件夾來存儲上傳到 Nextcloud 的數據
sudo mkdir /var/www/html/nextcloud/data
現在,將 Nextcloud 文件夾權限授予 Apache 用戶:
sudo chown apache:apache -R /var/www/html/nextcloud
步驟 6. 為 NextCloud 創建 Apache VirtualHost 文件
我們將為 Almalinux 或 Rocky 上的 NextCloud 創建一個 Apache 配置文件,以在您使用域名或在同一台服務器上運行多個網站時提供該文件。
sudo nano /etc/httpd/conf.d/nextcloud.conf
粘貼以下行:
使用: 別忘了更換nube.example.com使用您要使用的域名。 如果沒有,請保持原樣。
<VirtualHost *:80>
ServerName cloud.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/html/nextcloud
<directory /var/www/html/nextcloud>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
SetEnv HOME /var/www/html/nextcloud
SetEnv HTTP_HOME /var/www/html/nextcloud
</directory>
</VirtualHost>
重新啟動 Apache Web 服務器並設置 SELinux 策略:
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?"
sudo sudo restorecon -Rv /var/www/html
sudo systemctl restart httpd
步驟 7. 訪問 NextCloud 網頁界面
完成上述所有步驟後,您就可以訪問 Web 界面以在 Rocky 或 AlmaLinux 9 系統上配置 NextCloud。
打開您的瀏覽器,它可以訪問您安裝了 NextCloud 的服務器的域或 IP 地址。 之後它指向 IP 或域:
https://your-server-ip-address
or
https://your-domain.com
創建管理員用戶並輸入數據庫詳細信息
第一頁會要求你創建一個行政用戶然後選擇MySQL/瑪麗亞數據庫作為數據庫。 那裡輸入的詳細信息數據庫你創造了
後點擊安裝按鈕。

步驟 8. 登錄到 NextCloud 面板
當您有登錄頁面時,輸入您創建的管理員用戶的詳細信息並登錄以讓 NextCloud 面板上傳文件。
使用:如果你忘記管理員密碼然後這裡是文章更改它:如何使用命令重置 NextCloud 管理員密碼。


步驟 9. 更新 NextCloud 的命令
將來,如果您想使用命令輕鬆更新 NextCloud,請遵循以下命令:
php.ini 編輯器
sudo nano /etc/php.ini
滾動到文件末尾:
--define apc.enable_cli=1
節省文件使用控制+O打Enter然後按Ctrl+X
添加後,運行此命令以在 NextCloud 更新可供安裝時檢查它們。
sudo -u apache php --define apc.enable_cli=1 /var/www/html/nextcloud/updater/updater.phar
第 10 步。為 NextCloud 設置 Let's Encrypt SSL(可選)
那些還想配置 SSL 證書的人必須運行以下命令:
使用:確保在您的 DNS 域中“A該記錄指向您安裝 NextCloud 的 IP 地址。
sudo dnf -y install certbot mod_ssl
sudo certbot certonly --standalone -d cloud.example.com --preferred-challenges http --agree-tos -n -m [email protected] --keep-until-expiring
一旦SSL證書已成功頒發編輯您現有的 Apache 配置:
sudo nano /etc/httpd/conf.d/nextcloud.conf
刪除現有配置並添加下一個。 並且不要忘記更換nube.example.com使用您要使用的域名訪問 NextCloud。
<VirtualHost *:80>
ServerName files.example.com
ServerAdmin [email protected]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName cloud.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/html/nextcloud
<directory /var/www/html/nextcloud>
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
SetEnv HOME /var/www/html/nextcloud
SetEnv HTTP_HOME /var/www/html/nextcloud
</directory>
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/cloud.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cloud.example.com/privkey.pem
</VirtualHost>
</IfModule>
按保存文件Ctrl+O打Enter鍵,然後使用退出Ctrl+X.
重啟網絡服務器:
sudo systemctl restart httpd
想要安裝NextCloud Client的可以看我們的文章:
在 Debian 11 Bullseye Linux 上安裝 Nextcloud 客戶端
如何在 Almalinux 或 Rocky Linux 上安裝 NextCloud 同步客戶端
經常問的問題:
Nextcloud 和 Google 雲端硬盤一樣嗎?
是的,NextCloud 就像 Google Drive,但在其中,所有數據都在您的控制之下並在您的個人服務器上。 而在 Google Drive 中,所有數據和服務器都在 Google 的控制之下。 因此,它是最好的個人云解決方案之一。
ownCloud 和 Nextcloud 哪個更好?
NextCloud 是 ownCloud 的一個分支,因此兩者是相同的,但在意識形態上有所不同。 一方面,NextCloud 專注於添加新功能,而 Owncloud 則試圖成為一個非常穩定的企業級文件協作平台。
Nextcloud 2 GB 內存夠用嗎?
是的,2 GB 的 RAM 足以安裝 NextCloud,因為此個人云軟件的推薦最低內存要求僅為 512 MB。
哪個數據庫最適合 Nextcloud?
根據 NextCloud 官方文檔,最好使用開源數據庫服務器 MariaDB 或 MySQL,但默認設置為使用 SQLite。
我可以在 Windows 上使用 Nextcloud 嗎?
是的,我們可以在 Microsoft 版本的 Windows 10 和 Windows 11 上使用 NextCloud Server 或 Client。
Nextcloud 安全嗎?
是的,NextCloud 是安全的,因為您可以使用 SSL 或 TSL 傳輸數據,您還可以使用默認的軍用級 AES-256 加密和自定義或基於服務器的密鑰管理來加密數據。 但是,如果您將它安裝在您的服務器上,則整體安全性就掌握在您手中。