NextCloud工具的安装
安装NextCloud所需的运行环境LAMP(Linux、Apache、MySQL、PHP)
-
安装Apache2
- Linux终端下执行命令
sudo apt-get update
先升级所有软件的依赖信息 - 安装Apache2
sudo apt-get install apache2
- 检验是否安装成功进入浏览器地址
localhost:80
查看,如果出现了apache2的基础界面就表示apache安装成功了
- Linux终端下执行命令
-
安装PHP
- 执行安装命令
sudo apt-get install php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php-imagick php7.2-xml php7.2-zip sudo apt-get install libapache2-mod-php7.2
- 测试安装情况,执行
php -v
能看到php版本就ok - 测试apache2 能否解释php
- 在/var/www/html 下创建一个phpinfo.php文件,其中的内容为
<?php phpinfo() ?>
- 重启apache2服务
service apache2 restart
- 浏览器访问
localhost:80/phpinfo.php
,如果顺利跳出php的信息页面,表示apache能正常解释php,至此php配置成功
-
安装MySQL
-
sudo apt-get install mysql-server mysql-client
-
此时需要登录MySQL,root密码未知无法登录
-
打开
/etc/mysql/debian.cnf
文件,该文件中记录了一个debian用户及其密码,使用该用户进入MySQL,然后修改root密码,之后用root登录mysql -u debian-sys-maint -p # 使用debian-sys-maint用户登录 # 进入mysql后修改root密码 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; # root用户登录 mysql -u root -p
-
创建Nextcloud的数据库及用户与授权
create database nextcloud; create user 'nextcloud'@'%' identified by 'nextcloud'; grant all privileges on nextcloud.* to 'nextcloud'@'%';
-
-
NextCloud配置HTTPS
- 利用openssl 生成自签证书
openssl genrsa -out onlyoffice.key 2048 openssl req -new -key onlyoffice.key -out onlyoffice.csr openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt openssl dhparam -out dhparam.pem 2048
- 这里NextCloud部署在apache2上,所以拷贝生成的证书和密钥到
/etc/apache2/cert
下 a2enmod ssl
执行该命令为apache2开启ssl模块- 在
sites-avaliable
下的站点文件default-ssl中修改一些内容,修改SSLCertificateFile
参数的值为你的 .crt文件的路径,修改SSLCertificateKeyFile
参数值为你的 .key文件的路径 - 最后执行’a2ensite default-ssl’来将该站点配置启用
- 最后restart你的apache2服务器即可通过https访问
-
NextCloud官网下载NextCloud的压缩包
- 解压到/var/www/html/ 目录下
- 此时在浏览器访问
localhost:80/nextcloud
如果出现权限不够的问题时 - 执行以下命令
cd /var/www/html chown www-data nextcloud -Rf chmod 770 nextcloud -Rf
- 重启Apache服务
service apache2 restart
- 再次访问
localhost:80/nextcloud
就可以正常进行nextcloud的安装配置了
-
全文搜索插件nextant安装
- 官网app下载nextant的压缩包,需要找对应的版本
- 解压到/var/www/html/nextcloud/apps下
- 配置solr服务
- 管理员用户登录nextcloud,在设置的app中启用nextant,之后在设置中的附加设置中找到nextant的配置,填写solr的服务地址后点击保存于测试,测试成功表示该插件可以正常使用了
- 具体安装过程百度上有个 橙叶博客 我也是在这里学习的
-
安装office预览插件onlyoffice
- 安装Docker
sudo apt-get install docker.io
- 拉取ONLYOFFICE Document Server 的Docker镜像
sudo docker pull onlyoffice/documentserver
这一步可能会出现源速度慢无法下载的问题,你需要修改为国内源 - 启动Docker容器,以查看onlyoffice运行情况`sudo docker run -i -t -d -p 82:80 onlyoffice/documentserver
- 能正常在浏览器82端口看到onlyoffice is running后我们就可以着手配置HTTPS了
- 同样需要SSL证书,可以新生成或者使用之前的
- 在主机的下创建映射目录用来将你的证书映射到docker容器中
mkdir -p /app/onlyoffice/DocumentServer/data/certs
,复制你的证书相关文件到该目录下cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/ cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/ cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/ chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
- 开始运行容器并映射证书目录
sudo docker run -i -t -d -p 444:443 -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver
- 此时访问浏览器 https://localhost:444 查看onlyoffice的https配置成功否
- 之后你需要在nextcloud中安装onlyoffice的app并进行配置,配置过程有很多问题
- 还需要进入你的onlyoffice的容器中去修改配置文件,首先使用
sudo docker ps
获取你onlyoffice容器的容器ID,然后进入该容器中去修改sudo docker exec xxxxxx /bin/bash
,之后进入/etc/onlyoffice/..../default.json
的配置文件中将reject开头的一个验证的配置设置为false,然后保存退出,你对容器的修改只在本次有效,下次进入容器修改就会消失,所以需要执行sudo docker commit xxxxxxxID onlyoffice/mine
来保存你对容器的修改为一个新的镜像image - 然后退出docker容器,在你的服务器上去修改nextcloud的配置,位于
/var/www/html/nextcloud/config/config.php
文件,在文件的结尾添加上'onlyoffice' => array( 'verify_peer_off' =>true )
- 重启apache2
- 进入nextcloud中配置onlyoffice(注意这里配置onlyoffice服务必须是HTTPS的),此时如果不在出现bad Request应该就是完成了上面的配置了,如果出现一个download…的Error,个人认为就是有onlyoffice服务不能跟nextcloud位于同一域名下的问题,解决这个问题的方法,本人是通过在局域网中使用其他设备来配置,配置的ip为服务器的ip就可以成功配置,网上好像是通过反向代理来解决这个问题的
- 配置成功后打开一个office文件,如果出现红字提示…请联系管理员,很有可能是因为一个js文件无法加载,无法加载好像是因为SSL证书的缘故,此时你单独在网页中打开这个js文件的URL去手动使浏览器可以访问这个js文件,之后再刷新就可以解决问题了。(js文件的地址是https://yourip:444/web-apps/apps/api/documents/api.js)
- 安装Docker