部署nextcloud私有云盤

1.下載程序包

wget https://download.nextcloud.com/server/releases/nextcloud-17.0.2.zip
unzip nextcloud-17.0.2.zip #解壓程序包
mkdir /data -pv #建立總數據存儲目錄
mkdir /data/data/ #建立數據存儲目錄(用來存放用戶上傳的文件)
mv nextcloud /data/ #移動網盤程序目錄
chown -R nginx.nginx /data/ #把屬組都改成nginxphp

2.安裝php7.2

yum install https://mirror.webtatic.com/yum/el7/webtatic-release.rpm -y
#安裝php程序包的 源
yum -y install php72w.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-gd.x86_64 php72w-ldap.x86_64 php72w-mbstring.x86_64 php72w-mysql.x86_64 php72w-pdo.x86_64 php72w-pear.noarch php72w-process.x86_64 php72w-xml.x86_64 php72w-xmlrpc.x86_64 php72w-fpm.x86_64
#安裝php7.2
vim /etc/php-fpm.d/www.conf #修改php 配置
部署nextcloud私有云盤html

3.安裝配置nginx

yum install nginx -y #安裝nginx
vim /etc/nginx/nginx.conf #修改nignx配置文件mysql

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /data/nextcloud;
        index  index.html index.htm index.php;
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
location / {
           try_files $uri $uri/ /index.php$uri;
}

location ~ .*\.(php|php5)(.*)?$
#注意這塊,配置重寫的url 
{
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 #開啓pathinfo
 fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
 include fastcgi.conf;
}

}
}

4.登陸配置

瀏覽器輸入ip地址
部署nextcloud私有云盤
#按照上圖配置,最後點擊完成
部署nextcloud私有云盤nginx

PS:注意
若是域名沒備案,可能你今天能經過域名訪問,過兩三天就會提示你備案(此時沒法經過域名打開)web

排錯爬坑

報錯1
部署nextcloud私有云盤
#這種報錯是要把 nextcloud的文件夾屬主改成php啓動的用戶sql

報錯2
部署nextcloud私有云盤
#無限卡登錄錯誤,這是應爲php 沒法建立 session文件夾或者文件夾屬主不對
mkdir /var/lib/php/session -pv #建立文件夾
chown -R nginx.nginx /var/lib/php/ #修改屬主docker

報錯3
部署nextcloud私有云盤
#這種報錯是nginx 配置不正確,正確配置nginx便可,可參照以上代碼數據庫

報錯4
部署nextcloud私有云盤
#這種報錯是nignx 有上傳限制,在 nginx的 http段添加代碼" client_max_body_size 512M;" 這樣就能把上傳限制提高到512Mvim

報錯5
部署nextcloud私有云盤
#配置好帳號數據庫,登錄的時候報錯,這是由於nginx 對php轉發沒有開啓pathinfo,對.php/xxxx 後面的url路徑不識別不轉發給php處理。開啓pathinfo便可,上面的nginx配置就是開啓了 照着抄就好了瀏覽器

報錯6
部署nextcloud私有云盤
#vim /data/nextcloud/config/config.php #編輯nextcloud的 php配置文件
部署nextcloud私有云盤

增長證書 基於ssl 訪問

部署nextcloud私有云盤
在server 段添加如下代碼

listen       443 ssl ;
#監聽443端口,ssl不要忘記加
server_name www.xxx.com.cn;
        ssl_certificate      /etc/nginx/ssl/1.pem;
        ssl_certificate_key  /etc/nginx/ssl/2.key;
        #證書,到阿里雲申請免費的
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        if ($server_port = 80) {
            rewrite ^(.*)$ https://$host$1 permanent;
           }
            #這個代碼是把http請求從新到https

擴展---備份恢復

部署nextcloud私有云盤
#data這個文件夾 是全部的用戶信息及帳戶權限,備份這個文件夾可備份全部數據,測試過可行的。

docker 方法安裝

yum install docker -y #安裝docker
systemctl restart dockerk #啓動docker
docker pull rootlogin/nextcloud #拉去網盤的鏡像,這一步看網絡質量
mkdir /data/data666 -pv #創建網盤的存儲數據文件夾
docker run -d --name nextcloud -p 90:80 -v /data/data666:/data rootlogin/nextcloud
#建立容器name爲nextcloud 把容器的80端口映射到宿主機的90端口,容器的"/data"文件夾映射到宿主機的 "/data/data666"文件夾,鏡像使用"rootlogin/nextcloud" 就是以前拉去的

部署nextcloud私有云盤
#使用90端口訪問,上傳文件
部署nextcloud私有云盤
#cd 到宿主機的/data/data666 文件夾,能夠看到裏面已經有數據了,這裏面的數據就是nextcloud容器所產生的數據,這些文件就是nextcloud用戶的數據及帳戶信息,這裏面是能夠持久化存儲的,容器重啓數據也依然不丟失
部署nextcloud私有云盤#cd 到 admin 的帳戶裏,能看到剛纔咱們上傳的測試數據

相關文章
相關標籤/搜索