手动拷贝文件至nextcloud中并扫描(docker)
Posted feiyafei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手动拷贝文件至nextcloud中并扫描(docker)相关的知识,希望对你有一定的参考价值。
出于不能在nextcloud的web页面手动上传,需要写脚本实现自动上传文件至nextcloud的目的,直接在服务器上将文件手动拷贝到nextcloud目录:
docker cp /data/files nextcloud:/var/www/html/data/账号名/files
但是一般人不这么做,一般挂载到-v卷岂不更好
在nextcloud目录中我们可以这么扫描
#容器内需要指定用户’www-data‘,手动扫描文件并指定扫描路径: sudo -u www-data php /var/www/html/occ files:scan --path admin/files/
容器外执行方式:(推荐)
docker exec -u 33 nextcloud php /var/www/html/occ files:scan --path admin/files/ #-u是指以容器中的uid=33(uid为33的用户名是www-data)的用户执行,也可以使用用户名。
如果使用--all,会导致扫描时间较长,且影响性能。
occ扫描参数说明
格式: files:scan [-p|--path="..."] [-q|--quiet] [-v|vv|vvv --verbose] [--all] [user_id1] ... [user_idN] 参数: user_id #扫描所指定的用户(一个或多个,多个用户ID之间要使用空格分开)的所有文件 选项: --path #限制扫描路径,该路径必须包含以下部分:"user_id/files/path" --all #扫描所有已知用户的所有文件 --quiet #不输出统计信息 --verbose #在扫描过程中显示正在处理的文件和目录 --unscanned #仅扫描以前未扫描过的文件
Ubuntu下手动安装NextCloud
安装环境:阿里云VPS Ubuntu 16.04
一、 安装Apache2
sudo apt-get install apache2
安装完成后,浏览器访问http://your ip/
,出现It works!
网页表示安装成功。
- 修改状态:
service apache2 status|start|stop|restart
- 站点目录:
/var/www/
- 修改权限:
sudo chmod 777 /var/www
- 安装目录:
/etc/apache2/
- 全局配置:
/etc/apache2/apache2.conf
- 监听端口:
/etc/apache2/ports.conf
- 虚拟主机:
/etc/apache2/sites-enabled/000-default.conf
二、安装MariaDB
sudo apt-get install mariadb-server mariadb-client
- 启动MariaDB服务:
sudo systemctl start mysql
- 查看状态:
sudo systemctl status mysql
- 重启服务:
service mysql restart
- 查看监听端口的情况:
netstat -tunpl 或 netstat -tap
- 执行初始化安全脚本,默认root密码为空,设置root密码和其他选项:
sudo mysql_secure_installation
为NextCloud创建数据库和用户
创建数据库nextcloud
,用户名nextcloud
,密码XXXXXXXX
sudo mysql -u root -p
进入MariaDB后,执行:
#创建数据库,名为:nextcloud CREATE DATABASE nextcloud; #给用户nextcloud全部权限 GRANT ALL PRIVILEGES ON nextcloud.* TO \'nextcloud\'@\'localhost\' IDENTIFIED BY \'XXXXXXXX\'; FLUSH PRIVILEGES; #退出 \\q
三、安装PHP及其他模块
sudo apt-get install php7.0 sudo apt-get install apache2 mariadb-server libapache2-mod-php7.0 sudo apt-get install php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring sudo apt-get install php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip
- 测试:
php7.0 -v
- 重启服务:service apache2 restart
- 测试Apache能否解析PHP
-
执行
sudo nano /var/www/html/phpinfo.php
文件中写:<?php echo phpinfo();?>
浏览器访问:http://your ip/phpinfo.php
,出现PHP Version网页
四、安装phpMyAdmin
sudo apt-get install phpmyadmin
- 安装:选择apache2,点击确定。下一步选择是要配置数据库,并输入密码。
- 创建phpMyAdmin快捷方式:
sudo ln -s /usr/share/phpmyadmin /var/www/html
- 启用Apache mod_rewrite模块:
sudo a2enmod rewrite
- 重启服务:
service php7.0-fpm restart & service apache2 restart
- 测试:浏览器访问:
http://your ip/phpmyadmin
五、配置Apache
vi /etc/apache2/apache2.conf
在最后面添加:
AddType application/x-httpd-php .php .htm .html
AddDefaultCharset UTF-8
然后重启Apache服务。
到此为止,web站点其实已经搭建起来了,只需在/var/www/html
目录下存放网页文件,电脑主机就可以访问服务器了,http://ip/xxx.html
。
六、下载nextcloud
cd /var/www/html wget https://download.nextcloud.com/server/releases/nextcloud-15.0.5.zip unzip nextcloud-15.0.5.zip rm nextcloud-15.0.5.zip
接下来只需要在电脑主机的浏览器上输入http://ip/nextcloud,就可以正常访问了。
七、安装
(忘记截图了,直接说怎么填吧!)首先填入账号密码,可自定义,之后作为管理员登陆。然后,数据库名nextcloud,数据库用户名nextcloud,用户密码为你在第三步设置的密码(没改的话是XXXXXXXX)。端口填localhost:3306(apache默认使用3306端口)。
八、映射webDAV
每次使用都要登陆还是有点麻烦,不如把它映射到本地,当作一个本地盘使用。
点击左下角的设置,复制webDAV地址:
打开Windows资源管理器(我的电脑),左上角 计算机-->映射网络驱动器,将webDAV地址填入:
要求输入账号密码,直接填你初始化时设置的Nextcloud账号密码。
映射完成后,你的电脑里就会多出一个盘:
九、可能遇到的问题
1.缺少权限如果出现下面的画面,说明你没有给nextcloud目录权限:
解决方法:
cd /var/www/html chown www-data nextcloud -Rf chmod 770 nextcloud -Rf
2.刷新浏览器出现PHP cURL模块未安装
解决方法:
sudo apt-get install libcurl3 php7.0-curl
参考链接:
1、https://www.jianshu.com/p/44f86003ac37
2、https://blog.csdn.net/weixin_42178720/article/details/80269451
以上是关于手动拷贝文件至nextcloud中并扫描(docker)的主要内容,如果未能解决你的问题,请参考以下文章
NextCloud Updater Downloading失败的解决方法