概述
一步一步从购买服务器开始,记录搭建私人云盘的过程。我是用的是Ubuntu 20.04.1 LTS 64bit与OwnCloud搭建的。
购买服务器
国内的服务器带宽都不高,阿里云的轻量应用可以有5M带宽,但是云盘只有40G不支持扩容。腾讯云不支持优惠续费,所以我直接购买了青云的单核2G2M的服务器,云盘50G可以扩容,买了一年,用来搭建我的云盘。
选用OwnCloud
OwnCloud是领先的开源文件共享和云协作平台,功能和DropBox类似。owncloud可以支持共享文件与跨设备访问等。
在Ubuntu上部署OwnCloud
如果是Ubuntu 18版本的直接参考https://www.linuxidc.com/Linux/2020-03/162651.htm,下面的内容主要是针对Ubutun 20版本
安装环境
-
更新系统软件包
sudo apt update -y && sudo apt upgrade -y -
因为OwnCloud是用PHP构建的,所以要安装MariaDB和PHP
### 安装MySql(mariadb) sudo apt install mariadb-server mariadb-client ### 安装php sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php # 添加php源 # 安装php模块,因为OwnCloud支持的php版本范围为7.2~7.5,Ubuntu18可以直接安装7.2版本,Ubuntu20就安装7.4即可 sudo apt update sudo apt install php7.4 php7.4-fpm php7.4-curl php7.4-gd php7.4-zip php7.4-dom php7.4-intl php7.4-mbstring php7.4-xml libapache2-mod-php7.4 php7.4-pgsql php7.4-sqlite3 php7.4-mysql验证安装
输入
php -v,验证:
输入
sudo systemctl status mariadb,验证:
-
安装网络服务系统Apache:
sudo apt install apache2,输入sudo dpkg -l apache2验证安装:
配置环境
-
开启Apache服务
# 安装apache的时候默认是开启的 sudo systemctl start apache2开启服务器的http80端口,即可访问http://serverip看到Apache的页面。
-
默认情况下MariaDB是不安全的,需要执行其他步骤来强化MariaDB服务器:
sudo mysql_secure_installation在提示输入root密码时按回车,在询问是否更改root密码时输入Y,之后设置根密码,设置根密码后一路回车。
-
建立OwnCloud数据库
sudo mysql -u root -p输入根密码,进入SQL命令行
CREATE DATABASE <数据库名>; CREATE USER '<用户名>'@'localhost' IDENTIFIED BY '<数据库密码>'; GRANT ALL ON <数据库名称>.* TO '<数据库用户名>'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
-
下载&解压OwnCloud压缩包
# 我写博客时最新版本是10.6.0 sudo wget https://download.owncloud.org/community/owncloud-10.6.0.zip sudo apt install upzip -y # 解压到/var/www/路径 可以根据自己需求更改,更改路径之后 配置文件中的/var/www都需要对应更改 sudo unzip owncloud-10.6.0.zip -d /var/www/ -
为OwnCloud配置Apache服务
sudo vim /etc/apache2/conf-available/owncloud.conf # 编辑apache配置文件写入以下内容:
Alias / "/var/www/owncloud/" <Directory /var/www/owncloud/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/owncloud SetEnv HTTP_HOME /var/www/owncloud </Directory>启用Apache的模块和配置:
sudo a2enconf owncloud sudo a2enmod rewrite sudo a2enmod headers sudo a2enmod env sudo a2enmod dir sudo a2enmod mime最后再重启Apache服务
sudo systemctl restart apache2
在网站上完成安装
在前往网站安装之前,需要现在服务器里做好权限的管理:
cd /var/www/owncloud
sudo mkdir data
sudo mkdir apps-external
sudo chown -R www-data:www-data data
sudo chown -R www-data:www-data apps-external # 修改权限
完成以上步骤之后,访问http://serverip/owncloud 页面,选择MariaDB作为数据库,填入之前设置好的数据库名称,数据库用户名称,数据库密码就可以。

完成安装之后就可以进到云端了。

配置https
需要一个备案过的域名,我是用了csgowiki.top的子域名cloud.csgowiki.top来配置的。
申请SSL证书
在域名服务商那里(阿里云)就可以申请免费的证书,阿里云可以申请一年的。

选择Apache服务器类型,下载证书压缩包。
解压之后可以获得三个文件:xxx_public.crt、xxx.key和xxx_chain.crt
上传SSL证书
- 创建文件夹:
sudo mkdir /etc/apache2/cert - 将三个证书文件都上传到新建的文件夹下
修改Apache配置
-
设置监听443端口:
vim /etc/apache2/ports.conf,应该如图所示,如果相同就不用修改。
-
配置apache参数:
sudo vim /etc/apache2/sites-enabled/000-default.conf对应修改:
<VirtualHost *:443> SSLEngine on # 开启SSL SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLHonorCipherOrder on SSLCertificateFile cert/xxx_public.crt # public文件路径 SSLCertificateKeyFile cert/xxx.key # key文件路径 SSLCertificateChainFile cert/xxx_chain.crt # chain文件路径 ServerAdmin webmaster@localhost DocumentRoot /var/www/html ServerName www.xxx.com # 你的域名 ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <VirtualHost *:80> RewriteEngine on # 重定向引擎开启,将80端口服务重定向到443 RewriteCond %{HTTPS} !=on RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R=301] </VirtualHost> -
开启ssl模块:
sudo a2enmod ssl -
重启apache服务:
sudo systemctl restart apache2
配置结束后就可以通过域名直接https访问网站了。