如何使用LAMP在Debian 9 Stretch上安裝NextCloud

本教程將向您展示如何在帶有LAMP堆棧的Debian 9上安裝NextCloud。 NextCloud是一種免費的開源自託管雲存儲解決方案,它提供了替代第三方雲存儲服務(如Dropbox)的替代方案。

先決條件

要遵循本教程,您需要以下內容:

  • Debian 9 VPS(虛擬專用服務器)或本地Debian計算機
  • 在Debian 9上安裝了LAMP堆棧。
  • 域名

步驟1:下載NextCloud

使用以下命令將NextCloud服務器zip歸檔文件下載到Debian 9系統上。 在撰寫本文時,最新的穩定版本是12.0.2。

wget https://download.nextcloud.com/server/releases/nextcloud-12.0.2.zip

當您遵循本教程時,可能會有較新的版本。 去 https://nextcloud.com/install 然後單擊下載按鈕以簽出最新版本。 要獲取NextCloud的下載鏈接,只需右鍵單擊 Download NextCloud 按鈕並選擇 Copy Link Location 如下面的屏幕截圖所示。

提取到 /var/www/ 目錄與 unzip

sudo apt install unzip

sudo unzip nextcloud-12.0.2.zip -d /var/www/

現在我們做 www-data (Apache用戶)作為的所有者 /var/www/nextcloud/

sudo chown www-data:www-data /var/www/nextcloud -R

步驟2:在MariaDB中創建數據庫和用戶

使用以下命令登錄MariaDB數據庫服務器:

sudo mariadb -u root

然後使用下面的MariaDB命令為NextCloud創建數據庫。 本教程為數據庫命名 nextcloud。 您可以使用任何喜歡的名稱。 最後不要遺漏分號。

create database nextcloud;

然後創建一個單獨的用戶。 同樣,您可以為該用戶使用您的首選名稱。 更換 your-password 使用您的首選密碼。

grant all privileges on nextcloud.* to [email protected] identified by 'your-password';

上面的命令將創建用戶並授予所有特權。 現在刷新MariaDB特權並退出。

flush privileges;

exit;

步驟3:在MariaDB中啟用二進制日誌記錄

編輯MariaDB配置文件。

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

在下面添加以下三行 [mysqld] 部分。

log-bin        = /var/log/mysql/mariadb-bin
log-bin-index  = /var/log/mysql/mariadb-bin.index
binlog_format  = mixed

二進制日誌的格式必須為 mixed。 保存並關閉文件。 然後重新啟動MariaDB服務。

sudo systemctl restart mariadb

現在,在MariaDB中啟用了二進制日誌。

步驟4:為Nextcloud創建Apache虛擬主機文件

我們將創建一個 nextcloud.conf 歸檔在 /etc/apache2/sites-available 目錄。

sudo nano /etc/apache2/sites-available/nextcloud.conf

將以下行複製並粘貼到文件中。 將紅色文本替換為您的實際域名。 您還需要將域名指向DNS中Debian 9服務器的IP地址。

<VirtualHost *:80>
 DocumentRoot "/var/www/nextcloud"
 ServerName nextcloud.your-domain.com

 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/nextcloud/>
 Options +FollowSymlinks
 AllowOverride All

 <IfModule mod_dav.c>
 Dav off
 </IfModule>

 SetEnv HOME /var/www/nextcloud
 SetEnv HTTP_HOME /var/www/nextcloud
 Satisfy Any

</Directory>

</VirtualHost>

保存並關閉文件。 然後使用以下命令啟用此虛擬主機。

sudo a2ensite nextcloud

我們還需要啟用一些Apache模塊。

sudo a2enmod rewrite headers env dir mime setenvif ssl

安裝所需的PHP模塊。

sudo apt install php7.0-common php7.0-mysql php7.0-gd php7.0-json php7.0-curl php7.0-zip php7.0-xml php7.0-mbstring

重新啟動Apache,以便可以加載上述Apache和PHP模塊。

sudo systemctl restart apache2

步驟5:啟用HTTPS

現在,您可以通過輸入Nextcloud安裝的域名來訪問瀏覽器中的Nextcloud Web安裝嚮導。

nextcloud.your-domain.com

nextcloud-debian-9

在輸入任何敏感信息之前,我們應該在Nextcloud上啟用安全的HTTPS連接。 我們可以從Let’s Encrypt獲得免費的TLS證書。

從Debian 9倉庫安裝certbot(讓我們加密)客戶端。

sudo apt install certbot python-certbot-apache

現在發出以下命令以獲得免費的TLS / SSL證書。 將紅色文本替換為您的實際數據。

sudo certbot --apache --agree-tos --redirect --hsts --email your-email-address -d nextcloud.your-domain.com

說明:

  • –apache:使用apache插件。
  • –同意:同意服務條款。
  • –重定向:自動將所有HTTP通信重定向到HTTPS。
  • –hsts:添加Strict-Transport-Security標頭。

在幾秒鐘之內,您將看到如下消息,這表示已成功獲取並安裝了TLS證書。 TLS配置在SSL測試中得分為A。

nextcloud https設置

在Web瀏覽器中完成安裝

現在,在您的Web瀏覽器地址欄中,鍵入您的NextCloud域名。 您會看到它已自動重定向到https。

nextcloud.your-domain.com

nextcloud debian 9安裝帶燈

您將需要創建一個管理員帳戶。 數據文件夾是存儲用戶文件的位置。 出於安全考慮,最好將數據目錄放置在Nextcloud網絡根目錄之外,例如 / var / www / nextcloud-data。 可以使用以下命令創建:

sudo mkdir /var/www/nextcloud-data/

然後確保Apache用戶(www-data)具有對數據目錄的寫入權限。

sudo chown www-data:www-data /var/www/nextcloud-data -R

然後輸入您先前創建的數據庫用戶名,數據庫名稱和密碼,以將Nextcloud連接到MariaDB數據庫。

完成後,您將看到Nextcloud的Web界面。 恭喜! 現在,您可以開始將其用作私有雲存儲。

nextcloud debian 9 Apache

我希望本教程可以幫助您在帶有LAMP堆棧的Debian 9上安裝NextCloud。 與往常一樣,如果您發現這篇文章很有用,請訂閱我們的免費新聞通訊以獲取新教程。

Sidebar