搭建一个自己的私有云 + 离线下载站

前言

本次实验环境如下:

获取权限

国内的阿里云,腾讯云等获取 root 权限很简单,我记得这两家的 CentOS 系统一般都是默认 root 权限的,但这里还是要说一下,如何开启 root 密码登陆的方式,(如果以获得 root 权限,则可以跳过这一段)。

先使用 sudo -i 切换到 root 用户,vi /etc/ssh/sshd_config: 找到 PermitRootLogin no 改成 PermitRootLogin yes 找到 PasswordAuthentication no 改成 PasswordAuthentication yes 按 Esc 输入:wq 保存退出 vi

根据系统重启 SSH 服务,其他系统请自行搜索。

sevice ssh restart # centos 6.x

systemctl restart sshd.service # centos 7.x

这样就开启用 root 用户密码登陆的权限了。但我们还不知道 root 用户的密码呢,所以输入 passwd 修改一下就可以用 xshell、putty 等工具登陆了。

Google Cloud Platform 缺只允许使用 ssh 登陆,虽然可以使用 sudo 来使用 root 权限,但发现最后还是有一些问题,就是 aria 下载的文件都是 root 用户,root 组的,而 kodexplorer 对这些下载的文件只有只读权限,很不方便,既然是个人的一些环境,所以这里就不那么考虑安全性了。

安装 XAMPP

下载:

cd ~
wget https://www.apachefriends.org/xampp-files/7.2.0/xampp-linux-x64-7.2.0-0-installer.run
chmod 777 xampp-linux-x64-7.2.0-0-installer.run

如果提示 bash: wget: command not found,就先执行一下 yum install wget

安装:

1

./xampp-linux-x64-7.2.0-0-installer.run

安装选项全部默认即可,直接回车确认。

安装 kodcloud

进入站点目录,创建网站存放目录

cd /opt/lampp/htdocs
mkdir kodcloud
cd kodcloud

下载

1

wget http://static.kodcloud.com/update/download/kodexplorer4.25.zip

安装解压工具并解压

yum install unzip

unzip kodexplorer4.25.zip

rm -rf kodexplorer4.25.zip

赋予权限

1

chmod 777 -R /opt/lampp/htdocs/kodcloud

现在访问 http://ip/kodcloud 即可访问到了,可能有人会说,我不想要这一级目录,并且还要配置域名,关于域名的配置,我们一会再说。

安装 aria2

服务端

aria2 安装脚本源地址:https://doub.bid/shell-jc4/ (需科学上网)

cd ~
wget -N --no-check-certificate https://softs.fun/Bash/aria2.sh && chmod +x aria2.sh && bash aria2.sh

# 如果上面这个脚本无法下载,尝试使用备用下载:
#wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/aria2.sh && chmod +x aria2.sh && bash aria2.sh

执行后输入 1 即可安装。

显示端

创建站点存放目录

cd /opt/lampp/htdocs

mkdir aria

cd /opt/lampp/htdocs/aria

下载

1

wget https://github.com/mayswind/AriaNg/releases/download/0.3.0/aria-ng-0.3.0.zip

解压

unzip aria-ng-0.3.0.zip

rm -rf aria-ng-0.3.0.zip

配置域名及 SSL 证书

阿里有提供免费的 SSL 证书,打开阿里云官网 -> 管理控制台 -> 左侧的安全(云盾) -> CA 证书服务。

填写相应的信息,申请两个即可,我这里申请是 pan.zhaojun1998.com 和 aria.zhaojun1998.com 的证书。

申请后几分钟内会自动通过,然后下载证书。

接下来就是如何将证书上传到服务器的问题了,可以通过前面配置的 kodcloud 云打开 http://ip/kodcloud 将证书上传进去,或 ftp 等方式。(只需要上传 数字.key 和 数字.pem 即可)

最后在 /opt/lampp/apache2 目录下建立一个文件夹 cert,将证书放进来。

然后编辑 /opt/lampp/apache2/conf/httpd.conf,将域名对应上站点路径和证书。

Alias /bitnami/ "/opt/lampp/apache2/htdocs/"
Alias /bitnami "/opt/lampp/apache2/htdocs"

<Directory "/opt/lampp/apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
<VirtualHost *:80>            ## http 自动跳转 https
    ServerName pan.zhaojun1998.com
    RewriteEngine On
    RewriteRule ^/(.*)$ https://pan.zhaojun1998.com/$1 [R=301]
</VirtualHost>
<VirtualHost *:80>            ## http 自动跳转 https
    ServerName aria.zhaojun1998.com
    RewriteEngine On
    RewriteRule ^/(.*)$ https://aria.zhaojun1998.com/$1 [R=301]
