只需要把根证书文件(公钥)放在Web页面中,用Safari浏览器打开即可。
Safari会自动将证书文件作为描述文件引入系统,用户还需要进入”设置”,根据提示进一步确认安装证书文件。
只需要把根证书文件(公钥)放在Web页面中,用Safari浏览器打开即可。
Safari会自动将证书文件作为描述文件引入系统,用户还需要进入”设置”,根据提示进一步确认安装证书文件。
迅时OM语音网关的Web界面没提供修改HTTPS证书的功能,需要手动在CLI中修改,以下以OM20为例。
首先需要在Web管理页面中开启Telnet功能,并设置密码(高级→安全配置→Telnet)。
使用命令行工具接入语音网关的Telnet,用户名为root,密码为设置的密码。
直接修改原有的证书公钥与私钥:
//替换公钥
vi /mnt/rwfs/var/config/httpsCA/newreq.ca
//替换私钥
vi /mnt/rwfs/var/config/httpsCA/newreq.key
需要注意的是,原有的newreq.ca文件中,包含了友好的证书信息,为了避免bug,我们可以利用openssl来生成这部分信息,并替换掉原来的信息:
openssl x509 -in voip_cert.pem -text -noout
(如果vi编辑器中粘贴文本出现缩进错误,可以用:set noautoindent来关闭自动缩进。)
最后重启语音网关,打开Web页面,此时HTTPS证书已被替换。
H3C的V7版本中,Web界面没有提供直接修改HTTPS证书的表单,所以需要在CLI中配置,以下以WX2510H-F为例,从创建根证书、签发子证书到最终导入AC并应用,讲解整个过程。
首先,使用OpenSSL生成私钥、签名请求和证书:
//生成根证书私钥
openssl genkey -algorithem RSA -out root_key.pem
//生成根证书签名请求,这一步需要填写证书的详细信息(包括位置、机构等)
openssl req -new -key root_key.pem -out root_csr.pem
//签名根证书,并设定有效期10年(3650天)
openssl x509 -req -in root_csr.pem -signkey root_key.pem -out root_cert.pem -days 3650
接着,用根证书签署子证书:
//生成子证书私钥
openssl genkey -algorithem RSA -out ac_key.pem
//生成子证书签名请求,和根证书一样,需填写相关信息
openssl req -new -key ac_key.pem -out ac_csr.pem
在签名子证书前,我们还需要创建一个.ext文件,以便在签发子证书加入额外的设定(比如是否可签发子证书、域名等):
basicConstraints=CA:FALSE
subjectAltName = @alt_names
[alt_names]
IP.1 = 192.168.1.5
DNS.1 = ac.example.com
然后,用根证书签名子证书,并设定有效期10年:
openssl x509 -req -in ac_csr.pem -CA root_cert.pem -CAkey root_key.pem -out ac_cert.pem -days 3650 -extfile ac.ext
因为H3C系统对于PEM文件的读取机制,我们还需要在记事本中将ac_key.pem与ac_cert.pem两个文件的内容组合到一起,生成ac_mix.pem文件。
至此,在PC中对证书的处理就完成了。接下来需要将证书导入AC并应用与HTTPS服务。
首先,我们需要先在Web页面向AC的Flash中上传根证书公钥root_cert.pem和子证书公私钥ac_mix.pem两个文件。(在系统面板下,左侧边栏“系统”→“文件管理”,直接上传至Flash根目录即可)
接着,进入CLI页面的System-view
//导入根证书
pki import domain 1 pem ca filename root_cert.pem
//导入子证书
pki import domain 1 pem local filename ac_mix.pem
//配置pki domain 1,关闭证书检查
pki domain 1
undo crl check enable
//配置SSL服务器端策略myssl,绑定PKI域
ssl server-policy myssl
pki-domain 1
//停止HTTP和HTTPS服务
no http enable
no https enable
//绑定HTTPS的SSL服务端策略
ip https ssl-server-policy myssl
//启动HTTP和HTTPS服务
ip http enable
ip https enable
重新打开Web页面,此时证书已替换为自己签名的证书。
如果要避免浏览器显示“不安全”,还需要在Windows系统中导入我们自己的根证书,步骤如下:
搜索→管理计算机证书→受信任的根证书颁发机构→证书→操作→所有任务→导入→root_cert.pem
备份数据库:
mysqldump -u root dbname > dbname_backup.sql
添加官方repo:
wget https://r.mariadb.com/downloads/mariadb_repo_setup
echo "935944a2ab2b2a48a47f68711b43ad2d698c97f1c3a7d074b34058060c2ad21b mariadb_repo_setup" \
| sha256sum -c -
chmod +x mariadb_repo_setup
sudo ./mariadb_repo_setup
强制升级:
sudo apt update
sudo apt -u dist-upgrade
在部署前,服务器应配置好nginx,见Ubuntu部署nginX
编写好的VUE代码,可以在本地编译(编译好后将dist文件通过FTP上传服务器),也可以在服务器端进行编译(服务器安装node.js进行编译)。
如果本地编译,直接
npm run build
当提示”built in x.xx s“后即为编译成功,结果文件存于当前目录的dist文件夹内。
使用MobaXterm或者Xshell之类的软件连接到服务器,通过FTP将dist文件上传到设置的目录即可,比如“/etc/nginx/html/”,应注意需要nginx有足够的文件权限访问上传的文件。
如果在服务器编译,需要服务器安装node.js和npm
sudo apt install nodejs npm
// 由于apt中的node.js版本较老,还需要通过npm升级版本
npm install n -g
sudo n stable
hash -r
然后通过FTP或者git将源码放到服务器中,在源码目录中执行
npm run build
然后把编译好的dist文件移动到设置的目录就可以了。
通过APT安装nginx
sudo apt update
sudo apt upgrade
sudo apt install nginx
编辑nginx的配置文件
//nginx配置的主文件
sudo vim /etc/nginx/nginx.conf
//nginx.conf默认引用了/etc/nginx/conf.d/中的所有.conf文件,所以建议以在conf.d中添加文件的形式添加web服务配置
sudo vim /etc/nginx/conf.d/vm.conf
以基本的web服务为例,vm.conf的配置内容可以是:
server {
# 使用的端口,及是否作为默认服务
listen 16666 default_server;
# 服务器名称,同一个IP的同一个端口可以设置为不同的域名,nginx可以根据用户访问的域名的不同 提供不同的网站服务。
server_name yttj.f3322.net:16666;
# 文件的位置
location / {
# 文件根目录
root /usr/share/nginx/html;
# 主页文件名
index index.html;
}
}
配置完成后,即可启动nginx
sudo systemctl start nginx
#启用开机自动启动
sudo systemctl enable nginx
Ubuntu的防火墙默认开启,还应设置防火墙开放服务的端口
sudo ufw allow 16666
系统为Ubuntu Server 22.04.2。
pip install jupyter
jupyter notebook --generate-config
vim ~/.jupyter/jupyter_notebook_config.py
在ipython,用jupyter自带的密码生成器生成哈希密码,复制最终的out结果
ipython
>>> from notebook.auth import passwd
>>> passwd()
修改配置文件中的配置(必须要修改ip才能在外网访问)
c.NotebookApp.ip = 'xxx.xxx.xx.xx'
c.NotebookApp.open_browser = False
c.NotebookApp.password = '' #此处应为前文中复制的哈希密码
c.NotebookApp.port = 8888
c.NotebookApp.allow_remote_access = True
防火墙开放8888端口
sudo ufw allow 8888
启动Jupyter Notebook
jupyter notebook
外网访问IP:8888即可
(notebook中的python环境可能与系统的环境不一致,进而出现找不到依赖库的情况,最简单的方法是直接在notebook中安装包,从根源上解决就得给notebook配置kernel)
! pip install numpy #在jupyter notebook 中直接安装库
在“控制面板”中打开“凭据管理器”:
”添加Windows凭据“中,添加打印机所在主机的网络名称及”Guest“用户(密码为空)。
确定即可。
在Ubuntu系统下,安装需要的包:
sudo apt install php gcc make autoconf php-dev
下载源代码。
解压,并安装:
sudo tar -xzvf swoole-src-5.0.0.tar.gz
cd cd swoole-src-5.0.0/
sudo phpize
sudo ./configure
sudo make -j6
sudo make install
还需在php.ini中添加:
extension=swoole.so
编译安装yasd
sudo apt install libboost-all-dev
git clone https://github.com/swoole/yasd.git
cd yasd/
sudo phpize --clean
sudo phpize
sudo ./configure
sudo make clean
sudo make
make install
在php.ini中添加:
zend_extension=yasd
yasd.debug_mode=remote
yasd.remote_host=127.0.0.1
yasd.remote_port=9000
如果采用phpstorm的ssh模式使用解释器,还需要设置部署及路径映射。
备份采用mysqldump指令,必须采用root用户。
mysqldump -u root -p wordpress > /tmp/mysqlbk/wordpress.dump
恢复数据库秩序将mysqldump反过来
mysqldump -u root -p wordpress < /tmp/mysqlbk/wordpress.dump
wvp的GitHub页面648540858/wvp-GB28181-pro
wvp-Docker的GitHub页面 imnicn/wvp-docker
采用Ubuntu20.04的腾讯云服务器,配置最新版本Docker及docker-compose。
wget -qO- https://get.docker.com/ | sh
systemctl enable docker
systemctl start docker
apt install docker-compose
首先克隆wvp-docker的代码:
git clone https://github.com/imnicn/wvp-docker.git
接着进入wvp-docker目录,修改docker-compose配置文件,包括wvp和zml的IP,以及相关的SIP编号、密码等。(编号规则见GB附录)
保存配置文件后,启动docker-compose即可
docker-compose up -d
初次启动时存在无法连接到媒体服务器的Bug,需要docker-compose down后重新up才能正常。
大华的28181配置修改后可能存在延迟,需要重启机器。
由于国标采用了推模式,摄像头、NVR等设备不需要公网IP,也(可能)不需要端口映射。
原有的/etc/network/interfaces方法已经不适用,现需要:
sudo vi /etc/netplan/00-installer-config.yaml
yaml格式的样本:
# This is the network config written by 'subiquity'
network:
ethernets:
ens160:
dhcp4: false
addresses: [192.168.3.18/24]
gateway4: 192.168.1.1
nameservers:
addresses: [223.5.5.5,119.29.29.29]
version: 2
修改完成后,应用配置:
sudo netplan apply
检查Debian发行版版本:
cat /etc/os-release
更新(建议使用VPN):
sudo apt update
sudo apt upgrade
//移除潜在的老版本Docker
sudo apt-get remove docker docker-engine docker.io containerd runc
//安装需要的包
sudo apt-get install ca-certificates curl gnupg lsb-release
//添加Docker官方的GPG密钥(需关闭V2Ray,否则SSL报错)
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
//添加稳定版仓库
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
//安装Docker(需关闭V2Ray,否则SSL报错)
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
//检查是否安装成功
docker -v
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb
启动MiniKube(需拉取镜像,建议使用VPN):
minikube start
//可能报错未添加Docker组,则需要添加用户组:
sudo usermod -aG docker $USER && newgrp docker
因意外,将要作为cache/log的傲腾硬盘当作tank加入到了strip池中,在Web管理页面无法将其移除。
使用ssh或web命令行可移除。
zpool list -v cache
//查看目前cache池的状态
根据池中硬盘的ID,移除硬盘:
zpool remove cache gptid/7b5dddfa-b754-11eb-a683-000c29a6c389
移除过程需要一段时间,之后在list -v就没有这个硬盘了。
PS:官方不推荐使用remove指令,有降低池性能的可能,仅适合应急使用。如果池中文件较少或有条件转移,建议rebuild整个池。
首先在TrueNAS的Web管理界面新建Jail。
配置网络,建议关闭IPv4的DHCP,以便于管理。
待Jail配置完成后,启动Jail并进入命令行。
在命令行中,以此执行以下指令:
pkg update
//若提示需要安装pkg,输入y,可能等待较长时间。
pkg install sqlite3 libxml2 libxslt python3
//安装需要的依赖包
python3 -V
//查询python3具体版本,便于安装扩展包,本次安装的版本为Python3.8
pkg install py38-sqlite3 py38-pip
//安装对应的sqlite3、pip扩展包
pip install calibreweb
//使用pip安装calibreweb
cps
//运行calibreweb,正常情况下没有任何输出,且关闭命令行将终止运行
nohup cps
//使用nohup指令保持calibreweb在后台运行,但关闭终端后,若安装豆瓣搜刮插件,元数据搜索将出现错误。
//推荐使用screen命令,具体在此不对赘述。
calibreweb默认使用8083端口提供Web服务,即在浏览器中打开http://address:8083即可进行配置,默认用户名为admin,默认密码为admin123。
登陆后可能会要求Database,稍后再说。
可以将存有图书的目录作为挂载点挂在到Jail上(挂在是需终止Jail)。
在Windows上安装calibre软件,并新建一个书库,在书库文件夹中找到metadata.db文件,或点击下载,并上传到True NAS的挂载目录里。重新启动Jail并运行calibreweb后,设置database location为上传的文件即可(记得修改文件权限)。
元数据中,豆瓣搜刮的插件使用github上的开源代码点击打开,按照说明添加文件后重启即可。
电子书格式转换功能直接使用Windows的文件不成功,需要在Jail里安装calibre:
pkg install calibre
安装好后,在calibre-web的设置→编辑基本设置→扩展程序配置中,设置Calibre 电子书转换器路径,默认路径为:
/usr/local/bin/ebook-convert
PS:默认上传功能未开启,且admin上传权限也需要手动允许。