基于Ubuntu的Nextcloud安装配置

个人技术总结

一.技术概述

​ 其实也不算啥技术,就是对Linux学习过程中遇到的一些实用性的小玩意,主要是基于Ubuntu18.04系统下手动安装Nextcloud,这里稍微介绍以下Nextcloud:Nextcloud是一套用于创建网络硬盘的客户端-服务器软件。其功能与Dropbox相近,但Nextcloud是*及开放源代码软件,每个人都可以在私人服务器上安装并运行它,个人感觉用旧电脑拿来做私人网盘还不错。

二.技术详述

注:

  • 由于是比较久之前装的,手动安装没有记录,以下手动安装过程主要参照他人博客,然后附上本人记录的简易安装记录(推荐,手动安装后续还要设置一些东西)
  • 如果是安装在自己的旧电脑上只能内网访问,若想外网访问参照通过frp内网穿透
  1. 安装Apache2

    sudo apt-get install apache2

    • 修改状态:service apache2 status|start|stop|restart
    • 站点目录:/var/www/
    • 修改权限:sudo chmod 777 /var/www
    • 安装目录:/etc/apache2/
  2. 安装MariaDB

    sudo apt-get install mariadb-server mariadb-client

    • 启动MariaDB服务:sudo systemctl start mysql
    • 查看状态:sudo systemctl status mysql
    • 重启服务:service mysql restart

    为NextCloud创建数据库和用户
    创建数据库nextcloud,用户名nextcloud,密码XXXXXXXX

    sudo mysql -u root -p

    进入MariaDB后,执行:

    #创建数据库,名为:nextcloud
    CREATE DATABASE nextcloud;
    
    GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'XXXXXXXX';
    FLUSH PRIVILEGES;
    #退出
    \q
    
  3. 安装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网页
      
  4. 安装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\
  5. 配置Apache

    nano /etc/apache2/apache2.conf

    在配置文件最后添加

    AddType application/x-httpd-php .php .htm .html
    AddDefaultCharset UTF-8
    

    然后重启Apache服务。
      到此为止,web站点其实已经搭建起来了,只需在/var/www/html目录下存放网页文件,电脑主机就可以访问服务器了,http://ip/xxx.html

  6. 下载Nextcloud

    cd /var/www/html
    wget https://download.nextcloud.com/server/releases/nextcloud-13.0.5.zip
    unzip nextcloud-13.0.5.zip
    rm nextcloud-13.0.5.zip
    

三.遇到的问题/解决

问题1:无权限

基于Ubuntu的Nextcloud安装配置

解决方法:

cd /var/www/html
chown www-data nextcloud -Rf
chmod 770 nextcloud -Rf

问题2:相关模块未安装

基于Ubuntu的Nextcloud安装配置

解决方法:

sudo apt-get install libcurl3 php7.0-curl

四.总结

  • 学习过程中总能遇到很多有趣的东西,可能有时候超出你的知识范围,但是只要有兴趣去研究,总是能学会的不是吗。

  • 附上几张私有云盘使用图:

    1. 基于Ubuntu的Nextcloud安装配置
    2. 基于Ubuntu的Nextcloud安装配置
  • 上传文件本地存储位置

    /var/snap/nextcloud/common/nextcloud/data/用户名

五.参考文献/博客

  1. 简书
上一篇:python-在OS-X Lion上安装Graphite.如何配置apache2?


下一篇:如何从mod_php查看PHP的ldap_ *函数(使用LDAP_OPT_DEBUG_LEVEL = 7)的stderr