Nextcloud 是一个免费专业的私有云存储网盘「开源」项目,Nextcloud开发人员来自owncloud。Nextcloud 跨平台支持 Windows、Mac、Android、iOS、Linux 等平台,提供了「网页版」以及 WebDAV 形式访问,可以在任何电脑、手机设备上轻松获取和访问文件文档,实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。
nextcloud下载链接,https://nextcloud.com/install/#instructions-server,也可以https://github.com/nextcloud获取源码、相关软件和更多的版本
一、CentOS7下nextcloud服务端安装
管理员手册 https://docs.nextcloud.com/server/latest/admin_manual
以最新的nextcloud 21.0.2版本为例,需要的组件版本如下
Platform | Options |
---|---|
Operating System |
|
Database |
|
Webserver |
|
PHP Runtime |
|
考虑到实际用途还是以CentOS7为主,下面以(7.7 1908)为例进行安装(部分内容参考官网CentOS8示例,https://docs.nextcloud.com/server/latest/admin_manual/installation/example_centos.html)
1. 数据库MariaDB 10.5安装
(1)CentOS7自带的MariaDB数据库是5.5版本,如果安装先卸载:
-
yum
list installed|grep mariadb
-
#卸载已经安装的mariadb
-
yum
remove mariadb
(2)添加最新版本的MariaDB源,MariaDB官网提供了源的自动生成器,见https://downloads.mariadb.org/mariadb/repositories
选择合适的版本,对于CentOS,https://downloads.mariadb.org/mariadb/repositories/#distro=CentOS&distro_release=centos7-amd64--centos7&mirror=tuna&version=10.5
新建一个 /etc/repos.d/MariaDB.repo,从上面生成的内容粘贴,如下:
-
# MariaDB 10.5 CentOS repository list - created 2021-05-24 02:24 UTC
-
# http://downloads.mariadb.org/mariadb/repositories/
-
[mariadb]
-
name = MariaDB
-
baseurl = http://yum.mariadb.org/
10.5/centos7-amd64
-
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
-
gpgcheck=
1
安装
yum -y install MariaDB-client MariaDB-server MariaDB-devel #-devel可选
(4)首次安装后的相关操作如下:
-
systemctl
start mariadb.service
#启动服务
-
systemctl
enable mariadb.service
#添加到开机启动
-
systemctl
status mariadb
## 查看状态
-
mysql -u root
#首次登录MariaDB
-
mysqladmin -u root
password
'your password'
#修改MariaDB初始root密码
-
mysql -u root -p
#修改后用新密码登录
注:MariaDB安全配置(和MySQL不同)有专门的命令:mysql_secure_installation,参考https://blog.csdn.net/qq_33187206/article/details/86543588
2. PHP 7.4安装
添加第三方REMI源:
-
#添加第三方源
-
yum install http://rpms.remirepo.net/enterprise/remi-release-
7.rpm
-
-
#查看yum源中有没有php7.x
-
yum search php
7
-
-
#安装php74及相关模块
-
yum install -y php
74-php-fpm php
74-php-cli php
74-php-bcmath php
74-php-gd php
74-php-json php
74-php-mbstring php
74-php-mcrypt php
74-php-mysqlnd php
74-php-opcache php
74-php-pdo php
74-php-pecl-crypto php
74-php-pecl-mcrypt php
74-php-pecl-geoip php
74-php-recode php
74-php-snmp php
74-php-soap php
74-php-xml php
74-php-imagick php
74-php-pecl-zip
查看PHP版本号:
php74 -v
要直接用php -v,需要先做一个软链接
ln -s /opt/remi/php74/root/usr/bin/php /usr/bin/php
PHP7.4配置文件的路径:/etc/opt/remi/php74/php.ini
-
memory_limit =
512M
-
-
#如果你运行的是nginx而不是apache,修改
-
vi
/etc/opt/remi/php74/php-fpm.d/www.conf
-
user =
apache
-
group =
apache
-
# Replace the values with
-
user =
nginx
-
group =
nginx
3. Apache安装
Apache版本变化不大,CentOS7中的Apache版本就可以了
-
yum
install httpd -y
#安装 apache
-
-
systemctl
start httpd
#开启Apache服务
-
-
systemctl
enable httpd
#设置开机自启Apache服务
Apache默认的路径:
- #var/www/html(apache网页的存放路径,默认下面是没有网页的)
- #服务目录 /etc/httpd
- #主配置文件 /etc/httpd/conf/httpd.conf
- #网站数据目录 /var/www/html
- #访问日志 /var/log/httpd/access_log
- #错误日志 /var/log/httpd/error_log
为nextcloud建立一个Apache配置,/etc/httpd/conf.d/nextcloud.conf
-
Alias /nextcloud
"/var/www/html/nextcloud/"
-
-
<Directory /var/www/html/nextcloud/>
-
Require
all granted
-
AllowOverride
All
-
Options FollowSymLinks MultiViews
-
-
<IfModule mod_dav.c>
-
Dav
off
-
</IfModule>
-
</Directory>
4. Apache与php-fpm
PHP Web应用现在一般建议使用php-fpm,《php-fpm的配置和优化》介绍了mod_php和mod_fastcgi的区别,以及php-fpm的基本概念。
(1)设置php-fpm自启动并启动进程
-
systemctl enable php
74-php-fpm
-
systemctl start php
74-php-fpm
fpm装好后 ,netstat可以看到9000端口被fpm使用。
(2) apache模块配置中增加php-fpm配置文件,如下:
/etc/httpd/module.conf.d/10-php-fpm.conf
-
<FilesMatch \.php$>
-
SetHandler
"proxy:fcgi://127.0.0.1:9000"
-
</FilesMatch>
编写一个测试文件phpinfo.php,放在/var/www/html下面
-
<?php
-
phpinfo();
-
?>
访问http://ip/phpinfo.php,效果如下:
表示PHP安装和配置成功,使用的是FPM模式。
[注]使用yum安装完apache、php7、mariadb之后,发现apache可以解析html文件,但是不能解析php文件,一般就是php-fpm没有正确配置。
5. 安装nextcloud服务器
下载nextcloud服务包,参照下面的官网操作步骤。
-
wget
https://download.nextcloud.com/server/releases/nextcloud-x.y.z.tar.bz2.asc
-
wget
https://nextcloud.com/nextcloud.asc
-
gpg
--import nextcloud.asc
-
gpg
--verify nextcloud-x.y.z.tar.bz2.asc nextcloud-x.y.z.tar.bz2
-
-
unzip
nextcloud-*.zip
-
-
cp
-R nextcloud/ /var/www/html/
-
-
#创建数据存储目录
-
mkdir
/var/www/html/nextcloud/data
-
-
#确保Apache对数据存储目录有读写权限
-
chown
-R apache:apache /var/www/html/nextcloud
-
-
#Restart apache:
-
systemctl
restart httpd.service
-
-
#创建apache防火墙规则:
-
firewall-cmd
--zone=public --add-service=http --permanent
-
firewall-cmd
--reload
现在可以启动web安装界面了,输入http://{ip}/nextcloud
1 关于数据目录,就是上面创建的,当然也可以制定一个空间比较大的目录(apache可读写)。
2 关于数据库,默认是SQLite,可以选择MariaDB,输入MariaDB 服务器IP、账户和密码、数据库名称(一般设为nextcloud,安装程序自动建立),点击下一步就自动安装。
3. Trusted domains
All URLs used to access your Nextcloud server must be whitelisted in your config.php
file, under the trusted_domains
setting. Users are allowed to log into Nextcloud only when they point their browsers to a URL that is listed in the trusted_domains
setting. You may use IP addresses and domain names. A typical configuration looks like this:
-
'trusted_domains' =>
-
array (
-
0 => 'localhost',
-
1 => 'server1.example.com',
-
2 => '192.168.1.50',
-
3 => '[fe80::1:50]',
-
),
二、nextcloud使用
nextcloud可以从web页面、专用客户端(Windows/Linux/Mac)、文件管理器(webDAV协议)和手机应用进行访问,这也是nextcloud的一大优势。
1. WEB访问nextcloud服务
在安装nextcloud服务的时候建立的admin管理员账户,用admin管理员身份建立一个新用户mcwolf,然后登陆后首页如下:
首页默认显示的是仪表盘,在左上角还有文件、照片和动态等功能。
点击文件图标,进入最常见的文件管理,可以用“+”上传文件,也可以直接从文件管理器拖拽上传文件。
这时,在nextcloud服务器中的文件存储结构是:
-
[root@localhost data]
# tree -L 2 /var/www/html/nextcloud/data/mcwolf
-
mcwolf
-
├──
cache
-
├── files
-
│ ├── Documents
-
│ ├── Nextcloud\ intro.mp4
-
│ ├── Nextcloud\ Manual.pdf
-
│ ├── Nextcloud.png
-
│ ├── Photos
-
│ ├── Reasons\
to\
use\ Nextcloud.pdf
-
│ ├──
Sync
-
│ └── Templates
-
└── files_trashbin
-
├── files
-
├──
keys
-
└──
versions
2. WebDAV访问nextcloud文件
NextCloud 支持 WebDAV 协议,用户可以完全通过 WebDAV 来连接并同步文件,可以和文件管理器集成(包括Windows,Linux桌面),对于固定使用的电脑,可以映射为一个硬盘,就和本地硬盘一样操作,这也是最方便的使用模式。
Nextcloud登录后,单击设置
,复制WebDAV下的URL地址。
回到电脑桌面,右击计算机,选择映射网络驱动器或添加一个网络位置, 复制第1步中的URL,单击下一步。输入用户名密码,单击确定即可,在资源管理器->计算机,可以看到映射的网络位置,双击打开即可看到Nextcloud中的文件
复制文件到映射的驱动器,网页打开Nextcloud,查看文件是否同步!
如果没有开启https协议,这里会无法添加webdav地址,提示“输入的文件夹似乎无效。请选择另一个”
因为win7~10默认是只能添加https的WebDAV不是https,需要修改注册表使得win7~10同时支持http和https:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
(1)把BasicAuthLevel 值改成2,即同时支持http和https。
(2)设置文件大小限制,FileSizeLimitInBytes
值改成十进制50000000,
然后重启服务:
net stop webclient
net start webclient
再次“映射网络驱动器”,就可以添加成功了。
3.Nextcloud 客户端实现与本地数据同步
Nextcloud 客户端无缝连接到Nextcloud云服务器,允许用户在桌面和服务器之间同步他们的数据,支持端到端加密、同步文件夹无缝集成到GNOME文件管理器侧栏
比较坑爹的是客户端3.0版本以后只支持win10,所以最后支持win7的是2.7,旧版本下载 https://github.com/nextcloud/desktop/releases
安装后,第一次需要登录和执行设置向导(同步的目录),运行后在系统托盘运行,从托盘打开界面如图:
主界面显示的是执行的同步操作日志,右上角目录图标是直接进入本地同步目录,其它图标则直接访问Web相应功能。
点击账户,从下面的菜单中选择“Settings”,可以对要同步目录进行选择:
Nextcloud安卓客户端是免费的,而且兼容ownCloud,https://github.com/nextcloud/android,可以下载一个开发者版
4. 管理功能
admin账户可以完成nextcloud各种管理功能。点击nextcloud页面右上角 “A”图标,出现功能菜单,其中设置功能如下:
左边侧栏上面是个人设置,下面是管理,也就是对nextcloud服务的设置,非常的详细,也很强大,上图是安全设置,例如可以在这里设置密码策略,也可以配置服务器加密。
转载:https://blog.csdn.net/McwoLF/article/details/117222806