# 前期需要軟件
- 遠程SSH控制檯軟件(本教程使用 Remote Terminal 此爲win10商店軟件)[點我下載(此軟件爲Xshell)]
- 支持Sftp的FTP軟件(本教程使用 FileZilla)[點我下載]
- Centos或Ubuntu主機一臺 (教程使用 centos7.7)
# 注意事項
- 推薦Ubuntu系統(由於個人偏向,本教程使用Centos)
- 未標註哪個系統指令則兩者都可適用
- 若標題註釋了哪個系統那隻能適用那個系統或另一個系統不需要輸此指令
# 環境部署
# 系統更新
- 首先你要確保你的系統是最新的
yum update # (Centos)
//Ubuntu需要兩條指令來升級
apt-get update -y # (Ubuntu)
apt-get upgrade -y # (Ubuntu)
1
2
3
4
2
3
4
# 寶塔安裝
- 使用指令安裝
//Centos指令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
//Ubuntu指令
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
1
2
3
4
2
3
4
- 安裝所需環境
- 首次進入會讓你安裝基礎程序【這裏選LAMP個人喜歡這個,並且不需要自己添加僞靜態】
- 這裏選擇版本爲:
- Apache 2.4
- MySQL 5.7
- Pure-Ftpd 1.0.49
- PHP 7.3(並安裝擴展名: fileinfo)
- phpMyAdmin 4.7
- 這裏最好選編譯安裝,極速安裝雖說快,但他不穩定,很不推薦.
- 下載速度日常很慢(根據服務器性能,我這裏就是晚上弄然後睡覺去了)
- 刪除PHP中的禁用函數(現在的PHP和以前相比已經不需要禁用函數了,反而導致程序錯誤)
- 按下鍵盤Ctrl+F開啓搜索功能搜索
disable_functions
,並刪除後面的禁用函數,隨後重啓PHP。
- 新建網站+數據庫,並將數據庫賬戶密碼記錄,在下文會使用到
- 在SSH部署時需手動
cd
到網站目錄並保證目錄爲空。(都面板化了,手動刪除4個文件應該不費事吧)
# 安裝Nextcloud
- 克隆Nextcloud文件到本地
- 對於網盤系統有seafile、可道雲,國外NextCloud,在自我衡量之後發現NextCloud更適合做網盤系統
- [前往Nextcloud下載頁]下載NextCloud安裝包,並上傳至服務器或
cd
到你要部署的文件夾自行下方命令 - 注意! 鏈接非統一性,在官方隨時更新版本鏈接隨時變更,鏈接最好前往官方獲取鏈接
wget -c https://download.nextcloud.com/server/releases/nextcloud-18.0.1.zip
1
- 解壓壓縮包
nextcloud-18.0.1.zip
- 移動
nextcloud
內安裝文件,遷移至網站目錄
- 刪除無用文件的
nextcloud``nextcloud-18.0.1.zip
,不刪除容易出錯
rm -rf nextcloud
rm -rf nextcloud-18.0.1.zip
1
2
2
- 變更權限組合權限,權限選擇「755」+用戶組選擇「www」,最後確定即可
- 直接打開自己綁定的域名,將上面用記下來的數據庫用戶名和密碼寫入相應的位置
- 點擊安裝後就安裝好啦
# 維護模式指令
sudo -u www php occ maintenance:mode --on
sudo -u www php occ maintenance:mode --off
1
2
2
# 解決後續問題
- 在「設置」中「管理欄」的選項中有「安全與設置警告」,實際上沒多大事,如果有強迫症,下方可以解決
# PHP 內存限制低於建議值 512MB
寶塔php點擊配置修改,編輯腳本內存限制
,給512M即可
# PHP 的 OPcache 模塊未載入。推薦開啓獲得更好的性能。
按照提示在php配置文件中搜索Zend ZendGuard Loader,添加:
zend_extension=opcache.so
1
# PHP 的組件 OPcache 沒有正確配置。 爲了提供更好的性能,我們建議在 php.ini中使用下列設置:
按照提示在php配置文件中搜索opcache.enable=1,對應修改成:
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
1
2
3
4
5
6
7
2
3
4
5
6
7
# 該實例缺失了一些推薦的 PHP 模塊。爲提高性能和兼容性,我們強烈建議安裝它們。imagick
寶塔php點擊安裝imagemagick
。
# 內存緩存未配置,爲了提升使用體驗,請儘量配置內存緩存。
寶塔php點擊安裝redis
,編輯/config
下的config.php
在);
前加入以下代碼:
'memcache.local' => '\OC\Memcache\Redis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),
1
2
3
4
5
2
3
4
5
# 數據庫中的一些列由於進行長整型轉換而缺失。
cd到nextcloud目錄,執行
sudo -u www php occ db:convert-filecache-bigint
1
# 數據庫丟失了一些索引。
cd到nextcloud目錄,執行
sudo -u www php occ db:add-missing-indices
1
# 美化URL,去除入口文件index.php
使用config.php+OCC命令生成.htaccess
。編輯/config/config.php
添加規則:
'htaccess.RewriteBase' => '/',
1
然後使用occ命令生成.htaccess文件:
sudo -u www php occ maintenance:update:htaccess
1
# 通過 HTTP 訪問網站不安全。強烈建議您將服務器設置成要求使用HTTPS 協議
去證書網站申請證書即可。
# HTTP的請求頭 "Strict-Transport-Security" 未設置爲至少 "15552000" 秒。爲了提高安全性,建議參照security tips 中的說明啓用HSTS。
在站點配置文件裏面添加如下代碼,然後重啓Apache即可。
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
1
# 性能優化
# 定時任務配置爲 'Cron'
sudo -u www crontab -e
//添加
*/5 * * * * /php的絕對路徑/php -f /站點的絕對路徑/cron.php
//這是我添加的,你們可以進行參考
*/5 * * * * /www/server/php/73/bin/php -f /www/wwwroot/cloud.vlssu.com/cron.php
lnmp restart
1
2
3
4
5
6
2
3
4
5
6