0.前言
什么是Nextcloud
Nextcloud是一款開源免費(fèi)的私有云存儲(chǔ)網(wǎng)盤項(xiàng)目,可以讓你快速便捷地搭建一套屬于自己或團(tuán)隊(duì)的云同步網(wǎng)盤,從而實(shí)現(xiàn)跨平臺(tái)跨設(shè)備文件同步、共享、版本控制、團(tuán)隊(duì)協(xié)作等功能。它的客戶端覆蓋了Windows、Mac、Android、iOS、Linux 等各種平臺(tái),也提供了網(wǎng)頁端以及 WebDAV接口,所以你幾乎可以在各種設(shè)備上方便地訪問你的云盤。
Nextcxloud的部署方式
Nextcloud的服務(wù)端部署方式主要有兩種(基于LNMP和基于Docker),讀者可以根據(jù)自己情況進(jìn)行選擇一種部署方式。服務(wù)器需要是Linux操作系統(tǒng),你可以在本地安裝一個(gè)虛擬機(jī)進(jìn)行測試,然后再到云服務(wù)器上部署。Mac系統(tǒng)理論上支持,可以參考Linux教程來操作。Ubuntu系統(tǒng)支持snap一鍵安裝,甚至安裝系統(tǒng)時(shí)都提供安裝nextcloud的選項(xiàng)。本文主要介紹CentOS 7環(huán)境下基于LNMP部署Nextcloud的方法。
LNMP部署Nextcloud的主要流程
對于一個(gè)空白的Linux系統(tǒng)而言,部署的基本流程如下:搭建LNMP環(huán)境-->下載Nextcloud安裝包 --> 通過Web Installer安裝。
下面就讓我們正式開始安裝吧!
1. 安裝php8.0
1.1 檢查舊版的php版本
?#輸入 php -v 檢查當(dāng)前php版本或者 php -m 檢查當(dāng)前php擴(kuò)展
??
?php -v #檢查當(dāng)前的php版本
??
?php -m #檢查php擴(kuò)展
1.2 卸載所有已安裝的php
?yum remove -y php*
1.3 添加remi源(可能需要提前安裝epel-release)
?yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
??
?rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
??
?rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
1.4單獨(dú)啟動(dòng)php80的源(需要提前安裝yum-utils以確保yum-config-manager命令順利運(yùn)行)
?yum-config-manager --disable 'remi-php*'
??
?yum-config-manager --enable remi-php80
??
?#若出現(xiàn) -bash:yum-config-manager:未找到命令
?#是因?yàn)闆]有安裝過yum-utils
?#解決方法:
?yum install -y yum-utils
1.5安裝php及其擴(kuò)展
?yum install -y php php-bcmath php-cli php-common php-devel php-fpm php-gd php-intl php-ldap php-mbstring php-mysqlnd php-odbc php-pdo php-pear php-pecl-xmlrpc php-pecl-zip php-process php-snmp php-soap php-sodium php-xml
??
?#在安裝的過程中要仔細(xì)檢查每一個(gè)php擴(kuò)展是否安裝成功,如果有安裝不成功的擴(kuò)展需要及時(shí)重裝。如果沒有及時(shí)重裝可能會(huì)導(dǎo)致服務(wù)器內(nèi)部錯(cuò)誤。
?#如果php-mysqlnd提示安裝失敗,換個(gè)源試試,php-mysqlnd沒裝上web安裝必失敗。
1.6安裝完成,查看php版本
?php -v
??
?#php命令
?systemctl status php-fpm #查看php狀態(tài)
?systemctl start php #啟動(dòng)php
?systemctl stop php-fpm #停止php
?systemctl restart php-fpm #重啟php
?systemctl enable php-fpm #配置php自啟動(dòng)
?如果安裝成功了會(huì)顯示php版本,如圖
2.apache服務(wù)器安裝
2.1檢查是否有舊版本的apache(也可以不檢查直接裝)
?rpm -qa | grep httpd
?會(huì)返回一個(gè)版本號(hào),這個(gè)是裝完之后截的圖
2.2卸載舊版本,安裝新版本
?#卸載舊版本
?yum remove httpd*
??
?#安裝新版本
?yum install httpd
2.3安裝完成后檢查apache狀態(tài)
?rpm -qa | grep httpd #檢查apache軟件版本
??
?ps -ef | grep apache #檢查apache進(jìn)程
2.4apache服務(wù)指令
?systemctl status httpd #查看apache狀態(tài)
?systemctl start httpd #啟動(dòng)apache
?systemctl stop httpd #停止apache
?systemctl restart httpd #重啟apache
?system enable httpd #開機(jī)自啟apache
如果本地訪問,就已經(jīng)大功告成了,如果在別的主機(jī)上訪問,就需要開啟CentOS 7的80端口
2.5開放CentOS 7的80端口,配置防火墻相關(guān)命令
?#如果嫌麻煩可以直接放行所有端口,但是這樣做不安全
?systemctl stop firewalld
??
?#也可以只放行80端口,這樣是比較保守的選擇
?firewall-cmd --zone=public --add-port=80/tcp --permanent
?firewall-cmd --reload #重新加載讓剛才的命令生效
?firewall-cmd --list-ports #看一下生效了沒
到這里apache就算安裝完成了,接下來可以訪問一下ip看看效果
如果出現(xiàn)大大的“testing 123...”就是成功了
3.安裝MySQL數(shù)據(jù)庫
3.1卸載MariaDB
由于本文用到的環(huán)境是CentOS 7,所以系統(tǒng)中有自帶的MariaDB數(shù)據(jù)庫,在這里先將MariaDB卸載,然后安裝 Mysql
首先,檢查是否安裝了MariaDB
?rpm -qa | grep -i mariadb
如果已經(jīng)安裝了MariaDB,進(jìn)行卸載
?rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
??
?#這里的MariaDB版本是我本地的版本,如果不知道自己的數(shù)據(jù)庫版本可以按TAB鍵自動(dòng)補(bǔ)全
3.2下載MySQL倉庫并安裝
?wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
??
?#若提示wget未找到命令,先安裝wget
?yum -y install wget
??
?#安裝好后,安裝mysql倉庫
?yum -y install mysql80-community-release-el7-3.noarch.rpm
??
?#運(yùn)行下面的命令安裝GPG,不安裝的話用yum安裝mysql會(huì)報(bào)錯(cuò)
?rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
3.3安裝MySQL數(shù)據(jù)庫
?yum -y install mysql-community-service
??
?#開啟MySQL數(shù)據(jù)庫,檢查數(shù)據(jù)庫狀態(tài)
?systemctl start mysqld #啟動(dòng)MySQL
?systemctl status mysqld #查看MySQL狀態(tài)(MySQL經(jīng)常抽風(fēng),這條命令很常用)
3.4查看MySQL的默認(rèn)密碼,登錄并修改默認(rèn)密碼
查看默認(rèn)密碼
cat /var/log/mysqld.log |grep password
?#因?yàn)槭鞘状蔚卿汳ySQL,所以需要先查看MySQL默認(rèn)的root密碼,然后用默認(rèn)密碼登錄root賬戶,在首次登錄root賬戶后會(huì)被MySQL強(qiáng)制要求修改密碼。
?#登錄MySQL
?mysql -uroot -p
?#回車之后會(huì)彈出“password:”輸入默認(rèn)密碼登錄即可
?修改默認(rèn)密碼
?ALTER USER 'root'@'localhost' IDENTIFIED BY 'nextcloud@admin2023'; #注意分號(hào)
?#這個(gè)密碼其實(shí)是不符合MySQL密碼規(guī)則的,MySQL要求必須有大小寫和特殊符號(hào)
??
?#如果你想設(shè)置一個(gè)弱密碼,可以用這條代碼查看密碼策略
?SHOW variables LIKE 'validatej_password%';
?#查看過后可以修改成我們想要設(shè)置的樣子
?set global validate_password.policy=0;
?set global validate_password.length=4;
?#這樣設(shè)置過后我們的密碼就變成最少4位并且沒有限制了
3.5配置數(shù)據(jù)庫、表及用戶權(quán)限
3.5.1創(chuàng)建數(shù)據(jù)庫
創(chuàng)建一個(gè)名為nextclouddate的數(shù)據(jù)庫,你也可以起一個(gè)別的名字。但是一定要記住,在安裝的時(shí)候要用到?。。∏杏洠。?!
?CREATE DATABASE nextclouddate;
3.5.2進(jìn)入剛創(chuàng)建的數(shù)據(jù)庫
?use nextclouddate;
3.5.3創(chuàng)建用戶
?CREATE user 'username'@'localhost' identified by 'Password@2023'
?#其中‘username’表示用戶名,‘Password@2023’表示密碼?!甽ocalhost’表示只能本地訪問,可以根據(jù)需求修改
?#在安裝nextcloud時(shí)同樣需要用到現(xiàn)在創(chuàng)建的用戶,所以一定記住設(shè)置的用戶名和密碼!
3.5.4為用戶授權(quán)
?grant all privileges on nextclouddate.*to 'username'@'localhost';
這一步同樣至關(guān)重要,是給剛創(chuàng)建的用戶授予所有權(quán)限,如果沒授予成功一定檢查哪里出了問題。
?如果創(chuàng)建的用戶沒有權(quán)限的話,web安裝時(shí)會(huì)出現(xiàn)無法連接MySQL報(bào)錯(cuò) ?如果出現(xiàn)上述錯(cuò)誤,可以參考nextcloud官網(wǎng)上的解決方法,鏈接如下:nextcloud官方論壇解決方法
4.nextcloud安裝與配置
4.1 獲取nextcloud安裝包
?#使用wget下載nextcloud最新版安裝包
?wget https://download.nextcloud.com/server/release/latest.zip
4.2解壓并轉(zhuǎn)移到對應(yīng)文件夾下
?網(wǎng)上看了很多安裝教程并沒有寫nextcloud的文件要放在哪個(gè)路徑下,對于小白來講很不友好,所以這里說明一下路徑
?事實(shí)上nextcloud要解壓到var/www/html這個(gè)文件夾下,這里我們在根目錄下解壓,然后把文件轉(zhuǎn)移到這個(gè)位置
?yum install -y unzip #安裝unzip用來解壓文件
?uzip latest.zip #解壓上面下載的zip文件
?cd /root/nextcloud #進(jìn)入解壓后的文件夾
?scp -r * /var/www/html #把文件夾下的全部內(nèi)容轉(zhuǎn)移到目標(biāo)文件夾下
?#老規(guī)矩,如果有未找到命令的報(bào)錯(cuò),就安裝一下
?#安裝命令 yum -y install '名稱'
4.3給nextcloud文件權(quán)限
?chown -R apache:apache /var/www/html #把這一文件下的子文件、子目錄的所有者設(shè)為apache用戶
?chmod -R 775 /var/www/html #賦予775權(quán)限
這兩步驟如果不操作的話在web安裝的時(shí)候會(huì)出現(xiàn)服務(wù)器內(nèi)部錯(cuò)誤,如果安裝的時(shí)候發(fā)現(xiàn)有類似的情況要檢查一下權(quán)限給沒給
檢查權(quán)限是否正確的方法
?#進(jìn)入 /var/www/html目錄下
?ll
這樣就可以看到文件的權(quán)限以及是否為apache用戶
4.4關(guān)閉ESLinux
還是那句話,目前大多數(shù)的教程都是基于docker安裝nextcloud,在為數(shù)不多不用docker部署的文章中,99%都沒有提到要禁用ESLinux,但如果不禁用他的話就會(huì)導(dǎo)致網(wǎng)頁無法正常顯示
?vim /etc/selinux/config #編輯selinux配置文件
?#進(jìn)去之后按i編輯,然后找到SELINUX的那一行
?SELINUX=disbabled #把等號(hào)刪掉,改為disabled
5.進(jìn)入nextcloud前端配置頁面
根據(jù)本文的配置,對應(yīng)輸入就可以安裝成功了!
文章來源:http://www.zghlxwxcb.cn/news/detail-758909.html
安裝成功!文章來源地址http://www.zghlxwxcb.cn/news/detail-758909.html
到了這里,關(guān)于全網(wǎng)最詳細(xì)CentOS 7下部署最新版nextcloud教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!