前言
一直以来主要是用百度云网盘和其他的微云什么的搭配使用,什么方便用为什么,个人数据放得自己的找不到,之前也看过搭建个人网盘但是一直没有自己去搞过,这次想着花点时间搞个个人网盘来用,顺便写下自己的搭建过程。
框架选择
选择nextcloud的原因:
- 各个平台都有对应的客户端,方便。
- 开源,可以自己动手操作。
- 功能比较完善。
服务器
自己查了以下发现ucloud最近在做活动,比较便宜。
注册连接
领券连接
系统版本
我购买的时候都是直接按照默认的来,系统默认的是CentOS 8。
安装
安装DNF
yum install dnf
dnf update -y
安装Apache
// 安装
dnf install -y httpd
// 启动
systemctl enable httpd.service
systemctl start httpd.service
安装PHP
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf install yum-utils
dnf module reset php
dnf module install php:remi-7.4
dnf install -y php php-gd php-mbstring php-intl php-pecl-apcu php-mysqlnd php-opcache php-json php-zip php-dom
安装数据库
// 安装
dnf install -y mariadb mariadb-server
// 启动
systemctl enable mariadb.service
systemctl start mariadb.service
// 配置密码
mysql_secure_installation
安装nextcloud
wget https://download.nextcloud.com/server/releases/nextcloud-18.0.3.zip
// 解压
unzip nextcloud-*.zip
// 拷贝到Apache目录
cp -R nextcloud/ /var/www/html/
// 创建数据目录
mkdir /var/www/html/nextcloud/data
// 设置权限并重启
chown -R apache:apache /var/www/html/nextcloud
systemctl restart httpd.service
// 如果你是 SELinux 需要运行如下命令
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.htaccess'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.user.ini'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?'
restorecon -R '/var/www/html/nextcloud/'
setsebool -P httpd_can_network_connect on
都部署好之后可以访问页面配置
http://yourdomain/nextcloud
这里填写你的管理员账号密码
这里训责MySQL/MariaDB,用户名默认为root,然后填写你刚才设置的数据库密码,数据库名可填为nexcloud(随意),下面localhost后加上端口号,然后点击安装完成,等待就好了。客户端的话在上面提到的官网中下载。
域名访问
通过域名访问http://yourdomain/nextcloud
,需要打开nextcloud/config/config.php,找到trusted_domains,在array中添加。
国内的话网站还需要备案哦!