概述 一步一步从购买服务器开始,记录搭建私人云盘的过程。我是用的是Ubuntu 20.04.1 LTS 64bit
与OwnCloud搭建的。
购买服务器 国内的服务器带宽都不高,阿里云的轻量应用可以有5M带宽,但是云盘只有40G不支持扩容。腾讯云不支持优惠续费,所以我直接购买了青云 的单核2G2M的服务器,云盘50G可以扩容,买了一年,用来搭建我的云盘。
选用OwnCloud OwnCloud 是领先的开源文件共享和云协作平台,功能和DropBox类似。owncloud可以支持共享文件与跨设备访问等。
在Ubuntu上部署OwnCloud 如果是Ubuntu18版本的直接参考https://www.linuxidc.com/Linux/2020-03/162651.htm,下面的内容主要是针对Ubutun20版本
安装环境 更新系统软件包sudo apt update -y && sudo apt upgrade -y
因为OwnCloud是用PHP构建的,所以要安装MariaDB和PHP
1 2 3 4 5 6 7 8 sudo apt install mariadb-server mariadb-client sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php 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服务
1 2 sudo systemctl start apache2
开启服务器的http80端口,即可访问http://serverip看到Apache的页面。
默认情况下MariaDB是不安全的,需要执行其他步骤来强化MariaDB服务器:
1 sudo mysql_secure_installation
在提示输入root密码时按回车,在询问是否更改root密码时输入Y,之后设置根密码,设置根密码后一路回车。
建立OwnCloud数据库
输入根密码,进入SQL命令行
1 2 3 4 5 CREATE DATABASE <数据库名>; CREATE USER '<用户名>'@'localhost' IDENTIFIED BY '<数据库密码>'; GRANT ALL ON <数据库名称>.* TO '<数据库用户名>'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
下载&解压OwnCloud压缩包
1 2 3 4 5 sudo wget https://download.owncloud.org/community/owncloud-10.6.0.zip sudo apt install upzip -y sudo unzip owncloud-10.6.0.zip -d /var/www/
为OwnCloud配置Apache服务
1 sudo vim /etc/apache2/conf-available/owncloud.conf
写入以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 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的模块和配置:
1 2 3 4 5 6 sudo a2enconf owncloud sudo a2enmod rewrite sudo a2enmod headers sudo a2enmod env sudo a2enmod dir sudo a2enmod mime
最后再重启Apache服务
1 sudo systemctl restart apache2
在网站上完成安装 在前往网站安装之前,需要现在服务器里做好权限的管理:
1 2 3 4 5 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
对应修改:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <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访问网站了。