PVE7 CT容器 安装宝塔国际面板:aaPanel

原本是想lnmp的,毕竟习惯了命令行操作。后面想想还是算了,lxc花那么多时间编译,不太值得,怎么简单怎么来吧,虽然lnmp也不复杂就是了。

这里选择是宝塔面板的国际版本——aaPanel,原因只是懒得绑定账户了,英文也不是看不懂,再不行不还有翻译了嘛……

简述

上一篇:Debian 11 使用 PVE7 部署CT容器 孵化小鸡

说明

  • 宿主机、lxc的系统:Debian11
  • lxc内网ip:192.168.1.102
  • lxc安装的面板:aaPanel(宝塔国际版)
  • 宿主机web服务:仅安装lnmp的nginx
  • aaPanel绑定的域:manager.cimen-pve.tk
  • SSL证书:使用Cloudflare提供的15年免费证书

1.安装面板

进入pve-web,选择对应的机器,并连接控制台,如小鸡是debian系统那么可以使用下面的一键自动化安装aaPanel:

wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh aapanel
安装完成后,会输出 访问链接、用户名、密码 等信息,可以找个文本保存一下。

放行端口(可选)

如果确定需要下面的绑定域名,那么这个就不需要操作了。ssh连接宿主机,nftables放行aaPanel web端口:

#默认情况下,宿主机若没有iptables,则安装完pve是会自动安装iptables防火墙的,因此也可以选用iptables,这里就不记录了
#往input链中添加一条策略为接受的规则:tcp协议的7800端口
nft insert rule inet filter input tcp dport 7800 accept;

验证一下是否添加正确:

nft list ruleset

然后就可以使用上面安装完成输出的信息里 宿主机ip:端口/安全入口 来访问 aaPanel web了。

* 若系统为debian11,且插入规则提示错误,请移步这篇文章:传送门

2.绑定域名

对于 http://ip:port/path 的形式实在是不雅观,也忒难记了点,关键是不太安全。索性绑定个域吧,顺便配个证书。

2.1 安装web服务

宿主机需要部署一个web服务,博主这里是使用lnmp来安装nginx,是的,仅安装nginx。当然也可以直接apt一把梭,反正怎么开心怎么来喽。

wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz && tar zxf lnmp1.9.tar.gz && cd lnmp1.9 && ./install.sh nginx

2.2 准备SSL证书

由于这只是个管理面板,加上一开始便打算使用CF的cdn,因此直接用CF提供的15年免费证书就可以了。

这里以 manager.cimen-pve.tk 为例。访问CloudFalre官网,选择对应的域,选择SSL,选择源服务器,然后手动创建一下,可以看到很快便能生成并输出证书内容。将生成的内容,分别以 manager.cimen-pve.tk.pemmanager.cimen-pve.tk.key 的格式保存到宿主机 lnmp 默认下发的ssl路径里:

#手动mkdir创建一下ssl目录,以及ssl下一层的domain目录,怎么命名都可以。
#只要保证最后创建站点那里选择部署证书的路径填写正确,比如这里是丢到:
/usr/local/nginx/config/ssl/manager.cimen-pve.tk/ 

2.3 建立站点

宿主机直接使用命令 lnmp vhost add 来建立站点,然后按提示填写相关信息。

到了ssl的选择时,选择 1  使用自己的证书,然后复制粘贴上面上传的“ manager.cimen-pve.tk.pem 完整的文件路径”回车,“manager.cimen-pve.tk.key 完整的文件路径”回车,https 301那边选择 y ,这样面板站点就创建好了。

2.4 面板的一些调整

(可选)接下来是lxc容器那边去掉安全路径,主要懒得记那些个随机字符,但其实不太建议这么做。

  1. 去掉安全路径:对应的lxc机器使用控制台连接,登录之后输入bt,选择 12 回车去掉安全路径。
  2. 修改刚刚 宿主机创建的站点配置 ,我们需要配置饭袋,参考如下:
location  / {
            proxy_pass http://192.168.1.102:7800;#ip和端口如果不一致自行替换一下:
            proxy_http_version    1.1;
            proxy_cache_bypass    $http_upgrade;
            proxy_set_header Upgrade            $http_upgrade;
            proxy_set_header Connection         "upgrade";
            proxy_set_header Host               $host;
            proxy_set_header X-Real-IP          $remote_addr;
            proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto  $scheme;
            proxy_set_header X-Forwarded-Host   $host;
            proxy_set_header X-Forwarded-Port   $server_port;
        }
完整配置参考如下

server
    {
        listen 80;
        #listen [::]:80;
        server_name manager.cimen-pve.tk ;
        return 301 https://manager.cimen-pve.tk$request_uri;
    }

server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name manager.cimen-pve.tk ;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/manager.cimen-pve.tk;

        ssl_certificate /usr/local/nginx/conf/ssl/cimen-pve.tk-cf/cimen-pve.tk-cf-bt.pem;
        ssl_certificate_key /usr/local/nginx/conf/ssl/cimen-pve.tk-cf/cimen-pve.tk-cf-bt.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
        ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;

        include rewrite/none.conf;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        location  / {
            proxy_pass http://192.168.1.102:7800;
            proxy_http_version    1.1;
            proxy_cache_bypass    $http_upgrade;
            proxy_set_header Upgrade            $http_upgrade;
            proxy_set_header Connection         "upgrade";
            proxy_set_header Host               $host;
            proxy_set_header X-Real-IP          $remote_addr;
            proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto  $scheme;
            proxy_set_header X-Forwarded-Host   $host;
            proxy_set_header X-Forwarded-Port   $server_port;
        }
        access_log off;
    }

2.4.1 语法检测

然后?在宿主机里习惯性的使用 nginx -t 检查一下配置是否正确。

如果没有问题,宿主机里再使用 nginx -s reload 来重载nginx配置,就可以使用上面的域名来访问aaPanel了。

碎碎念

什么?域名访问却提示使用安全入口???提示502网关错误???

问题不大,在你的域名后面加上 /login ,就能跳到登录界面了,然后登录进去就一切正常。

阅读剩余
THE END