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.pem
、manager.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容器那边去掉安全路径,主要懒得记那些个随机字符,但其实不太建议这么做。
- 去掉安全路径:对应的lxc机器使用控制台连接,登录之后输入bt,选择 12 回车去掉安全路径。
- 修改刚刚
宿主机创建的站点配置
,我们需要配置饭袋,参考如下:
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
,就能跳到登录界面了,然后登录进去就一切正常。