2024年3月

一、忘记修改网络信息

说明:容器网络模式默认使用bridge,忘记修改为photoprism_default,则使用一下办法

docker network disconnect bridge project  #解除网络绑定
docker network connect photoprism_default #网络绑定
docker restart project
docker network inspect photoprism_default #查看是否配置成功

查看网络配置是否成功.png

重启生效后会导致宝塔面板、Nginx停止,请手动启动

二、忘记配置端口与数据卷

如果忘记设置数据卷,需要将/var/lib/docker/containers/var/lib/docker/containers目录下的js文件进行修改
文件名称:hostconfig.jsonconfig.v2.json
注意:需要下载后修改,进行覆盖上传,vim修改可能保存不生效
忘记设置,使用js工具

三、忘记配置启动策略

docker update project  --restart=always

四、容器打包后启动

容器打包成镜像,重新构建的容器,宝塔面板、Nginx需要手动启动
且会导致,里面的MariaDB数据库远程连接失效

docker stop project
docker commit project project:v1.1
docker save -o project.tar prject:v1.1

这里不使用export生成镜像,export生成的镜像会丢失一些元数据,且在创建容器时要格外添加/bin/bash

准备工作:

Typecho生成备份文件

一、docker容器环境配置

1、docker 生成容器

docker run -itd 
  --name project
  --net photoprism_default         #保证和MariaDB一个网络环境
  -p 4888:4888                     #宝塔面板端口
  -p 4810:4810  
  -p 4820:4820 
  -p 4830:443
  --restart always  
  --privileged  
  -v /volume1/docker/project:/www   #使用宝塔面板快速部署
  -v /volume1/Mii:/opt/filerun      #Flerun可持续化环境
  centos7

2、安装宝塔面板

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

3、安装完毕后设置端口为4888

4、宝塔面板安装PHP7.4(7.3)、 Nginx1.24

说明:容器网络模式默认使用bridge忘记修改为photoprism_default,则使用以下办法

docker network disconnect bridge project  #解除网络绑定
docker network connect photoprism_default #网络绑定
docker restart project
重启生效后会导致宝塔面板、Nginx停止,请手动启动

二、远程数据库配置

1、进入MaraDB数据库容器

docker exec -it maradb bash
mysql -u root -p                   #photoprism系列的MariaDB数据密码为photoprism             
create database typecho;           #创建typecho数据库
create user 'typecho'@'%' identified by 'your_password';     #创建用户typecho
grant all on typecho.* TO 'typecho'@'%';                    #typecho用户授权任何ip可访问typecho数据库 
flush privileges;                  #刷新操作

三、宝塔面板创建网站

1、创建Typecho网站,将4810端口分配给网站

2、进入安装向导,输入远程MariaDB数据库IP地址等信息

如一直显示:正在设置数据库、数据库不存在df_user
则可能是:

  • MariaDB和project不在photoprism网络
  • 账户密码错误权限未设置
  • fileru.zip文件解压后数据重复安装,导致存在缓存,影响数据库判断

注意:最好使用drop user 'user'@'localhost'&& flush privileges

四、安装完毕后打开后台上传即可

Typecho导入成功.png

配置文件详解参考

[post cid="98" /]


1、Nas导入证书
Nas导入证书.png

key文件为`私钥`
pem文件为`证书`

2、删除原有证书

3、打开NPS前端,依照提示增加客户端
正常增加客户端.png

[tag type="info"]有时候客户端断开后,再使用客户端命令可能连接失败,删除重新增加客户端即可[/tag]

4、云平台DNS设置解析到公网服务器,NPS管理端添加域名解析

Nps添加域名解析.png
5、客户端下载安装包后,使用管理员权限的CMD启动
NPS管理端启动命令.png
服务器端配置文件若tls_enable=true,则需要客户端则需要同步增加
官方说明.png
6、访问:http(s)://公网IP:https_proxy_port=端口,即可

7、WAF防护配置:http(s)://公网IP:https_proxy_port=端口,其他正常添加即可

8、安全组禁止:NPS管理界面IP方式访问、NPS域名代理端口;防火墙开启,放行NPS所有的端口

上述配置后,Fila2Ban可正常使用

JumpServer安装

1、下载官网下载

cd /opt
tar -xvf jumpserver-offline-installer-v3.10.6-amd64.tar.gz     #长时间等待解压
cd jumpserver-offline-installer-v3.10.6-amd64

2、配置必要的端口设置

