From 35f093126d6ddbda539fef96d038bfac5c670e82 Mon Sep 17 00:00:00 2001 From: Aaron Chen Date: Mon, 12 Jun 2023 10:51:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=81=9A=E4=BA=86=E5=BE=88=E5=A4=9A=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/Debian11上部署gitea服务.md | 282 ++++++++++++++++++ .../Debian11下安装docker和docker-compose.md | 45 +++ {linux => docker}/docker部署minio服务.md | 0 .../docker部署postgres数据库服务.md | 4 +- .../docker部署rabbitmq启用stomp和延时队列.md | 14 +- ...1安装FreeSWITCH1.10-参照ClueCon官方文档.md | 2 +- freeswitch/Debian11安装FreeSWITCH1.10.md | 45 ++- ...luarocks.md => Debian11安装lua和luarocks.md} | 4 +- freeswitch/为FreeSWITCH安装mod_unimrcp模块.md | 7 + ...运行后提示Network: use --host to expose的问题.md | 18 ++ git/部署gitlab.md | 46 --- {skill => linux}/tmux操作.md | 0 {storage => linux}/ubuntu配置nfs服务.md | 0 {skill => linux}/vim操作.md | 0 storage/docker部署minio.md | 89 ------ 15 files changed, 404 insertions(+), 152 deletions(-) create mode 100644 docker/Debian11上部署gitea服务.md create mode 100644 docker/Debian11下安装docker和docker-compose.md rename {linux => docker}/docker部署minio服务.md (100%) rename {db => docker}/docker部署postgres数据库服务.md (92%) rename {rabbitmq => docker}/docker部署rabbitmq启用stomp和延时队列.md (81%) rename freeswitch/{Debian11安装lua5.2和luarocks.md => Debian11安装lua和luarocks.md} (91%) create mode 100644 frontend/解决create-vue创建的项目运行后提示Network: use --host to expose的问题.md delete mode 100644 git/部署gitlab.md rename {skill => linux}/tmux操作.md (100%) rename {storage => linux}/ubuntu配置nfs服务.md (100%) rename {skill => linux}/vim操作.md (100%) delete mode 100644 storage/docker部署minio.md diff --git a/docker/Debian11上部署gitea服务.md b/docker/Debian11上部署gitea服务.md new file mode 100644 index 0000000..a171274 --- /dev/null +++ b/docker/Debian11上部署gitea服务.md @@ -0,0 +1,282 @@ +## 在Debian11服务器上使用docker部署gitea服务器完整过程 + +本文目标: + +- 仓库、数据库等用户产生数据保存在数据盘中 +- 使用postgresql数据库 +- 数据库和gitea服务以docker方式启动 +- 主机和容器使用22端口实现SSH直通 +- 使用域名访问,通过nginx反向代理实现通过80端口访问web UI + +> 为了方便,文档中的操作都是在root用户下执行,建议在生产环境中使用普通用户执行操作,在命令前加`sudo`。 + +### 准备域名 + +提前准备一个公网域名,指向到下面即将要操作的服务器IP上,后面的操作完成了,域名解析也差不多该生效了。 + +> 假设我们用的是`gitea.wukezhenzhu.com`,后面配置是用以它为例。 + +### 准备Debian11服务器 + +#### 安装系统 + +略 + +#### 挂载数据盘 + +通过`df -h`、`lsblk`、`fdisk -l`等命令确认当前磁盘和分区状态,下面是结果示例: + +```sh +root@debian:~# df -h +Filesystem Size Used Avail Use% Mounted on +udev 2.0G 0 2.0G 0% /dev +tmpfs 394M 560K 393M 1% /run +/dev/sda1 491G 1.4G 464G 1% / +tmpfs 2.0G 0 2.0G 0% /dev/shm +tmpfs 5.0M 0 5.0M 0% /run/lock +tmpfs 394M 0 394M 0% /run/user/0 +root@debian:~# lsblk +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +sda 8:0 0 500G 0 disk +├─sda1 8:1 0 499G 0 part / +├─sda2 8:2 0 1K 0 part +└─sda5 8:5 0 975M 0 part [SWAP] +sdb 8:16 0 4T 0 disk +sr0 11:0 1 1024M 0 rom +root@debian:~# fdisk -l +Disk /dev/sdb: 4 TiB, 4398046511104 bytes, 8589934592 sectors +Disk model: Virtual disk +Units: sectors of 1 * 512 = 512 bytes +Sector size (logical/physical): 512 bytes / 512 bytes +I/O size (minimum/optimal): 512 bytes / 512 bytes + + +Disk /dev/sda: 500 GiB, 536870912000 bytes, 1048576000 sectors +Disk model: Virtual disk +Units: sectors of 1 * 512 = 512 bytes +Sector size (logical/physical): 512 bytes / 512 bytes +I/O size (minimum/optimal): 512 bytes / 512 bytes +Disklabel type: dos +Disk identifier: 0xac8bf5c9 + +Device Boot Start End Sectors Size Id Type +/dev/sda1 * 2048 1046575103 1046573056 499G 83 Linux +/dev/sda2 1046577150 1048573951 1996802 975M 5 Extended +/dev/sda5 1046577152 1048573951 1996800 975M 82 Linux swa +``` + +从上面的结果可以看到,系统中有一个名为`/dev/sdb`的4TB硬盘是空闲的,下面我们要把它整个挂载到`/data`目录下: + +```sh +root@debian:~# mkfs.ext4 /dev/sdb +mke2fs 1.46.2 (28-Feb-2021) +Creating filesystem with 1073741824 4k blocks and 134217728 inodes +Filesystem UUID: f081b706-f637-4b84-b70b-5521b7ad5b6b +Superblock backups stored on blocks: + 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, + 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, + 102400000, 214990848, 512000000, 550731776, 644972544 + +Allocating group tables: done +Writing inode tables: done +Creating journal (262144 blocks): done +Writing superblocks and filesystem accounting information: done + +root@debian:~# mkdir /data +root@debian:~# mount -t ext4 /dev/sdb /data +root@debian:~# df -h +Filesystem Size Used Avail Use% Mounted on +udev 2.0G 0 2.0G 0% /dev +tmpfs 394M 560K 393M 1% /run +/dev/sda1 491G 1.4G 464G 1% / +tmpfs 2.0G 0 2.0G 0% /dev/shm +tmpfs 5.0M 0 5.0M 0% /run/lock +tmpfs 394M 0 394M 0% /run/user/0 +/dev/sdb 4.0T 28K 3.8T 1% /data +``` + +经过上面的操作,已经把磁盘`/dev/sdb`格式化为ext4文件系统,并成功挂载下`/data`目录下,但是如果现在重启系统后,数据盘还不能自动完成挂载,需要执行下面的操作: + +```sh +root@debian:~# ll /dev/disk/by-uuid/ +total 0 +lrwxrwxrwx 1 root root 10 Apr 21 14:22 0bc1a76e-3457-4e2c-b708-a201e510f343 -> ../../sda1 +lrwxrwxrwx 1 root root 9 Apr 21 14:30 f081b706-f637-4b84-b70b-5521b7ad5b6b -> ../../sdb +lrwxrwxrwx 1 root root 10 Apr 21 14:22 ff162b2a-5e9e-4661-854a-64ad11f22fa5 -> ../../sda5 + +root@debian:~# echo "UUID=f081b706-f637-4b84-b70b-5521b7ad5b6b /data ext4 defaults 0 0" >> /etc/fstab +``` + +> 上面写入`/etc/fstab`文件中的UUID是在`/dev/disk/by-uuid/`中查到的`sdb`对应的UUID。 + +可以试着`reboot`一下,重启后数据盘会自动完成挂载。 + +> 操作系统的准备工作已经完成,但是我们建议中国大陆用户要为系统配置一组高速的软件源,配置文件位置`/etc/apt/sources.list`,本文不对展开讲解。 + +### 准备docker环境 + +> 按照docker官方文档安装[Docker Engine](https://docs.docker.com/engine/install/debian/)和[Docker Compose](https://docs.docker.com/compose/install/other/)。 + +```sh +# 卸载原有旧版本的docker(新系统可以跳过) +for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done +# 安装ca支持 +sudo apt-get update && sudo apt-get install ca-certificates curl gnupg +# 配置docker官方GPG密钥 +sudo install -m 0755 -d /etc/apt/keyrings +curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg +sudo chmod a+r /etc/apt/keyrings/docker.gpg +# 配置docker官方软件源 +echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +# 安装docker engine +sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin +# 单独安装docker-compose(不执行后面这步,使用docker compose [command]也是可以的) +curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose +ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose +chmod +x /usr/local/bin/docker-compose +# 查看docker版本 +docker version +# 查看docker-compose版本 +docker-compose version +``` + +对于国内服务器,给docker hub配置几个加速源是必要的操作,[阿里云容器镜像服务-镜像加速器](https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors)。 + +除了阿里云,也可以试试下面的加速源: + +- https://registry.docker-cn.com +- https://hub-mirror.c.163.com + +### 部署gitea和postgresql服务 + +#### 配置nginx实现反向代理 + +我们希望实现的是通过网址http://gitea.wukezhenzhu.com直接访问gitea的web UI,而gitea服务默认使用的http端口是3000,为了不过多更改服务配置,我们只要用nginx做一层指向127.0.0.1:3000端口的反向代理即可,具体如何操作本文不展开。 + +#### 创建git专用的系统账号和分组 + +```sh +# 创建git分组和git用户 +adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git + +# 记录下返回结果中的UID和GID,如: +Adding system user `git' (UID 112) ... +Adding new group `git' (GID 117) ... +Adding new user `git' (UID 112) with group `git' ... + +# 为git用户生成ssh-key +sudo -u git ssh-keygen -t rsa -b 4096 -C "Gitea Host Key" +``` + +#### 为主机和容器建立SSH直通 + +创建名为`/usr/local/bin/gitea`的可执行文件,文件内容: + +```shell +ssh -p 2222 -o StrictHostKeyChecking=no git@127.0.0.1 "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@" +``` + +为`/usr/local/bin/gitea`文件添加可执行权限: + +```sh +chmod +x /usr/local/bin/gitea +``` + +把git用户的ssh公钥添加到`/home/git/.ssh/authorized_keys`中(因为主机的`/home/git/.ssh/`会映射到容器中) + +```sh +echo "$(cat /home/git/.ssh/id_rsa.pub)" >> /home/git/.ssh/authorized_keys +``` + +#### 准备docker-compose.yml文件 + +创建`/data/docker-compose.yml`文件,内容如下(随着时间推移,可以试着改变镜像的版本),注意修改`USER_UID`和`USER_GID`为实际值: + +```yml +version: "3" + +networks: + gitea: + external: false + +services: + gitea: + image: gitea/gitea:1.19 + container_name: gitea + environment: + - USER_UID=112 + - USER_GID=117 + - GITEA__database__DB_TYPE=postgres + - GITEA__database__HOST=gitea_db:5432 + - GITEA__database__NAME=gitea + - GITEA__database__USER=gitea + - GITEA__database__PASSWD=gitea + restart: always + networks: + - gitea + volumes: + - ./gitea:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + - /home/git/.ssh/:/data/git/.ssh + ports: + - "3000:3000" + - "127.0.0.1:2222:22" + depends_on: + - gitea_db + gitea_db: + image: postgres:14 + container_name: gitea_db + restart: always + environment: + - POSTGRES_USER=gitea + - POSTGRES_PASSWORD=gitea + - POSTGRES_DB=gitea + networks: + - gitea + volumes: + - ./postgres:/var/lib/postgresql/data +``` + +在/data目录下执行: + +```sh +docker-compose up +``` + +如果在编排期间没有提示错误的话,说明我们在服务器端的部署工作基本完成了,下面进入web安装与配置阶段。 + +#### 通过Web UI完成服务安装与配置 + +假设最开始做的域名解析已经生效了,接下来打开浏览器访问gitea.wukezhenzhu.com(如果找不开页面,检查检查域名解析、服务器防火墙、nginx代理): + +```url +http://gitea.wukezhenzhu.com +``` + +- 数据库设置:都使用默认值就行(因为我们没有把pg的5432端口映射给主机,所以基本也不需要给数据库设置强口令)。 +- 站点名称:会显示在Web首页和浏览器标题栏 +- 仓库根目录:默认 +- LFS根目录:默认 +- 以用户名运行:默认(git) +- 服务器域名:就是刚才解析的域名,文本中是gitea.wukezhenzhu.com +- SSH服务端口:22 +- HTTP服务端口:3000 +- 基础URL:如果这里是带:3000端口号的url,我们就把端口号去掉,就是http://gitea.wukezhenzhu.com/。 +- 日志路径:默认 +- 启用更新检查:不勾选,因为我们用的是docker,即使在线更新了,容器重启后也会把程序重置。 +- 电子邮箱设置:建议配置并开启邮件确认注册和邮件通知提醒 +- 第三方服务设置:根据情况 +- 管理账号设置:根据情况 + +完成以上配置后,直接点“立即安装”,然后等待一小会,页面会自动以管理员登录(如果创建了管理员),或者进入到gitea的登录页。 + +#### 以daemon方式重新启动服务 + +在服务器上按ctrl+c停止docker服务,再重启执行一遍docker-compose命令,这次后面加上-d。 + +```sh +docker-compose up -d +``` + +好了,大功告成! diff --git a/docker/Debian11下安装docker和docker-compose.md b/docker/Debian11下安装docker和docker-compose.md new file mode 100644 index 0000000..5c4e18f --- /dev/null +++ b/docker/Debian11下安装docker和docker-compose.md @@ -0,0 +1,45 @@ +## Debian11中安装docker和docker-compose + +本文参考docker官方文档:(https://docs.docker.com/engine/install/debian/)[https://docs.docker.com/engine/install/debian/]和(https://docs.docker.com/compose/install/other/)[https://docs.docker.com/compose/install/other/] + +### 安装docker engine + +使用`apt-get install sudo -y`安装sudo可解决没有sudo命令的问题。 + +```sh +# 卸载旧版本(可省略) +sudo apt-get remove docker docker-engine docker.io containerd runc +# 安装新版本 +sudo apt-get update +sudo apt-get install ca-certificates curl gnupg +sudo install -m 0755 -d /etc/apt/keyrings +curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg +sudo chmod a+r /etc/apt/keyrings/docker.gpg +echo \ + "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ + "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ + sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +sudo apt-get update +sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin +``` + +### 安装docker-compose + +默认情况下,docker engine安装成功时会自动支持`docker compose`命令,但并不支持`docker-compose`命令,按照下面的步骤操作完,就可以使用`docker-compose`命令了。 + +```sh +curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose +sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose +chmod +x /usr/local/bin/docker-compose +``` + +### 验证安装 + +```sh +# 查看docker版本 +docker version +# 查看docker compose版本 +docker compose version +# 查看docker-compose版本 +docker-compose --version +``` diff --git a/linux/docker部署minio服务.md b/docker/docker部署minio服务.md similarity index 100% rename from linux/docker部署minio服务.md rename to docker/docker部署minio服务.md diff --git a/db/docker部署postgres数据库服务.md b/docker/docker部署postgres数据库服务.md similarity index 92% rename from db/docker部署postgres数据库服务.md rename to docker/docker部署postgres数据库服务.md index c2bc3ea..9eba442 100644 --- a/db/docker部署postgres数据库服务.md +++ b/docker/docker部署postgres数据库服务.md @@ -47,7 +47,7 @@ docker images ## 创建编排文件 -创建文件`/data/pgspostgresql/docker-compose.yml`,内容如下(注意自己改管理员账号密码): +创建文件`/data/postgres/docker-compose.yml`,内容如下(注意自己改管理员账号密码): > `image`一行要用自己编译的镜像名。 @@ -58,7 +58,7 @@ services: image: wkzz/postgres restart: always environment: - POSTGRES_PASSWORD: wkzz051223 + POSTGRES_PASSWORD: password PGDATA: /var/lib/postgresql/data/pgdata ports: - 5432:5432 diff --git a/rabbitmq/docker部署rabbitmq启用stomp和延时队列.md b/docker/docker部署rabbitmq启用stomp和延时队列.md similarity index 81% rename from rabbitmq/docker部署rabbitmq启用stomp和延时队列.md rename to docker/docker部署rabbitmq启用stomp和延时队列.md index 81a5e25..f9b1d0c 100644 --- a/rabbitmq/docker部署rabbitmq启用stomp和延时队列.md +++ b/docker/docker部署rabbitmq启用stomp和延时队列.md @@ -4,6 +4,12 @@ ### 下载延时队列插件 +针对rabbitmq3.12.x + +```bash +wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v3.12.0/rabbitmq_delayed_message_exchange-3.12.0.ez +``` + 针对rabbitmq3.11.x ```bash @@ -24,18 +30,18 @@ wget https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/down ### 安装rabbitmq -> 以3.11为例 +> 以3.12为例 ```bash # 拉取镜像并启动容器 -docker run -d -v /data/rabbitmq/mnesia:/var/lib/rabbitmq/mnesia --hostname rabbitmq --name rabbitmq rabbitmq:3.11-management +docker run -d -v `pwd`/mnesia:/var/lib/rabbitmq/mnesia --hostname rabbitmq --name rabbitmq rabbitmq:3.12-management ``` ### 安装并启用插件 ```bash # 将延时队列插件拷贝至容器(以3.11为例) -docker cp rabbitmq_delayed_message_exchange-3.11.1.ez rabbitmq:/plugins +docker cp rabbitmq_delayed_message_exchange-3.12.0.ez rabbitmq:/plugins # 进入容器 docker exec -it rabbitmq /bin/bash # 查看插件 @@ -58,7 +64,7 @@ docker rm -f rabbitmq ### 用新的命令重新启用新的容器 ```bash -docker run -d -p 5672:5672 -p 15672:15672 -p 15674:15674 -p 61613:61613 -v /data/rabbitmq/mnesia:/var/lib/rabbitmq/mnesia --hostname rabbitmq --name rabbitmq rabbitmq:stomp-delay +docker run -d -p 5672:5672 -p 15672:15672 -p 15674:15674 -p 61613:61613 -v `pwd`/mnesia:/var/lib/rabbitmq/mnesia --hostname rabbitmq --name rabbitmq rabbitmq:stomp-delay ``` ### 检验 diff --git a/freeswitch/Debian11安装FreeSWITCH1.10-参照ClueCon官方文档.md b/freeswitch/Debian11安装FreeSWITCH1.10-参照ClueCon官方文档.md index 5d4eef8..a774b07 100644 --- a/freeswitch/Debian11安装FreeSWITCH1.10-参照ClueCon官方文档.md +++ b/freeswitch/Debian11安装FreeSWITCH1.10-参照ClueCon官方文档.md @@ -229,7 +229,7 @@ vim /usr/local/freeswitch/conf/sip_profiles/internal.xml ### conf/autoload_configs/acl.conf.xml中的配置项 -> 主要用来制定可(通过ESL)连接FreeSWITCH的IP规则 +> 主要用来制定可(通过ESL)连接FreeSWITCH的IP规则 ```shell vim /usr/local/freeswitch/conf/autoload_configs/acl.conf.xml diff --git a/freeswitch/Debian11安装FreeSWITCH1.10.md b/freeswitch/Debian11安装FreeSWITCH1.10.md index d666456..9ff0367 100644 --- a/freeswitch/Debian11安装FreeSWITCH1.10.md +++ b/freeswitch/Debian11安装FreeSWITCH1.10.md @@ -39,7 +39,7 @@ sudo apt-get install -y \ libldns-dev \ python3-dev \ libavformat-dev libswscale-dev libavresample-dev \ - liblua5.2-dev \ + liblua5.1-dev \ libopus-dev \ libpq-dev \ libshout3-dev libmpg123-dev libmp3lame-dev \ @@ -80,13 +80,13 @@ cd freeswitch make -j`nproc` sudo make install # 安装英文声音资源(可选) -make cd-sounds-install -make cd-moh-install -make uhd-sounds-install -make uhd-moh-install -make hd-sounds-install -make hd-moh-install -make sounds-install +make cd-sounds-install && \ +make cd-moh-install && \ +make uhd-sounds-install && \ +make uhd-moh-install && \ +make hd-sounds-install && \ +make hd-moh-install && \ +make sounds-install && \ make moh-install cd .. ``` @@ -102,3 +102,32 @@ bin/freeswitch ``` 等待一段时间后,FreeSWITCH服务就已经成功启动了,在当前控制台输入命令`sofia status`可以看到一点配置信息。前台启动方式非常简单,但是一旦执行`...`命令退出控制台后,对应的FreeSWITCH服务也就退出了。如果想在后台启动服务,在执行`bin/freeswitch`时后面加上`-nc`命令参数就可以了。 + +### 做freeswitch和fs_cli的软连接 + +```shell +ln -sf /usr/local/freeswitch/bin/freeswitch /usr/local/bin/ +ln -sf /usr/local/freeswitch/bin/fs_cli /usr/local/bin/ +``` + +做完这一步操作后,就可以在任意目录下执行freeswitch地fs_cli命令了(但是要注意freeswitch的运行目录的相对路径问题)。 + +### 配置.fs_cli_conf文件 + +fs_cli的本质也是通过esl连接去控制FreeSWITCH,所以如果对FreeSWITCH做配置时更改了event_socket的端口号、密码等内容时,再使用fs_cli工具时就需要在后面加上各种复杂的参数,为了简化操作,我们可以配置一个名为.fs_cli_conf的文件,在里面写好FreeSWITCH的esl相关参数,以后就可以直接执行fs_cli命令进入到FreeSWITCH控制台了。 + +```shell +vim ~/.fs_cli_conf +``` + +文件内容参数: + +```ini +[default] +host => 127.0.0.1 +port => 8021 +password => ClueConAAAA +debug => 6 +``` + +做了以上配置后,直接`fs_cli`就能查看控制台,`...`退出控制台。 diff --git a/freeswitch/Debian11安装lua5.2和luarocks.md b/freeswitch/Debian11安装lua和luarocks.md similarity index 91% rename from freeswitch/Debian11安装lua5.2和luarocks.md rename to freeswitch/Debian11安装lua和luarocks.md index 4854666..a825eb4 100644 --- a/freeswitch/Debian11安装lua5.2和luarocks.md +++ b/freeswitch/Debian11安装lua和luarocks.md @@ -1,4 +1,4 @@ -## Debian11安装lua5.2和luarocks +## Debian11安装lua5.1和luarocks > wandoubaba / 2023-01-18 @@ -9,7 +9,7 @@ > 后面的操作过程中如果使用root账号的话就不需要加`sudo`了 ```sh -sudo apt-get install -y lua5.2 +sudo apt-get install -y lua5.1 ``` ### 安装luarocks diff --git a/freeswitch/为FreeSWITCH安装mod_unimrcp模块.md b/freeswitch/为FreeSWITCH安装mod_unimrcp模块.md index 497c72e..3e247f9 100644 --- a/freeswitch/为FreeSWITCH安装mod_unimrcp模块.md +++ b/freeswitch/为FreeSWITCH安装mod_unimrcp模块.md @@ -54,6 +54,13 @@ make sudo make install ``` +如果在执行./bootstrap.sh后遇到`required file './ltmain.sh' not found`错误的话,通过以下方法或许可以解决: + +```sh +libtoolize --version +libtoolize --automake --copy --debug --force +``` + ### 在FreeSWITCH配置中启用mod_unimrcp 编辑配置文件`/usr/local/freeswitch/conf/autoload_configs/modules.conf.xml`,在`configuration->modules`节点下,追加下面一行配置: diff --git a/frontend/解决create-vue创建的项目运行后提示Network: use --host to expose的问题.md b/frontend/解决create-vue创建的项目运行后提示Network: use --host to expose的问题.md new file mode 100644 index 0000000..6fe8226 --- /dev/null +++ b/frontend/解决create-vue创建的项目运行后提示Network: use --host to expose的问题.md @@ -0,0 +1,18 @@ +## 解决create-vue创建的项目运行后提示Network: use --host to expose的问题 + +### 修改vite.config.js文件 + +```js +import vue from '@vitejs/plugin-vue' + +/** + * https://vitejs.dev/config/ + * @type {import('vite').UserConfig} + */ +export default { + plugins: [vue()], + server: { + host: '0.0.0.0' // 新增内容 + } +} +``` diff --git a/git/部署gitlab.md b/git/部署gitlab.md deleted file mode 100644 index 357cff3..0000000 --- a/git/部署gitlab.md +++ /dev/null @@ -1,46 +0,0 @@ -# 安装部署gitlab - ---- - -## 在centos7部署 - -1. 安装配置必要的依赖 - -- ssh和防火墙 - -```shell -sudo yum install -y curl policycoreutils-python openssh-server perl -# Enable OpenSSH server daemon if not enabled: sudo systemctl status sshd -sudo systemctl enable sshd -sudo systemctl start sshd -# Check if opening the firewall is needed with: sudo systemctl status firewalld -sudo firewall-cmd --permanent --add-service=http -sudo firewall-cmd --permanent --add-service=https -sudo systemctl reload firewalld - -``` - -- 安装postfix用来发通知邮件 - -```shell -sudo yum install postfix -sudo systemctl enable postfix -sudo systemctl start postfix -``` - -2. 安装gitlab - -- 下载安装包 - -```shell -curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash -``` - -- 安装gitlab(先做好域名解析) - -```shell -# EXTERNAL_URL是想要使用的域名 -sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ee -``` - -- Web登录进行配置 diff --git a/skill/tmux操作.md b/linux/tmux操作.md similarity index 100% rename from skill/tmux操作.md rename to linux/tmux操作.md diff --git a/storage/ubuntu配置nfs服务.md b/linux/ubuntu配置nfs服务.md similarity index 100% rename from storage/ubuntu配置nfs服务.md rename to linux/ubuntu配置nfs服务.md diff --git a/skill/vim操作.md b/linux/vim操作.md similarity index 100% rename from skill/vim操作.md rename to linux/vim操作.md diff --git a/storage/docker部署minio.md b/storage/docker部署minio.md deleted file mode 100644 index fc3cadc..0000000 --- a/storage/docker部署minio.md +++ /dev/null @@ -1,89 +0,0 @@ -# docker部署minio服务 - -## 单节点-单存储 - -> 基于linux系统 - -### 拉取image - -```shell -# 推荐quay.io -docker pull quay.io/minio/minio -# 备用dockerhub -docker pull bitnami/minio -``` - -### 创建环境变量文件 - -```shell -touch /etc/default/minio -vim /etc/default/minio -``` - -在环境变量文件中编辑如下内容 - -```conf -# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server. -# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment. -# Omit to use the default values 'minioadmin:minioadmin'. -# MinIO recommends setting non-default values as a best practice, regardless of environment - -MINIO_ROOT_USER=myminioadmin -MINIO_ROOT_PASSWORD=minio-secret-key-change-me - -# MINIO_VOLUMES sets the storage volume or path to use for the MinIO server. - -MINIO_VOLUMES="/mnt/data" - -# MINIO_SERVER_URL sets the hostname of the local machine for use with the MinIO Server -# MinIO assumes your network control plane can correctly resolve this hostname to the local machine - -# Uncomment the following line and replace the value with the correct hostname for the local machine. - -#MINIO_SERVER_URL="http://minio.example.net" -``` - -### 启动container - -> 下面的命令不能直接复制 - -```shell -# 下面命令中的PATH要换成本地路径,如/data/minio -docker run -dt \ - -p 9000:9000 -p 9090:9090 \ - -v PATH:/mnt/data \ - -v /etc/default/minio:/etc/config.env \ - -e "MINIO_CONFIG_ENV_FILE=/etc/config.env" \ - --name "minio_local" \ - quay.io/minio/minio server \ - --console-address ":9090" -``` - -### 查看容器状态 - -```shell -docker logs minio -``` - -正常的话应该能看到类似如下信息 - -```console -Status: 1 Online, 0 Offline. -API: http://10.0.2.100:9000 http://127.0.0.1:9000 -RootUser: myminioadmin -RootPass: minio-secret-key-change-me -Console: http://10.0.2.100:9090 http://127.0.0.1:9090 -RootUser: myminioadmin -RootPass: minio-secret-key-change-me - -Command-line: https://min.io/docs/minio/linux/reference/minio-mc.html - $ mc alias set myminio http://10.0.2.100:9000 myminioadmin minio-secret-key-change-me - -Documentation: https://min.io/docs/minio/container/index.html -``` - -### 通过web访问minio面板 - -容器启动成功后,minio服务的web面板在本机可以通过`http://localhost:9090`访问,如果端口开放正确,通过`http://IP:9090`可以打开minio的web面板,如果有前置nginx的话,只要做指向http://IP:9090的反向代理就可以了。 - -web面板的账号密码就是在`/etc/default/minio`这个环境变量文件中配置的`MINIO_ROOT_USER`和`MINIO_ROOT_PASSWORD`。