CentOS7极简安装NextCloud私有网盘步骤:一杯咖啡时间搭好专属云盘
CentOS7极简安装NextCloud私有网盘步骤

想把自己散落各处的文件一次性收回?给团队搭个无广告、不限速的共享空间?一台装了CentOS7的小主机就能搞定。下面这套流程我替上百台机器跑过,最简、最稳、最省时间,照着敲命令,半小时后就能在手机端上传第一张照片。
一、装系统:把CentOS7削到只剩骨架
安装界面选“Minimal Install”,手动勾掉所有附加组件,装完第一件事:
yum update -y && yum install -y net-tools wget vim
网络通了立刻关掉防火墙和SELinux,省得后面来回放行端口:
systemctl disable firewalld --now

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
重启一次,系统干净得像刚刷的盘子。
二、一次到位:Nginx+PHP+MariaDB全拉齐
NextCloud官方推Apache,但Nginx配PHP-FPM省内存,并发高。先装源:
rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install -y yum-utils

yum-config-manager --enable remi-php82
一条命令把Nginx、MariaDB、PHP8.2及常用扩展全拖回来:
yum install -y nginx mariadb-server php php-fpm php-mysqlnd php-xml php-gd php-mbstring php-intl php-zip php-curl php-opcache php-redis
装完顺手启动:
systemctl enable --now nginx mariadb php-fpm
三、数据库:10秒建库+用户
登录MariaDB:
mysql -uroot
三条SQL搞定:
create database nextcloud charset utf8mb4;
grant all on nextcloud.* to 'cloud'@'localhost' identified by 'Cloud@233';
flush privileges; exit;
库名、用户名、密码按自己口味改,别忘了记到小本本。
四、Nginx虚拟主机:贴这段配置就能跑
新建/etc/nginx/conf.d/cloud.conf:
server {
listen 80;
server_name 你的IP或域名;
root /var/www/nextcloud;
index index.php;
clientmaxbody_size 512M;
fastcgi_buffers 64 4K;
location / {
tryfiles $uri $uri/ /index.php$requesturi;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgiparam SCRIPTFILENAME $documentroot$fastcgiscript_name;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
保存后nginx -t && systemctl reload nginx,出现“test is successful”再往下走。
五、获取NextCloud:下载、解压、赋权
切到网站目录:
cd /var/www
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip
chown -R nginx:nginx nextcloud
chmod -R 755 nextcloud
体积大概180M,国内机器可加--no-check-certificate提速。
六、网页安装:填完三框直接起飞
浏览器访问http://你的IP,首次界面要填:
1. 管理员账号、密码(第一位用户自动成超级管理员)
数据目录保持默认/var/www/nextcloud/data即可,后期再挂磁盘
数据库选MariaDB,填刚才的cloud/Cloud@233/nextcloud
点“安装”,进度条跑完自动跳后台,整个过程不超过两分钟。
七、调优:打开Redis缓存、调上传大小
装Redis:
yum install -y redis && systemctl enable --now redis
在/var/www/nextcloud/config/config.php尾部追加:
'memcache.local' => '\OC\Memcache\Redis','redis' => array('host' => 'localhost','port' => 6379,),
改上传限制:
/etc/php.ini里搜“uploadmaxfilesize”“postmaxsize”全改成512M;
/etc/nginx/conf.d/cloud.conf里clientmaxbody_size已写512M;
重启PHP-FPM与Nginx生效:
systemctl restart php-fpm nginx
八、免费HTTPS:用certbot签证书
先装epel:
yum install -y epel-release
yum install -y certbot-nginx
执行:
certbot --nginx -d 你的域名
按提示选2强制跳转HTTPS,证书90天自动续。
九、外网穿透:没公网IP也能玩
家里宽带只给内网地址?装个frp,十分钟搞定:
1. 买台最便宜的云机当跳板,开放7000与7500端口
云机下载frps,配个token,启动
内网CentOS7下载frpc,写两行配置,把本地80映射到云机7500
域名解析到云机,NextCloud瞬间拥有全球访问地址
带宽跑满家庭上行,看片传文档毫无压力。
十、备份:一条脚本每晚自动打包
新建/root/backup.sh:
#!/bin/bashdir=$(date +%F)
mkdir -p /backup/$dir
cd /var/www
tar zcf /backup/$dir/nextcloud.tar.gz nextcloud/
mysqldump -uroot nextcloud > /backup/$dir/nextcloud.sql
find /backup -type d -mtime +7 | xargs rm -rf
写进crontab:
echo "0 3 * /root/backup.sh" | crontab -
七天滚动,磁盘爆掉前永远有退路。
十一、常见坑:一句话点破
• 上传大文件报413:把Nginx的clientmaxbody_size再加大
• 登录页循环跳转:检查config.php里trusted_domains有没有写当前地址
• 后台安全警告“未加内存缓存”:确认config.php里redis字段拼写正确
• 应用商店打不开:服务器在国内,/etc/hosts里把download.nextcloud.com指到新加坡CDN节点
十二、手机端同步:扫码即连
App Store或安卓商店搜NextCloud,打开选“手动登录”,扫码网页端个人设置里的设备码,相册、通讯录瞬间开始增量备份,比某度网盘快得多。
整套流程写下来,命令行部分不超过五十行,跟着敲完就能收获一个终身免费的私有云。数据躺自己硬盘,谁也删不了;带宽用自家光纤,再没会员套路。想扩容就加硬盘,想提速就上SSD,自主可控的爽感用了就回不去。
