前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搭建一个自己的私有云 + 离线下载站

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

作者头像
一份执着✘
发布2018-06-04 17:23:31
8.4K0
发布2018-06-04 17:23:31
举报
文章被收录于专栏:赵俊的Java专栏赵俊的Java专栏

前言

本次实验环境如下:

获取权限

国内的阿里云,腾讯云等获取 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

下载:

代码语言:javascript
复制
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

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

代码语言:javascript
复制
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/ (需访问外国网站)

代码语言:javascript
复制
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,将域名对应上站点路径和证书。

代码语言:javascript
复制
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 的配置:

代码语言:javascript
复制
cd ~
./aria2.sh

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

代码语言:javascript
复制
## 下载到 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 即可,这个计算方式有兴趣的自行查阅:

代码语言:javascript
复制
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

结果展示

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 获取权限
  • 安装 XAMPP
  • 安装 kodcloud
  • 安装 aria2
    • 服务端
      • 显示端
      • 配置域名及 SSL 证书
      • 其他
        • aria 证书配置
          • aria + kodcloud 权限问题
          • 结果展示
          相关产品与服务
          SSL 证书
          腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档