</VirtualHost>
<virtualhost *:443>           ## https 配置
        SSLEngine on
        SSLCertificateFile /opt/lampp/apache2/cert/214413124310384.pem 
        SSLCertificateKeyFile /opt/lampp/apache2/cert/214413124310384.key
        ServerName pan.zhaojun1998.com
        DocumentRoot /opt/lampp/htdocs/kodcloud
</virtualhost>
<virtualhost *:443>            ## https 配置
        SSLEngine on
        SSLCertificateFile /opt/lampp/apache2/cert/214298372380384.pem
        SSLCertificateKeyFile /opt/lampp/apache2/cert/214298372380384.key
        ServerName aria.zhaojun1998.com
        DocumentRoot /opt/lampp/htdocs/aria
</virtualhost>

配置完或,保存,然后重启 xampp:

1

/opt/lampp/lampp restart

其他

aria 证书配置

这样基本就完成了,但打开 aria 后发现,无法链接上 aria,原因是因为我们配置了 https 证书,但没有告诉 aria ,下面我们修改 aria 的配置:

cd ~
./aria2.sh

选择主要修改的为以下几项:

## 下载到 kodcloud 管理员的 home 目录下
dir=/opt/lampp/htdocs/kodcloud/data/User/admin/home  

## 设置的RPC授权令牌,就是一个认证的密码,防止别人恶意下载
rpc-secret=123456


# 是否启用 RPC 服务的 SSL/TLS 加密,
# 启用加密后 RPC 服务需要使用 https 或者 wss 协议连接
rpc-secure=true
# 在 RPC 服务中启用 SSL/TLS 加密时的证书文件(.pem/.crt)
rpc-certificate=你的 aria 证书pem路径
# 在 RPC 服务中启用 SSL/TLS 加密时的私钥文件(.key)
rpc-private-key=你的 aria 证书key路径

aria + kodcloud 权限问题

aria 是以 root 身份运行的,而 kodcloud 是以 apache 的 daemon 用户运行的。也就是说 aria 下载的文件, kodcloud 只有可读的权限,无法进行删除,修改等操作。

root 用户创建的文件默认是 644 权限,我们将它改为 664 权限,然后将 daemon 用户添加到 root 组即可。

修改 root 用户创建文件的默认权限,将超级用户的 uamsk 修改为 002 即可,这个计算方式有兴趣的自行查阅:

vim /etc/bashrc     71行是普通用户的更改,73是超级用户的更改
vim /etc/profile    60行是普通用户的更改,62是超级用户的更改

source /etc/bashrc      ##刷新bash配置
source /etc/profile     ##刷新系统配置

将 daemon 添加到 root 组

1

usermod -a -G root daemon

重启 xampp 服务

1

/opt/lampp/lampp restart

结果展示

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT可乐

邮件实现详解(二)------手工体验smtp和pop3协议

  上篇博客我们简单介绍了电子邮件的发送和接收过程,对参与其中的邮件服务器,邮件客户端软件,邮件传输协议也有简单的介绍。我们知道电子邮件需要在邮件客户端和邮件服...

40110
来自专栏云计算教程系列

如何在Ubuntu 14.04上保护Nginx

即使使用默认设置,Nginx也是一个非常安全可靠的Web服务器。但是,有很多方法可以进一步保护Nginx。

1652
来自专栏Youngxj

emlog后台登录失败邮件通知

1283
来自专栏北京马哥教育

批量管理自动化运维100台小规模服务器

---- 目录 1.脚本背景介绍 2.脚本技术需求分析 2.1 SSH免登陆认证 2.2 Expect实现key分发 2.2 PSSH家族命...

2K15
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装和保护phpMyAdmin

虽然许多用户需要像MySQL这样的数据库管理系统的功能,但他们可能不会仅仅通过MySQL提示与系统进行交互。

2340
来自专栏云计算教程系列

如何在Ubuntu 18.04上为用户目录设置vsftpd

FTP是文件传输协议的缩写,是一种曾经广泛用于在客户端和服务器之间移动文件的网络协议。它已被更快,更安全,更方便的文件传输方式所取代。许多普通网民希望通过htt...

1190
来自专栏优启梦

emlog后台登录失败邮件通知

前面说到emlog后台登录参数加密,下面我们说说如何给emlog添加后台登录失败邮件通知的功能,本次我们需要用到mail函数,当然也就是需要25端口发信,如果是...

64812
来自专栏耕耘实录

SSH免密远程登录的配置与实现

操作系统:CentOS Linux release 7.4.1708 (Core)

1202
来自专栏云计算教程系列

如何在Ubuntu 16.04上为用户目录设置vsftpd

FTP是文件传输协议的缩写,是一种曾经广泛用于在客户端和服务器之间移动文件的网络协议。它已被更快,更安全,更方便的文件传输方式所取代。许多休闲网民希望直接用ht...

2490
来自专栏有趣的Python

4- 快速上手Linux玩转典型应用- ssh工具介绍

1674

扫码关注云+社区

领取腾讯云代金券