Linux下搭建私人开源网盘NextCloud步骤及使用(基于LAMP)

房东的猫 提交于 2020-02-29 15:20:37

简介:
Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。

 

本安装环境:

1、Apache/2.4.37

2、PHP 7.3.15(须>7.2)

3、Mysql 8.0.17

4、nextcloud-18.0.1

系统环境:CentOS Linux release 8.0.1905

 

开始安装

1、安装httpd

 yum -y install httpd

 

2、安装php7.3和一些所需插件

#先来安装Remi存储库
dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

#安装php7.3及常用软件包
dnf module reset php  #重置php模块
dnf module enable php:remi-7.3  #默认设置为remi-7.3版本

#安装php7.3
yum -y install php php-mysqlnd php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-zip

#配置php.ini
vim /etc/php.ini
将
#cgi.fix_pathinfo=0
的注释删除掉,并改为0,这一项默认被注释并且值为1,根据官方文档的说明,这里为了当文件不存在时,阻止Web将请求发送到后端的PHP-FPM模块,从而避免恶意脚本注入的攻击。

扩展:

php-fpm通信有两种方式(默认是第二种):

1)第一种是通过端口通信,就是以上的连接法,通常在web与php-fpm不在同一台服务器中时使用此方法。

2)第二种是通过php7.0-fpm.sock文件进行互联通信,一般用于web与php-fpm在同一台服务器时使用。

 

3、验证httpd是否可以解析.php

systemctl restart httpd.service    #启动服务
systemctl start php-fpm.service

cd /var/www/html
vim index.php
...
<?php
phpinfo();
?>
...

测试页访问http://localhost/index.php

 

4、安装Mysql

yum -y install mysql-server mysql
chown -R mysql:mysql my.cnf.d/
#若需修改data路径等,自行修改

mysqladmin -uroot password 'root1'  #设定mysql中root用户的密码
mysql -uroot -proot1  #登录

#创建用户,赋予管理员权限
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'nextcloud1';
GRANT ALL PRIVILEGES ON  *.* TO nextcloud@localhost;
FLUSH PRIVILEGES;  #刷新权限

 

5、安装NextCloud

wget https://download.nextcloud.com/server/releases/nextcloud-18.0.1.tar.bz2
#以上方法如果下载速度很慢,则可以选择先迅雷下载到本地,载上传到服务器

tar jxvf nextcloud-18.0.1.tar.bz2 -C /var/www/html/  #解压
chown -R apache:apache /var/www/html/nextcloud  #修改所有者
chmod -R 775 /var/www/html/nextcloud/  #修改权限

#############可选#############
#创建httpd虚拟目录,虚拟目录的作用:
#已知我们把web应用放在Apache默认的docs目录下,Apache会自动的管理它。
#若我们想把web应用放在其他目录下, Apache仍然能够访问它,则需要用到Apache的虚拟目录功能。

vim /etc/httpd/conf.d/vhost.conf
...
<VirtualHost *:80>
    DocumentRoot "/var/www/html"
    ServerName cloud.magedu.com
    ServerAlias cloud.magedu.com
    <Directory "/var/www/html/">
         Options FollowSymLinks
         AllowOverride All
         Require all granted
    </Directory>
</VirtualHost>
...
#########################

 

6、网页配置nextcloud

访问成功,开始配置

 

管理员账号密码一定要熟记哦~

数据位置目录、数据库库名称等 看个人心情设置,快来体验把!

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!