搭建私人云盘
source link: https://blog.scubot.com/article/b055/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
一步一步从购买服务器开始,记录搭建私人云盘的过程。我是用的是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;MYSQL
下载&解压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
启用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>APACHE
开启ssl模块:
sudo a2enmod ssl
重启apache服务:
sudo systemctl restart apache2
配置结束后就可以通过域名直接https访问网站了。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK