Build Private Online Disk on Ubuntu18.04

在Ubuntu上搭建私有云盘

Posted by Kylin on December 11, 2019

Build Private Online Disk on Ubuntu18.04

MariaDB + PHP + OwnCloud 部署方案

相对于使用市面上需要收费的网盘(或通过限流推进会员购买的百度网盘、或通过空间限制推进服务购买的DropBox等),我们可以考虑在自己的ECS或者闲置的电脑上搭建网盘,这里以Ubuntu上 MariaDB + PHP + OwnCloud 部署方案为例,介绍如何部署网盘与使用。

部署 MariaDB

  • 更新软件源
sudo apt-get update
  • 安装
sudo apt-get install mariadb-server mariadb-client
  • 初始化配置
sudo mysql_secure_installation

在这里,以前通过命令行安装了Sql-Sever的用户可能会报错:time-out或是无法启动,这时候要卸载预装sql

配置选项依次是:设置密码、移除匿名用户、不允许root登录、删除测试数据库

  • 登录MariaDB创建数据库
sudo mysql -u root -p

进入需输入刚才在初始化中设置的密码

  • 新建用户(数据库用户)
CREATE DATABASE owncloud;
CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'user_password';
GRANT ALL ON owncloud.* TO 'user_name'@'localhost' IDENTIFIED BY 'user_password' WITH GRANT OPTION; 
FLUSH PRIVILEGES;
EXIT;

在这里,user_name 和 user_password 需要换成自己的

安装 Apache

  • 更新软件源
sudo apt-get update
  • 禁用Index(以访问owncloud主页)
sudo a2dismod autoindex
  • 确保所需模块打开
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
  • 重启apache
sudo systemctl restart apache2

安装 PHP

OwnCloud与PHP版本有依赖关系,需要查看官网,这里给的安装已经测试过可行

  • 安装PHP7.1
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.1
  • 安装PHP模块
sudo apt-get install php7.1-cli php7.1-common php7.1-mbstring php7.1-gd php7.1-intl php7.1-xml php7.1-mysql php7.1-zip php7.1-curl php7.1-xmlrpc
  • 配置
sudo vi /etc/php/7.1/apache2/php.ini
file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_file_size = 100M
  • 配置生效
sudo systemctl restart apache2

部署 OwnCloud

  • 下载
cd /tmp
wget https://download.owncloud.org/community/owncloud-10.1.1.tar.bz2
tar xjf owncloud-10.1.1.tar.bz2
  • 移动
sudo mv owncloud /var/www/html/owncloud/
  • 设置权限
sudo chown -R www-data:www-data /var/www/html/owncloud/
sudo chmod -R 755 /var/www/html/owncloud/

配置用户

访问用户界面完成用户配置:http://your_ip/owncloud (换成自己设备的IP地址)

用户名、密码的设置用于之后网盘的登陆

数据库用户名密码填上文你设置的 user_name、user_password

数据库名填 owncloud

  • 之后刷新即可进行访问,发现最近版本的 OwnCloud 支持链接分享