注:本教程中有一些拓展知識,和本教程關係不大,可忽略😁
一、NextCloud 概述
Nextcloud 一款文件主機服務軟件,就是我們平時使用的雲存儲,不過這是在自己主機的服務器上建立屬於自己的私有云,Nextcloud 使用 AGPLv3 協議發佈。本項目是基於 PHP 和 SQLite,MySQL,Oracle 或 PostgreSQL 數據庫,所以它可以運行在所有的平臺上。
NextCloud 是一個開源免費專業的私有云存儲項目,它能幫你快速在個人電腦戒服務器上架設一套專屬的私有云文件同步網盤,可以像 百度雲盤那樣實現文件跨平臺同步、共享、版本控制、團隊協作等等。NextCloud 能讓你將所有的文件掌握在自己的手中,只要你的設備性能和空間充足,那麼用起來幾乎沒有任何限制。
NextCloud 跨平臺支持 Windows、Mac、Android、iOS、Linux 等平臺,而且還提供了網頁版和 WebDAV 形式訪問,因此你可以在任何電腦、手機上都能輕鬆獲取你的文件了。
搭建 NextCloud 所需軟件:百度雲盤
二、搭建 LAMP 環境
1、安裝系統環境依賴包
Linux 都需要這些依賴包,但一般這些依賴包是已經安裝好了的,這個只是將可能沒有安裝的依賴安裝下。
yum install -y epel-release yum-utils unzip curl wget bash-completion
policycoreutils-python mlocate bzip2
注:epel-release 這個是 epel 源,有一些依賴包是鏡像中沒有的,安裝之後會自動配置 yum 的軟件倉庫,這個默認是未安裝的。
2、安裝 web 服務和數據庫服務
yum install -y httpd mariadb-server mariadb sqlite
- httpd: Apache web服務器
- mariadb-server & mariadb: 從 centos 7 開始,系統中自帶的 mysql 數據庫,更名爲 mariadb-server
源碼安裝 MySQL:CentOS 7.6 安裝 MySQL
3、安裝 php7.2
注:下面有 離線安裝 和 在線安裝,您可自行選擇。
離線安裝:在安裝依賴包的時候使用本地下載好的 rpm 包,不需再聯網進行下載,可以在您當前網絡不太好的時候節省時間。
在線安裝:聯網進行下載所需依賴包。
(1)、離線安裝
下載對應的 rpm 包
rpm 包下載:rpm 包下載地址
下面是需要下載的 rpm 包,你剛剛從百度雲盤中下載的 php72.tar.gz 是已經打包好的
將你剛剛下載的 php72.tar.gz 上傳到目的主機中 /usr/local/src 目錄下,放在此目錄下純屬個人喜好,你也可以放在 /home 下的用戶文件目錄下
# 通過 rz 命令上傳,如果使用 rz 顯示 -bash: createrepo: command not found,則執行下面命令安裝 lrzsz
yum -y install lrzsz
解壓 php72.tar.gz 在 /opt 目錄下,一般這個目錄是用於附加應用的文件目錄
tar -zxvf /usr/local/src/php72.tar.gz -C /opt # 解壓 php72.tar.gz
在解壓的 php72 目錄中創建一個 repodata 文件,就可以做自己的 yum 源
createrepo ./ # 在本目錄中創建一個 repodata 文件
# 如果顯示 -bash: createrepo: command not found,則執行下面命令安裝 createrepo
yum -y install createrepo
注:使用 mkdir repodata 命令是無效的在配置本地 yum 源的時候。
查看 repodata 文件中的內容
注:文件裏面的內容記錄着包與包之間的依賴關係,所以 yum 在安裝的過程總能自動解決依賴關係,因爲 yum 的緩存文件中有這些依賴關係。
拓展 - repodata 的作用(可忽略)
yum clean all # 清空緩存
yum list # 列出之前,這些紅框裏的下載的就是 repodata 文件裏面的內容,然後才把所有包列出來
配置本地 yum 源,因爲安裝本地的 rpm 包,是要比網上重新下載速度快
vim /etc/yum.repos.d/php72.repo # 創建一個 php72.repo 文件,添加下面內容
[php72] # yum 源名稱,在本服務器上唯一的,用來區分不同的yum源
name=php72 # 對 yum 源描述信息
baseurl=file:///opt/php72 # yum源的路徑,提供方式包括FTP(ftp://...)、HTTP(http://...)、本 地(file:///...光盤掛載目錄所在的位置)
enabled=1 # 爲1,表示啓用yum源;0爲禁用
gpgcheck=0 # 爲1,使用公鑰檢驗rpm包的正確性;0爲不校驗
修改完成後使用本地 yum 源快速安裝
yum install -y php72w php72w-cli php72w-common php72w-curl php72w-gd php72w-mbstring php72w-mysqlnd php72w-process php72w-xml php72w-zip php72w-opcache php72w-pecl-apcu php72w-intl php72w-pecl-redis
這裏顯示的就是本地配置的 php72 yum 源
(2)、在線安裝
安裝 php 源
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安裝 php 和 nextcloud 需要的功能模塊
yum install -y php72w php72w-cli php72w-common php72w-curl php72w-gd php72w-mbstring php72w-mysqlnd php72w-process php72w-xml php72w-zip php72w-opcache php72w-pecl-apcu php72w-intl php72w-pecl-redis
(3)、拓展(可忽略)
如果想讓自己從網上下載的 rpm 包保留下來(默認是安裝之後就刪除了 rpm 包),即開啓緩存
vim /etc/yum.conf # 將 keepcache=0 改爲 keepcache=1 即可
- $basearch:系統的架構
- $releasever:版本號
cachedir=/var/cache/yum/$basearch/$releasever
/var/cache/yum/x86_64/7 # 這一行是對應上一行 $basearch/$releasever 的解釋
將緩存的 rpm 包複製到自己準備的目錄中,做自己的 yum 源
mkdir /opt/php72
cd /var/cache/yum/x86_64/7/
# 找到當前目錄下所有以 ".rpm" 結尾的文件然後將這些包複製到 /opt/php72 下
find ./ -name "*.rpm" -exec cp -r {} /opt/php72 \;
4、初始化 LAMP 網站架構
(1)、啓動 LAMP 相關服務
啓動 httpd 服務器
systemctl start httpd.service # 啓動 httpd 服務器
ps -aux | grep httpd # 查看 httpd 的啓動進程
啓動 mariadb 服務器
systemctl start mariadb.service # 啓動 數據庫
ps -aux | grep mariadb # 查看 mariadb 的啓動進程
(2)、關閉防火牆和 selinux
關閉防火牆
iptales -F # 關閉防火牆,默認 80 端口是不讓通信的
關閉 sellinux
getenforce # 查看 sellinux 狀態,如果是 Disabled 時,則表示已經關閉
# 如果未關閉,則用下面命令'暫時'關閉
setenforce 0
拓展 - 永久關閉 sellinux(可忽略)
vim /etc/sysconfig/selinux # 編輯 selinux,將 SELINUX 設置爲 disabled
注:重啓才能生效
(3)、初始化 mariadb 數據庫密碼
mysqladmin -u root password "你的密碼"
三、即將開始嘍
查看 nextcloud - 17.0.1.zip
nextcloud 壓縮包:點擊獲取最新版
cd /usr/local/software
解壓 nextcloud - 17.0.1.zip
unzip nextcloud-17.0.1.zip # 由於解壓的篇幅比較長,省略截圖了
將 nextcloud 中的文件複製到 apache 服務器根目錄下 /var/www/html
cp -r ./nextcloud/* /var/www/html
在網站的根目錄下創建 data 文件,後面會用到這個文件
mkdir /var/www/html/data
賦網站根目錄下 apache 權限
chown -R apache:apache /var/www/html # 給 /var/www/html 給予 apache 的權限
注:因爲代碼是 apache 運行的,apache 進程的身份時 apache 用戶,圖片顯示的本來時 root
在 MariaDB 數據庫中創建 nextcloud 的數據庫
create database nextcloud; # 數據庫名 nextcloud 不能寫錯,後面有分號
注:創建完數據庫之後,然後退出即可
通過 web 界面安裝 nextcloud
可以通過你自己(非虛擬機)的瀏覽器打開 http://192.168.139.128/index.php
創建管理員賬戶,賬號密碼不要記錯,不然就用不了
存儲數據庫
注:配置數據庫 選擇 MySQL的/MariaDB的
點擊完成設置
安裝完成後會出現以下界面,關閉即可
2、使用 windows 客戶端登錄 nextcloud
下載 nextcloud 客戶端,然後安裝
注:往下都是 nextcloud 客戶端安裝之後的教程
點擊登陸
輸入自己啓動服務器的ip地址,點擊 Next
點擊登陸
登陸賬號密碼,點擊登陸,這個賬號密碼是剛剛在網頁端設置的賬號密碼
點擊 Grant access (授權)
根據自己的選擇自定義
下載服務器上的文件,保證本地的文件跟服務器的文件保持一致
NextCloud 搭建到此已經結束,關注我,學到更多有意思的小應用😁。