vim /opt/jumpserver-offline-installer-v3.10.6-amd64/`config-example.txt` 
HTTP_PORT=8088            # 对外提供服务端口, 如果与现有服务冲突请自行修改

3、修改DOMAINS,否则报错出现

JumpServer报错.png

DOMAINS=192.168.1.1:8088      # 可信任 DOMAINS 定义

1、忘记修改DOMAINS,则修改

vim /opt/jumpserver/config/config.txt
DOMAINS=192.168.1.1:8088

2、然后执行

./jmsctl.sh restart

[tag type="primary"]重新安装后,数据不会丢失,在/data/jumpserver[/tag]

忘记密码

1、进入 jms_core 容器

docker exec -it jms_core /bin/bash

2、切换到apps目录里面

cd apps/

3、修改admin密码

python manage.py changepassword admin

注(admin用户的密码和不能有admin的字样)输入两次密码

Changing password for user 'Administrator(admin)'
Password:      #第一次密码
Password (again):   #在输入一次密码
Password changed successfully for user 'Administrator(admin)'

摘要

说明

  • 第一次部署为19年还在校园时,使用阿里云Centos部署成功达到效果后就没有使用了,且还没有写技术文档

QQ截图.png

  • 第二次部署为22年刚刚出来,已经有写技术文档的意识了,但写的还是不够细节
  • 故第三次部署,会将其中遇到的问题及解决方式都描述出来,以便下次部署及维护

部署及下载

  1. 下载使用0.26.17版本,ClientServer,下载后解压
  2. 进入解压的目录下,使用./nps install 安装
注意:报错/ect/nps/conf/nps.conf文件不存在,创建/etc/nps/conf,请把解压后的conf文件夹里面的文件都复制到/etc/nps/conf下,重启执行./nps install

编辑配置文件

#HTTP(S) 代理端口配置
http_proxy_ip=npc.lius.fun    #代理域名
http_proxy_port=8000          #域名代理http代理监听端口
https_proxy_port=4430         #域名代理https代理监听端口
https_just_proxy=true          
#default https certificate setting
https_default_cert_file=/etc/nginx/cret/npc.lius.fun/npc.lius.fun.pem
https_default_key_file=/etc/nginx/cret/npc.lius.fun/npc.lius.fun.key

##服务器和客户端的连接方式及端口
bridge_type=tcp              #客户端与服务端连接方式kcp或tcp
bridge_port=8420             #客户端与服务端连接端口
bridge_ip=0.0.0.0
# Public password, which clients can use to connect to the server

#日志级别
#log level LevelEmergency->0 LevelAlert->1 LevelCritical->2 LevelError->3 LevelWarning->4 LevelNotice->5 LevelInformational->6 LevelDebug->7

log_level=7
log_path=/var/log/nps.log



#web管理端口配置
web_host=nps.lius.fun       #管理界面域名
web_username=admin          #管理账户
web_password=Admin@123      #管理密码
web_port = 8012             #管理端口
web_ip= 0.0.0.0             #IP
web_base_url=
web_open_ssl=true           #管理端使用HTTPS
web_cert_file=/etc/nginx/cret/nps.lius.fun/nps.lius.fun.pem
web_key_file=/etc/nginx/cret/nps.lius.fun/nps.lius.fun.key


[tag type="info"]官方版本很久没有维护了,存在越权漏洞。漏洞原理是利用伪造两个参数auth_keytimestamp来完成越权操作的,在这里我顺便也补充一下修复方式,
修复方式是注释掉auth_crypt_key,并修改auth_key的值为随机值,auth_key记得去掉注释,16位密码[/tag]

firewall、安全组放行端口,启动nps start,可能会出现报错
  1. 安装使用0.26.10报错,web_port=80,这项配置端口无论如何都启动不起来
  2. 使用yisier/nps成功启动后,nps端口都启动成功,但是管理界面访问失败,需要关闭firewall防火墙

反向代理配置

server {
listen 80 ssl http2;       #使用80端口开启http2
server_name npc.lius.fun;  #管理域名
ssl_certificate  /etc/nginx/cret/npc.lius.fun/npc.lius.fun.pem;
ssl_certificate_key /etc/nginx/cret/npc.lius.fun/npc.lius.fun.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
access_log  /var/log/nginx/b.access.log  main;   #开启代理日志
location / {
    proxy_set_header Host  $http_host;
    proxy_pass <https://127.0.0.1:80>;            #和https_proxy_port保持一致
}
}