# 环境管理记录文档
> 该文档记录了在实际维护使用过程中记录下的一些关键的环境配置相关信息

## 环境维护

### ssh服务安装
> ssh服务是linux系统自带的,但是部分软件需要手动安装ssh服务
#e 安装示例
```shell
sudo apt-get install openssh-server
```
#e 启动服务
```shell
sudo service ssh start
```

### openssl 管理
> 因为openssl是系统自带的,但是在某些情况下, 部分软件所依赖的openssl可能是较新的版本,所以需要手动安装。

#c 获取openssl  
我们可以通过 git clone 获取openssl源码,该方法会获取最新版本,可能不适用
也可以通过 `wget` 获取指定版本的openssl源码
这些两种方法都可以获取到openssl源码, 但是都需要编译安装后才能使用


#e 安装示例  
wget获取源码
```shell
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
tar -zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
```
git获取源码
```shell
git clone https://github.com/openssl/openssl.git
cd openssl
```
编译安装
```shell

./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib zlib-dynamic
make -j 8
make install
```
配置软链接
```shell
ln -s /usr/local/openssl/lib /usr/bin/openssl
```


#### openssl安装管理
> 如果按照往上的方法安装后, 导致openssl版本移除, 则需要手动软链接, 保证其能够切换至对应版本

#d `whereis`管理  
该命令用于查找指定内容,并显示其路径。可以显示多个内容,用空格分隔。
用于在不知道指定内容在哪个路径下时使用。

#e 寻找openssl
```shell
whereis openssl
```
输出:
```shell
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/local/openssl /usr/share/man/man1/openssl.1ssl.gz
```

## 用户管理
> 1. 创建用户, 环境为ubuntu


#e 创建用户
使用下面命令创建一个名为`username`的用户
```shell
sudo adduser username
```

#e 添加用户到sudo组
```shell
sudo adduser username sudo
```


## 新环境配置记录
> 为了在切换环境时能够将当前的应用也一起切换. 所以做此记录  
> 安装`node`环境, `pm2`  
> 安装 `rustdesk` 远程控制软件  
> 安装`frp`软件  
> 迁移`gitlab`仓库内容
### `node`环境与`pm2`安装
> 本篇参考以下文档[node环境配置](./安装node任意版本.md)

### `rustdesk`安装
1. 更新环境
    ```shell
    apt update
    ```
2. 安装依赖环境

3. 下载软件包
    ```shell
    wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.12/rustdesk-server-linux-amd64.zip
    ```

4. 解压软件包
   可以得到一个`amd64`的目录
    ```shell
    unzip rustdesk-server-linux-amd64.zip -d ~
   ```
   
5. 转移安装包
   ```shell
   cp -r ~/amd64/ ~/software/rustdesk
   ```
   进入安装包目录
   ```shell
   cd ~/software/rustdesk/amd64
   ```
   
6. 运行安装包
   > 为了防止出问题, 这里建议也使用sudo, npm这块,  
   > sudo与不sudo,可能不是同一种内容  
    
   ```shell
   pm2 start hbbs
   pm2 start hbbr
   pm2 save
   ```

7. 开放端口
   > rustdesk 需要开放如下端口  
   > TCP(21115, 21116, 21117, 21118, 21119)  
   > UDP(21116)

### frp 安装
> frp 是一个反向代理软件, 可以将本地的端口映射到公网, 方便进行远程连接  
> 这部分安装参考 [frp安装](穿透工具%20frp%20.md)