提交
This commit is contained in:
parent
2ec73f7b87
commit
de86bc7c15
@ -702,3 +702,166 @@ docker run -itd -p 18080:8080 -p 8333:8333 -p 18888:8888 -p 9333:9333 -p 19333:1
|
||||
|
||||
```
|
||||
|
||||
## Docker 安装 Subversion
|
||||
|
||||
拉取镜像
|
||||
|
||||
```shell
|
||||
docker pull elleflorio/svn-server
|
||||
|
||||
mkdir /usr/local/docker/svn
|
||||
cd /usr/local/docker/svn
|
||||
```
|
||||
|
||||
创建脚本启动临时容器
|
||||
|
||||
```shell
|
||||
vim start.sh
|
||||
|
||||
docker stop svn-test
|
||||
docker rm svn-test
|
||||
docker run --restart always --name svn-test -d -p 3690:3690 -p 18080:80 \
|
||||
-v /usr/local/docker/svn:/tmp/svn elleflorio/svn-server
|
||||
|
||||
chmod +x start.sh
|
||||
./start.sh
|
||||
```
|
||||
|
||||
创建脚本进入容器
|
||||
|
||||
```shell
|
||||
vim enter.sh
|
||||
|
||||
docker exec -it svn-test /bin/sh
|
||||
|
||||
chmod +x enter.sh
|
||||
./enter.sh
|
||||
```
|
||||
|
||||
进入容器
|
||||
|
||||
```shell
|
||||
# 查看仓库配置文件
|
||||
cat /etc/apache2/conf.d/dav_svn.conf
|
||||
#LoadModule dav_svn_module /usr/lib/apache2/mod_dav_svn.so
|
||||
#LoadModule authz_svn_module /usr/lib/apache2/mod_authz_svn.so
|
||||
#<Location /svn>
|
||||
# DAV svn
|
||||
# SVNParentPath /home/svn
|
||||
# SVNListParentPath On
|
||||
# AuthType Basic
|
||||
# AuthName "Subversion Repository"
|
||||
# AuthUserFile /etc/subversion/passwd
|
||||
# AuthzSVNAccessFile /etc/subversion/subversion-access-control
|
||||
# Require valid-user
|
||||
# 拷贝相关文件到tmp,同步到挂载点
|
||||
mkdir /tmp/svn/config /tmp/svn/svnadmin_data
|
||||
cp /etc/subversion/* /tmp/svn/config
|
||||
cp /opt/svnadmin/data/* /tmp/svn/svnadmin_data
|
||||
exit
|
||||
```
|
||||
|
||||
退出容器,再次编辑启动容器脚本
|
||||
|
||||
```shell
|
||||
vim start.sh
|
||||
|
||||
# 3690是svn server的默认端口,80是apache的默认端口
|
||||
docker stop svn-test
|
||||
docker rm svn-test
|
||||
docker run --restart always --name svn-test -d -p 3690:3690 -p 18080:80 \
|
||||
-v /usr/local/docker/svn/repo:/home/svn \
|
||||
-v /usr/local/docker/svn/config:/etc/subversion \
|
||||
-v /usr/local/docker/svn/svnadmin_data:/opt/svnadmin/data elleflorio/svn-server
|
||||
# 更改挂载点后,重启容器
|
||||
./start.sh
|
||||
./enter.sh
|
||||
# 创建一个示例项目
|
||||
mkdir -p /home/svn/myrep
|
||||
ls /home/svn/
|
||||
# myrepo
|
||||
# 添加用户访问权限
|
||||
vi /etc/subversion/subversion-access-control
|
||||
|
||||
[groups]
|
||||
[/]
|
||||
* = r
|
||||
# 添加admin的读写权限
|
||||
admin = rw
|
||||
|
||||
# 添加用户账号
|
||||
htpasswd -b /etc/subversion/passwd admin admin123
|
||||
# Adding password for user admin
|
||||
exit
|
||||
# 授予权限
|
||||
sudo chmod -R a+w /usr/local/docker/svn/config/*
|
||||
sudo chmod -R a+w /usr/local/docker/svn/repo/*
|
||||
sudo chmod -R a+w /usr/local/docker/svn/svnadmin_data/*
|
||||
|
||||
# 访问Apache HTTP Server
|
||||
http://ip:18080/
|
||||
# 服务器开放18080端口
|
||||
# 在浏览器地址后面加上svn, 即http://ip:18080/svn,会弹出提示框输入用户名和密码,登录成功后可查看项目目录
|
||||
|
||||
```
|
||||
|
||||
配置svnadmin(一个php写的svn管理工具)
|
||||
|
||||
访问 http://ip:18080/svnadmin/
|
||||
|
||||
```
|
||||
Error: Could not copy configuration file template. Require write permission (777) to "data" folder and all containing files.
|
||||
|
||||
#0 /opt/svnadmin/index.php(20): include_once()
|
||||
#1 {main}
|
||||
```
|
||||
|
||||
配置文件权限
|
||||
|
||||
```shell
|
||||
chmod 777 /usr/local/docker/svn/svnadmin_data/
|
||||
```
|
||||
|
||||
刷新以下
|
||||
|
||||
按照 上面步骤里提到的`/etc/apache2/conf.d/dav_svn.conf的内容去填写,并点击test按钮验证,如下图,然后点击Save Configuration`
|
||||
|
||||
```shell
|
||||
LoadModule dav_svn_module /usr/lib/apache2/mod_dav_svn.so
|
||||
LoadModule authz_svn_module /usr/lib/apache2/mod_authz_svn.so
|
||||
|
||||
<Location /svn>
|
||||
DAV svn
|
||||
SVNParentPath /home/svn
|
||||
SVNListParentPath On
|
||||
AuthType Basic
|
||||
AuthName "Subversion Repository"
|
||||
AuthUserFile /etc/subversion/passwd
|
||||
AuthzSVNAccessFile /etc/subversion/subversion-access-control
|
||||
Require valid-user
|
||||
```
|
||||
|
||||

|
||||
|
||||
- Subversion 授权文件: /etc/subversion/subversion-access-control
|
||||
|
||||
- 用户身份验证文件 (SVNUserFile): /etc/subversion/passwd
|
||||
|
||||
- 代码仓库的父目录 (SVNParentPath): /home/svn
|
||||
|
||||
> 需要授予权限
|
||||
>
|
||||
> 进入容器内
|
||||
>
|
||||
> 执行
|
||||
>
|
||||
> ```chmodshell
|
||||
> chmod -R a+w /home/svn/
|
||||
> ```
|
||||
|
||||
- 'svn.exe' 或 'svn'可执行文件:/usr/bin/svn
|
||||
|
||||
- 'svnadmin.exe' 或 'svnadmin' 可执行文件:/usr/bin/svnadmin
|
||||
|
||||
保存设置就可以登录了
|
||||
|
||||
|
||||
BIN
source/_posts/Docker/image-20231121123737636.png
Normal file
BIN
source/_posts/Docker/image-20231121123737636.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 73 KiB |
@ -336,6 +336,24 @@ Linux 下文件有三种权限 r 读 w写 x可执行
|
||||
chmod 755 file
|
||||
```
|
||||
|
||||
## Shell 脚本
|
||||
|
||||
### 为什么大多数 shell 脚本都包含 #! /bin/bash 在 shell 脚本的开头?
|
||||
|
||||
“`#!/bin/bash`”这一行被称为`shebang` 行,在某些文献中,它被称为`hashbang` 行,这是因为它以两个字符`hash '#'` 和`bang '!' `开头。
|
||||
|
||||
```shell
|
||||
#! /bin/bash
|
||||
|
||||
echo 'Hello, World!'
|
||||
```
|
||||
|
||||
当你在脚本的最顶部包含“`#!/bin/bash`”行时,系统知道你想使用 `bash` 作为脚本的解释器。因此,你现在可以直接运行 `hello.sh` 脚本,而无需在其前面加上 `bash`。
|
||||
|
||||
使用 `#!/bin/bash` 表示该脚本是 `bash shell` 脚本,无论系统上正在使用什么 `shell`,都应该使用 `bash` 作为解释器运行。如果你使用的是 `zsh` 特定的语法,你可以通过添加 `#! /bin/zsh` 作为脚本的第一行。
|
||||
|
||||
`#!` 和 `/bin/bash` 之间的空格无关紧要。你也可以使用 `#!/bin/bash`。
|
||||
|
||||
## 安装MySQL
|
||||
|
||||
有些Linux会自带MariaDB数据库,所以需要先卸载
|
||||
@ -906,6 +924,15 @@ cd build
|
||||
docker run -itd --name nodejs -v /usr/local/bin/npm:/usr/local/bin/npm n
|
||||
```
|
||||
|
||||
### AlmaLinux 安装
|
||||
|
||||
```shell
|
||||
dnf update -y
|
||||
dnf install nodejs -y
|
||||
```
|
||||
|
||||
|
||||
|
||||
## 查看硬盘空间
|
||||
|
||||
```shell
|
||||
@ -980,3 +1007,59 @@ wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
|
||||
sudo dnf install ./google-chrome-stable_current_x86_64.rpm -y
|
||||
```
|
||||
|
||||
## 安装 Supervisor
|
||||
|
||||
### 安装
|
||||
|
||||
```shell
|
||||
sudo dnf update -y
|
||||
sudo dnf install epel-release -y
|
||||
sudo dnf install supervisor -y
|
||||
```
|
||||
|
||||
### 配置
|
||||
|
||||
```shell
|
||||
sudo vim /etc/supervisord.conf
|
||||
# 开启web服务管理界面
|
||||
# 修改port中的ip为0.0.0.0,以允许任何ip访问
|
||||
# 修改用户名密码
|
||||
# 去掉行首的 ; 以使配置生效
|
||||
[inet_http_server] ; inet (TCP) server disabled by default
|
||||
port=0.0.0.0:9001 ; (ip_address:port specifier, *:port for all iface)
|
||||
username=user ; (default is no username (open server))
|
||||
password=123 ; (default is no password (open server))
|
||||
# 修改包含子配置文件,文件类型为.conf,默认为.ini
|
||||
[include]
|
||||
files = supervisord.d/*.conf
|
||||
```
|
||||
|
||||
### 常用命令
|
||||
|
||||
```shell
|
||||
# 启动 supervisord
|
||||
sudo systemctl start supervisord
|
||||
# 开机启动 supervisord
|
||||
sudo systemctl enable supervisord
|
||||
# 检查是否开机启动 supervisord
|
||||
sudo systemctl is-enable supervisord
|
||||
# 检查 supervisord 状态
|
||||
sudo systemctl status supervisord
|
||||
# 更新新的配置到supervisord(不会重启原来已运行的程序)
|
||||
sudo supervisorctl update
|
||||
# 载入所有配置文件,并按新的配置启动、管理所有进程(会重启原来已运行的程序)
|
||||
sudo supervisorctl reload
|
||||
# 启动某个进程
|
||||
sudo supervisorctl start xxx
|
||||
# 重启某个进程
|
||||
sudo supervisorctl restart xxx
|
||||
# 停止某个进程(xxx),xxx为[program:theprogramname]里配置的值
|
||||
sudo supervisorctl stop xxx
|
||||
# 重启所有属于名为groupworker这个分组的进程(start,restart同理)
|
||||
sudo supervisorctl restart groupworker
|
||||
# 停止全部进程
|
||||
sudo supervisorctl stop all
|
||||
# 查看服务状态
|
||||
sudo supervisorctl status
|
||||
```
|
||||
|
||||
|
||||
@ -225,3 +225,38 @@ mysqldump -uroot -p -B test > test.sql
|
||||
source <脚本绝对路径>
|
||||
```
|
||||
|
||||
# 用户和权限
|
||||
|
||||
```mysql
|
||||
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
|
||||
GRANT Usage ON *.* TO 'username'@'%';
|
||||
GRANT Alter ON database.* TO 'username'@'%';
|
||||
GRANT Create ON database.* TO 'username'@'%';
|
||||
GRANT Create view ON database.* TO 'username'@'%';
|
||||
GRANT Delete ON database.* TO 'username'@'%';
|
||||
GRANT Drop ON database.* TO 'username'@'%';
|
||||
GRANT Index ON database.* TO 'username'@'%';
|
||||
GRANT Insert ON database.* TO 'username'@'%';
|
||||
GRANT References ON database.* TO 'username'@'%';
|
||||
GRANT Select ON database.* TO 'username'@'%';
|
||||
GRANT Show view ON database.* TO 'username'@'%';
|
||||
GRANT Update ON database.* TO 'username'@'%';
|
||||
```
|
||||
|
||||
|
||||
|
||||
# 存储过程和函数
|
||||
|
||||
## 函数
|
||||
|
||||
创建函数要加上**DELIMITER $$**、**$$ DELIMITER**
|
||||
|
||||
MySQL 8 还需要执行
|
||||
|
||||
```mysql
|
||||
-- 查看该参数,默认为0
|
||||
select @@log_bin_trust_function_creators;
|
||||
-- 设置为1
|
||||
set GLOBAL log_bin_trust_function_creators=1;
|
||||
```
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user