Compare commits
	
		
			43 Commits
		
	
	
		
			main
			...
			lnmp_bulls
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | b7cfb76809 | ||
|   | 4aae51a561 | ||
|   | ae53377b9b | ||
|   | a064b0a9f1 | ||
|   | e1e95d2a9c | ||
|   | 52b015277a | ||
|   | 819d262d96 | ||
|   | e23d73318a | ||
|   | 259aac4100 | ||
|   | ecb961936c | ||
|   | 1e009931b2 | ||
|   | 173bb6f1a2 | ||
|   | 2bd42d6e3a | ||
|   | 0efa3cb786 | ||
|   | f39dcb1e44 | ||
|   | a6cc347e27 | ||
|   | f17291148b | ||
|   | 6895daf9f1 | ||
|   | 64b63e0b3d | ||
|   | 0171c8f1a7 | ||
|   | d72609ad4d | ||
|   | 2536fafd20 | ||
|   | b916ca3611 | ||
|   | c4ba171095 | ||
|   | 86df8d82dd | ||
|   | ff96ca34b8 | ||
|   | 76a57bc4f1 | ||
|   | 14f2f6f312 | ||
|   | 2696b97d05 | ||
|   | a8981bd64e | ||
|   | dcc4f077f0 | ||
|   | f2173baad4 | ||
|   | 4c04138e32 | ||
|   | 0b517521b1 | ||
|   | eb6e8f8dda | ||
|   | e720b4e355 | ||
|   | 373c0658c2 | ||
|   | d9cbf68384 | ||
|   | b016977fe8 | ||
|   | cd6a6e9b48 | ||
|   | 451c68a393 | ||
|   | 0f17616182 | ||
|   | 4e66543487 | 
							
								
								
									
										125
									
								
								.cnb.yml
									
									
									
									
									
								
							
							
						
						
									
										125
									
								
								.cnb.yml
									
									
									
									
									
								
							| @ -5,32 +5,6 @@ $: | ||||
|       docker: | ||||
|         build:  | ||||
|           dockerfile: .ide/Dockerfile | ||||
|   issue.open: | ||||
|     - stages: | ||||
|         - name: issue-notice | ||||
|           image: tencentcom/wecom-message | ||||
|           imports: https://cnb.cool/btpanel/secret/-/blob/main/wework-robots.yml | ||||
|           settings: | ||||
|             robot: $CNB_WARRIOR_ROBOT | ||||
|             msgType: markdown | ||||
|             content: | | ||||
|               > **有人提issue啦** | ||||
|               > **标  题:** $CNB_ISSUE_TITLE | ||||
|               > **发起人:** $CNB_ISSUE_OWNER | ||||
|               > **查看:** [$CNB_EVENT_URL]($CNB_EVENT_URL) | ||||
|   issue.reopen: | ||||
|     - stages: | ||||
|         - name: issue-notice | ||||
|           image: tencentcom/wecom-message | ||||
|           imports: https://cnb.cool/btpanel/secret/-/blob/main/wework-robots.yml | ||||
|           settings: | ||||
|             robot: $CNB_WARRIOR_ROBOT | ||||
|             content: | | ||||
|               > **$CNB_BUILD_USER重新打开了一个issue** | ||||
|               > **标  题:** $CNB_ISSUE_TITLE | ||||
|               > **发起人:** $CNB_ISSUE_OWNER | ||||
|               > **查  看:** [$CNB_EVENT_URL]($CNB_EVENT_URL) | ||||
| 
 | ||||
|   push: | ||||
|     - runner: | ||||
|         tags: cnb:arch:amd64 | ||||
| @ -38,11 +12,12 @@ $: | ||||
|         - docker | ||||
|       imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml | ||||
|       env: | ||||
|         IMAGE_TAG: btpanel/baota:latest-linux-amd64 | ||||
|         IMAGE_TAG: btpanel/baota:lnmp_debian11-linux-amd64 | ||||
|       stages: | ||||
|         - name: docker login | ||||
|           script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD" | ||||
|         - name: docker build | ||||
|           timeout: 3600s | ||||
|           script: docker build -t ${IMAGE_TAG} . | ||||
|         - name: docker push | ||||
|           script: docker push ${IMAGE_TAG} | ||||
| @ -53,28 +28,32 @@ $: | ||||
|            | ||||
|     - runner: | ||||
|         tags: cnb:arch:arm64:v8 | ||||
|         cpus: 16 | ||||
|       services: | ||||
|         - docker | ||||
|       imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml | ||||
|       env: | ||||
|         IMAGE_TAG: btpanel/baota:latest-linux-arm64 | ||||
|         IMAGE_TAG: btpanel/baota:lnmp_debian11-linux-arm64 | ||||
|       stages: | ||||
|         - name: docker login | ||||
|           script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD" | ||||
|         - name: docker build | ||||
|           script: docker build -t ${IMAGE_TAG} . | ||||
|           timeout: 3600s | ||||
|           script: docker build -t ${IMAGE_TAG} -f ./arm64/Dockerfile ./arm64 | ||||
|         - name: docker push | ||||
|           script: docker push ${IMAGE_TAG} | ||||
|         - name: resolve | ||||
|           type: cnb:resolve | ||||
|           options: | ||||
|             key: build-arm64 | ||||
| 
 | ||||
|     - services: | ||||
|     - runner: | ||||
|         tags: cnb:arch:amd64 | ||||
|         cpus: 2 | ||||
|       services: | ||||
|         - docker | ||||
|       imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml | ||||
|       env: | ||||
|         IMAGE_TAG: btpanel/baota:latest | ||||
|         IMAGE_TAG: btpanel/baota:lnmp_debian11 | ||||
|       stages: | ||||
|         - name: await the amd64 | ||||
|           type: cnb:await | ||||
| @ -93,84 +72,4 @@ $: | ||||
|             template: ${IMAGE_TAG}-OS-ARCH | ||||
|             platforms: | ||||
|               - linux/amd64 | ||||
|               - linux/arm64 | ||||
|         - name: clear | ||||
|           image: lumir/remove-dockerhub-tag | ||||
|           args: | ||||
|             - --user | ||||
|             - $DOCKER_USERNAME | ||||
|             - --password | ||||
|             - $DOCKER_PASSWD | ||||
|             - ${IMAGE_TAG}-linux-amd64 | ||||
|             - ${IMAGE_TAG}-linux-arm64 | ||||
| 
 | ||||
|     - runner: | ||||
|         tags: cnb:arch:amd64 | ||||
|       services: | ||||
|         - docker | ||||
|       env: | ||||
|         IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest-linux-amd64 | ||||
|       stages: | ||||
|         - name: docker login | ||||
|           script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY} | ||||
|         - name: docker build | ||||
|           script: docker build -t ${IMAGE_TAG} . | ||||
|         - name: docker push | ||||
|           script: docker push ${IMAGE_TAG} | ||||
|         - name: resolve | ||||
|           type: cnb:resolve | ||||
|           options: | ||||
|             key: cnb-build-amd64  | ||||
|            | ||||
|     - runner: | ||||
|         tags: cnb:arch:arm64:v8 | ||||
|       services: | ||||
|         - docker | ||||
|       env: | ||||
|         IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest-linux-arm64 | ||||
|       stages: | ||||
|         - name: docker login | ||||
|           script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY} | ||||
|         - name: docker build | ||||
|           script: docker build -t ${IMAGE_TAG} . | ||||
|         - name: docker push | ||||
|           script: docker push ${IMAGE_TAG} | ||||
|         - name: resolve | ||||
|           type: cnb:resolve | ||||
|           options: | ||||
|             key: cnb-build-arm64 | ||||
| 
 | ||||
|     - runner: | ||||
|         tags: cnb:arch:amd64 | ||||
|         cpus: 2 | ||||
|       services: | ||||
|         - docker | ||||
|       env: | ||||
|         IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest | ||||
|       stages: | ||||
|         - name: await the amd64 | ||||
|           type: cnb:await | ||||
|           options: | ||||
|             key: cnb-build-amd64 | ||||
|         - name: await the arm64 | ||||
|           type: cnb:await | ||||
|           options: | ||||
|             key: cnb-build-arm64 | ||||
|         - name: manifest | ||||
|           image: cnbcool/manifest | ||||
|           settings: | ||||
|             username: $CNB_TOKEN_USER_NAME | ||||
|             password: $CNB_TOKEN | ||||
|             target: ${IMAGE_TAG} | ||||
|             template: ${IMAGE_TAG}-OS-ARCH | ||||
|             platforms: | ||||
|               - linux/amd64 | ||||
|               - linux/arm64 | ||||
|         - name: remove tag | ||||
|           type: artifact:remove-tag | ||||
|           options: | ||||
|             name: ${CNB_REPO_NAME} | ||||
|             tags: | ||||
|               - latest-linux-amd64 | ||||
|               - latest-linux-arm64 | ||||
|             type: docker | ||||
|               - linux/arm64 | ||||
| @ -1,22 +0,0 @@ | ||||
| name: feature request | ||||
| description: 该模版用于提需求 | ||||
| labels:  | ||||
|   - feature | ||||
| body: | ||||
|   - type: markdown | ||||
|     attributes: | ||||
|       value: | | ||||
|         感谢用户提出的改进 宝塔面板Docker镜像 的想法。 | ||||
| 
 | ||||
|         请尽可能填写以下内容 | ||||
|   - type: textarea | ||||
|     attributes: | ||||
|       label: 这个特性将解决什么问题? | ||||
|     validations: | ||||
|       required: true | ||||
|   - type: textarea | ||||
|     attributes: | ||||
|       label: 设想的解决方案?如有 | ||||
|   - type: textarea | ||||
|     attributes: | ||||
|       label: 您考虑过哪些替代方案?如有 | ||||
| @ -1,20 +0,0 @@ | ||||
| name: bug report | ||||
| description: 该模版用于反馈 bug | ||||
| labels:  | ||||
|   - bug | ||||
| body: | ||||
|   - type: textarea | ||||
|     attributes: | ||||
|       label: 提供报错说明&截图?如有,可更快的确认问题 | ||||
|     validations: | ||||
|       required: true | ||||
|   - type: textarea | ||||
|     attributes: | ||||
|       label: 提供一下报错日志?如环境/插件安装日志,或其他报错信息 | ||||
|     validations: | ||||
|       required: false       | ||||
|   - type: textarea | ||||
|     attributes: | ||||
|       label: 描述一下重现步骤? | ||||
|     validations: | ||||
|       required: false | ||||
| @ -1,13 +0,0 @@ | ||||
| name: experience improve | ||||
| description: 该模版用于反馈体验问题 | ||||
| labels:  | ||||
|   - 体验优化 | ||||
| body: | ||||
|   - type: textarea | ||||
|     attributes: | ||||
|       label: 描述一下体验不好的点 | ||||
|     validations: | ||||
|       required: true | ||||
|   - type: textarea | ||||
|     attributes: | ||||
|       label: 优化建议?如有 | ||||
| @ -1 +0,0 @@ | ||||
| blank_issues_enabled: true | ||||
| @ -1,38 +0,0 @@ | ||||
| name: Docker Image Build and Push | ||||
| 
 | ||||
| on: | ||||
|   workflow_dispatch: | ||||
|     inputs: | ||||
|       version: | ||||
|         description: '版本标签' | ||||
|         required: true | ||||
|         default: '9.5.0' | ||||
| 
 | ||||
| jobs: | ||||
|   build-and-push-multiarch: | ||||
|     name: Build and Push Multi-Arch Docker Image | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Checkout code | ||||
|         uses: actions/checkout@v3 | ||||
| 
 | ||||
|       - name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v2 | ||||
| 
 | ||||
|       - name: Login to Docker Hub | ||||
|         uses: docker/login-action@v2 | ||||
|         with: | ||||
|           username: ${{ secrets.DOCKERHUB_USERNAME }} | ||||
|           password: ${{ secrets.DOCKERHUB_PASSWORD }} | ||||
| 
 | ||||
|       - name: Build and push multi-arch Docker images | ||||
|         uses: docker/build-push-action@v4 | ||||
|         with: | ||||
|           context: . | ||||
|           file: ./Dockerfile | ||||
|           platforms: linux/amd64,linux/arm64 | ||||
|           push: true | ||||
|           tags: | | ||||
|             ldxw/btpanel:latest | ||||
|             ldxw/btpanel:${{ github.event.inputs.version }} | ||||
|      | ||||
							
								
								
									
										29
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								Dockerfile
									
									
									
									
									
								
							| @ -1,9 +1,8 @@ | ||||
| FROM debian:bookworm | ||||
| FROM debian:bullseye | ||||
| 
 | ||||
| # 切换 Debian 镜像源为腾讯云源,更新包列表并安装依赖 | ||||
| RUN #sed -i 's/deb.debian.org/mirrors.tencent.com/g' /etc/apt/sources.list.d/debian.sources \ | ||||
|     #&&  | ||||
|     apt update && apt upgrade -y \ | ||||
| RUN sed -i 's/deb.debian.org/mirrors.tencent.com/g' /etc/apt/sources.list \ | ||||
|     && apt update && apt upgrade -y \ | ||||
|     && apt install -y \ | ||||
|     locales \ | ||||
|     wget iproute2 openssh-server libgd-dev cmake make gcc g++ autoconf \ | ||||
| @ -18,6 +17,7 @@ RUN #sed -i 's/deb.debian.org/mirrors.tencent.com/g' /etc/apt/sources.list.d/deb | ||||
| 
 | ||||
| # 复制脚本 | ||||
| COPY ["bt.sh", "init_mysql.sh", "/"] | ||||
| COPY ["phpmyadmin.sh", "/lnmp/"] | ||||
| 
 | ||||
| # 转换启动脚本 | ||||
| RUN dos2unix /bt.sh && dos2unix /init_mysql.sh | ||||
| @ -25,9 +25,21 @@ RUN dos2unix /bt.sh && dos2unix /init_mysql.sh | ||||
| # 下载并安装宝塔面板及 lnmp 环境 | ||||
| RUN curl -sSO https://download.bt.cn/install/install_panel.sh \ | ||||
|     && echo y | bash install_panel.sh -P 8888 --ssl-disable \ | ||||
|     #&& btpip config set global.index-url https://mirrors.tencent.com/pypi/simple \ | ||||
|     && curl -o /lnmp/nginx.sh https://download.bt.cn/install/3/nginx.sh \ | ||||
|     && sh /lnmp/nginx.sh install 1.27 \  | ||||
|     && curl -o /lnmp/php.sh https://download.bt.cn/install/3/php.sh \ | ||||
|     && sh /lnmp/php.sh install 8.3 \ | ||||
|     && curl -o /lnmp/mysql.sh https://download.bt.cn/install/4/mysql.sh \ | ||||
|     && sh /lnmp/mysql.sh install 8.0 \ | ||||
|     && sh /lnmp/phpmyadmin.sh install 5.2 \ | ||||
|     && rm -rf /lnmp \ | ||||
|     && rm -rf /www/server/php/83/src \ | ||||
|     && rm -rf /www/server/mysql/mysql-test \ | ||||
|     && rm -rf /www/server/mysql/src.tar.gz \ | ||||
|     && rm -rf /www/server/mysql/src \ | ||||
|     && rm -rf /www/server/data/* \ | ||||
|     && echo "docker_bt_d12" > /www/server/panel/data/o.pl \ | ||||
|     && rm -rf /www/server/nginx/src \ | ||||
|     && echo "docker_btlnmp_d11" > /www/server/panel/data/o.pl \ | ||||
|     && echo '["memuA", "memuAsite", "memuAdatabase", "memuAcontrol", "memuAfiles", "memuAlogs", "memuAxterm", "memuAcrontab", "memuAsoft", "memuAconfig", "dologin", "memu_btwaf", "memuAssl"]' > /www/server/panel/config/show_menu.json \ | ||||
|     && apt clean \ | ||||
|     && rm -rf /var/lib/apt/lists/* \ | ||||
| @ -40,11 +52,6 @@ RUN echo btpanel | bt 6 \ | ||||
|     && echo btpaneldocker | bt 5 \ | ||||
|     && echo "/btpanel" > /www/server/panel/data/admin_path.pl \ | ||||
|     && echo "root:btpaneldocker" | chpasswd | ||||
|      | ||||
| # 打包宝塔面板,并清除www | ||||
| RUN bt 2 \ | ||||
|     && tar -zcf /www.tar.gz /www \ | ||||
|     && rm -rf /www | ||||
| 
 | ||||
| ENTRYPOINT ["/bin/sh","-c","/bt.sh"] | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										58
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								README.md
									
									
									
									
									
								
							| @ -1,58 +0,0 @@ | ||||
| > 此 Docker 镜像由宝塔面板官方发布,镜像版本为宝塔面板 9.3.0 正式版和 9.0.0_lts 稳定版,镜像会随着宝塔面板更新,目前支持`x86_64`和`arm64`架构。 | ||||
| 
 | ||||
|  | ||||
|  | ||||
|  | ||||
| 
 | ||||
| ## 使用方法 | ||||
| > 以下命令中的镜像默认使用 CNB 仓库镜像,如需直接从 DockerHub 拉取,请替换镜像地址,如将`docker.cnb.cool/btpanel/btpanel:latest`替换为`btpanel:baota:latest` | ||||
| 
 | ||||
| ### Docker Run | ||||
| - 复制下方的命令,无需映射端口使用本地网络直接部署宝塔面板docker镜像 | ||||
| ```bash | ||||
| docker run -d --restart unless-stopped --name baota --net=host -v ~/www:/www docker.cnb.cool/btpanel/btpanel:latest | ||||
| ``` | ||||
| - 复制下方的命令,映射指定端口部署宝塔面板docker镜像 | ||||
| ```bash | ||||
| docker run -d --restart unless-stopped --name baota -p 8888:8888 -p 22:22 -p 443:443 -p 80:80 -p 888:888 -v ~/www:/www docker.cnb.cool/btpanel/btpanel:latest | ||||
| ``` | ||||
| 
 | ||||
| ### Docker Compose | ||||
| ```yml | ||||
| services: | ||||
|   btpanel: | ||||
|     image: docker.cnb.cool/btpanel/btpanel:latest # 宝塔面板官方镜像(国内源),也可直接使用dockerhub镜像 btpanel/baota:latest | ||||
|     deploy: | ||||
|       resources: | ||||
|         limits: | ||||
|           cpus: "2.0"  # 最大CPU核心限制,根据实际情况调整 | ||||
|           memory: "1024M"  # 最大内存限制,根据实际情况调整 | ||||
|       restart_policy: | ||||
|         condition: always | ||||
|     ports: | ||||
|       - "38888:8888" # 宝塔面板对外访问端口,默认38888 | ||||
|       - "8080:80" # Web服务端口,默认8080 | ||||
|       - "8443:443" # HTTPS服务端口,默认8443 | ||||
|       - "33306:3306" # MySQL服务端口,默认33306,不需要暴露到容器外可删除 | ||||
|       - "22022:22" # SSH服务端口,默认22022,不需要暴露到容器外可删除 | ||||
|       - "32888:888" # PHPMyAdmin服务端口,默认32888,不需要暴露到容器外可删除 | ||||
|     volumes: | ||||
|       - "/www:/www" # 持久化存储宝塔面板数据,默认/www,可根据实际情况调整目录 | ||||
|     labels: | ||||
|       createdBy: "bt_apps" | ||||
| ``` | ||||
| ## 如果面板需要使用Docker | ||||
| 参考格式  本地docker环境挂载进面板docker使用 | ||||
| ```yml | ||||
| - "/usr/bin/docker:/usr/bin/docker" | ||||
| - "/run/docker.sock:/run/docker.sock" | ||||
| ``` | ||||
| 
 | ||||
| ## 镜像说明 | ||||
| 除标注了`9.0_lts`稳定版的标签外,其他镜像均为`9.3.0/9.2.0`正式版 | ||||
| - `latest`:基于`Debian12`镜像打包,安装了宝塔面板和后续安装环境所用的依赖。 | ||||
| - `nas`:基于`Debian12`镜像打包,安装了宝塔面板和`Nginx 1.27`(amd架构)或`Nginx openresty`(arm64架构) | ||||
| - `9.0_lts_fresh`:基于`Debian12`镜像打包,安装了宝塔面板稳定版。 | ||||
| - `9.0_lts_lib`:基于`Debian12`镜像打包,安装了宝塔面板稳定版和和后续安装环境所用的依赖。 | ||||
| - `slim`:基于`debian:bookworm-slim`镜像打包,仅安装了宝塔面板,体积较小。 | ||||
| 
 | ||||
							
								
								
									
										62
									
								
								arm64/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								arm64/Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,62 @@ | ||||
| FROM debian:bullseye | ||||
| 
 | ||||
| # 切换 Debian 镜像源为腾讯云源,更新包列表并安装依赖 | ||||
| RUN sed -i 's/deb.debian.org/mirrors.tencent.com/g' /etc/apt/sources.list \ | ||||
|     && apt update && apt upgrade -y \ | ||||
|     && apt install -y \ | ||||
|     locales \ | ||||
|     wget iproute2 openssh-server libgd-dev cmake make gcc g++ autoconf \ | ||||
|     libsodium-dev libonig-dev libssh2-1-dev libc-ares-dev libaio-dev sudo curl dos2unix \ | ||||
|     build-essential re2c cron bzip2 libzip-dev libc6-dev bison file rcconf flex vim m4 gawk less cpp binutils \ | ||||
|     diffutils unzip tar libbz2-dev libncurses5 libncurses5-dev libtool libevent-dev libssl-dev libsasl2-dev \ | ||||
|     libltdl-dev zlib1g-dev libglib2.0-0 libglib2.0-dev libkrb5-dev libpq-dev libpq5 gettext libcap-dev \ | ||||
|     libc-client2007e-dev psmisc patch git e2fsprogs libxslt1-dev xz-utils libgd3 libwebp-dev libvpx-dev \ | ||||
|     libfreetype6-dev libjpeg62-turbo libjpeg62-turbo-dev iptables libudev-dev libldap2-dev \ | ||||
|     && apt clean \ | ||||
|     && rm -rf /var/lib/apt/lists/*  | ||||
| 
 | ||||
| # 复制脚本 | ||||
| COPY ["bt.sh", "init_mysql.sh", "/"] | ||||
| COPY ["phpmyadmin.sh", "/lnmp/"] | ||||
| 
 | ||||
| # 转换启动脚本 | ||||
| RUN dos2unix /bt.sh && dos2unix /init_mysql.sh && dos2unix /lnmp/phpmyadmin.sh | ||||
| 
 | ||||
| # 下载并安装宝塔面板及 lnmp 环境 | ||||
| RUN curl -sSO https://download.bt.cn/install/install_panel.sh \ | ||||
|     && echo y | bash install_panel.sh -P 8888 --ssl-disable \ | ||||
|     && curl -o /lnmp/nginx.sh https://download.bt.cn/install/3/nginx.sh \ | ||||
|     && sh /lnmp/nginx.sh install 1.27 \  | ||||
|     && curl -o /lnmp/php.sh https://download.bt.cn/install/3/php.sh \ | ||||
|     && sh /lnmp/php.sh install 8.3 \ | ||||
|     && curl -o /lnmp/mysql.sh https://download.bt.cn/install/3/mysql.sh \ | ||||
|     && sh /lnmp/mysql.sh install 8.0 \ | ||||
|     && sh /lnmp/phpmyadmin.sh install 5.2 \ | ||||
|     && rm -rf /lnmp \ | ||||
|     && rm -rf /www/server/php/83/src \ | ||||
|     && rm -rf /www/server/mysql/mysql-test \ | ||||
|     && rm -rf /www/server/mysql/src.tar.gz \ | ||||
|     && rm -rf /www/server/mysql/src \ | ||||
|     && rm -rf /www/server/data/* \ | ||||
|     && rm -rf /www/server/nginx/src \ | ||||
|     && echo "docker_btlnmp_d11" > /www/server/panel/data/o.pl \ | ||||
|     && echo '["memuA", "memuAsite", "memuAdatabase", "memuAcontrol", "memuAfiles", "memuAlogs", "memuAxterm", "memuAcrontab", "memuAsoft", "memuAconfig", "dologin", "memu_btwaf", "memuAssl"]' > /www/server/panel/config/show_menu.json \ | ||||
|     && apt clean \ | ||||
|     && rm -rf /var/lib/apt/lists/* \ | ||||
|     && chmod +x /bt.sh \ | ||||
|     && chmod +x /init_mysql.sh | ||||
|      | ||||
| 
 | ||||
| # 配置宝塔面板安全入口和用户名及密码,以及 SSH 密码 | ||||
| RUN echo btpanel | bt 6 \ | ||||
|     && echo btpaneldocker | bt 5 \ | ||||
|     && echo "/btpanel" > /www/server/panel/data/admin_path.pl \ | ||||
|     && echo "root:btpaneldocker" | chpasswd | ||||
| 
 | ||||
| ENTRYPOINT ["/bin/sh","-c","/bt.sh"] | ||||
| 
 | ||||
| # 暴漏特定端口 | ||||
| EXPOSE 22 80 443 888 3306 8888 | ||||
| 
 | ||||
| # 健康检查 | ||||
| HEALTHCHECK --interval=5s --timeout=3s CMD prot="http"; if [ -f "/www/server/panel/data/ssl.pl" ]; then prot="https"; fi; curl -k -i $prot://127.0.0.1:$(cat /www/server/panel/data/port.pl)$(cat /www/server/panel/data/admin_path.pl) | grep -E '(200|404)' || exit 1 | ||||
							
								
								
									
										76
									
								
								arm64/bt.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								arm64/bt.sh
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,76 @@ | ||||
| #!/bin/bash | ||||
| PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin | ||||
| export PATH | ||||
| 
 | ||||
| init_path=/etc/init.d | ||||
| Root_Path=`cat /var/bt_setupPath.conf` | ||||
| Setup_Path=$Root_Path/server/mysql | ||||
| Data_Path=$Root_Path/server/data | ||||
| O_pl=$(cat /www/server/panel/data/o.pl) | ||||
| 
 | ||||
| soft_start(){ | ||||
|     # 扫描并启动所有服务 | ||||
|     init_scripts=$(ls ${init_path}) | ||||
|     for script in ${init_scripts}; do | ||||
|         case "${script}" in | ||||
|         "bt"|"mysqld"|"nginx"|"httpd") | ||||
|             continue | ||||
|             ;; | ||||
|         esac | ||||
| 
 | ||||
|         ${init_path}/${script} start | ||||
|     done | ||||
| 
 | ||||
|     if [ -f ${init_path}/nginx ]; then | ||||
|         ${init_path}/nginx start | ||||
|     elif [ -f ${init_path}/httpd ]; then | ||||
|         ${init_path}/httpd start | ||||
|     fi | ||||
| 
 | ||||
|     ${init_path}/bt stop | ||||
|     ${init_path}/bt start | ||||
| 
 | ||||
|     pkill crond | ||||
|     /sbin/crond | ||||
| 
 | ||||
|     chmod 600 /etc/ssh/ssh_host_* | ||||
|     /usr/sbin/sshd -D & | ||||
| } | ||||
| 
 | ||||
| init_mysql(){ | ||||
|     if [ "${O_pl}" != "docker_btlamp_d11" ] && [ "${O_pl}" != "docker_btlnmp_d11" ];then | ||||
|         return | ||||
|     fi | ||||
|     if [ -d "${Data_Path}" ]; then | ||||
|         check_z=$(ls "${Data_Path}") | ||||
|         echo "check_z:" | ||||
|         echo ${check_z} | ||||
|         if [[ ! -z "${check_z}" ]]; then | ||||
|             echo "check_z is not empty" | ||||
|             return | ||||
|         fi | ||||
|     fi | ||||
|     if [ -f /init_mysql.sh ] && [ -d "${Setup_Path}" ];then | ||||
|         sh /init_mysql.sh | ||||
|         rm -f /init_mysql.sh | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| is_empty_Data(){ | ||||
|     return "$(ls -A ${Data_Path}/|wc -w)" | ||||
| } | ||||
| 
 | ||||
| start_mysql(){ | ||||
|     if [ -d "${Setup_Path}" ] && [ -f "${init_path}/mysqld" ];then | ||||
|         chown -R mysql:mysql ${Data_Path} | ||||
|         chgrp -R mysql ${Setup_Path}/. | ||||
|         ${init_path}/mysqld start | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| is_empty_Data > /dev/null | ||||
| init_mysql > /dev/null | ||||
| start_mysql > /dev/null | ||||
| soft_start > /dev/null | ||||
| #tail -f /dev/null | ||||
| ${init_path}/bt log | ||||
							
								
								
									
										41
									
								
								arm64/init_mysql.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								arm64/init_mysql.sh
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | ||||
| #!/bin/bash | ||||
| PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin | ||||
| export PATH | ||||
| 
 | ||||
| Root_Path=`cat /var/bt_setupPath.conf` | ||||
| Setup_Path=$Root_Path/server/mysql | ||||
| Data_Path=$Root_Path/server/data | ||||
| 
 | ||||
| Mysql_Initialize(){ | ||||
|     if [ -d "${Data_Path}" ]; then | ||||
|         check_z=$(ls "${Data_Path}") | ||||
|         if [[ ! -z "${check_z}" ]]; then | ||||
|             return | ||||
|         fi | ||||
|     fi | ||||
| 
 | ||||
|     mkdir -p ${Data_Path} | ||||
|     chown -R mysql:mysql ${Data_Path} | ||||
|     chgrp -R mysql ${Setup_Path}/. | ||||
| 
 | ||||
|     ${Setup_Path}/bin/mysqld --initialize-insecure --basedir=${Setup_Path} --datadir=${Data_Path} --user=mysql | ||||
| 
 | ||||
|     cat > /etc/ld.so.conf.d/mysql.conf<<EOF | ||||
| ${Setup_Path}/lib | ||||
| EOF | ||||
|     ldconfig | ||||
|     ln -sf ${Setup_Path}/lib/mysql /usr/lib/mysql | ||||
|     ln -sf ${Setup_Path}/include/mysql /usr/include/mysql | ||||
|     /etc/init.d/mysqld start | ||||
| 
 | ||||
|     mysqlpwd=`cat /dev/urandom | head -n 16 | md5sum | head -c 16` | ||||
|     ${Setup_Path}/bin/mysqladmin -u root password "${mysqlpwd}" | ||||
| 
 | ||||
|     cd "${Setup_Path}" | ||||
|     rm -f src.tar.gz | ||||
|     rm -rf src | ||||
|     /etc/init.d/mysqld start | ||||
|     rm -rf /init_mysql.sh | ||||
| } | ||||
| 
 | ||||
| Mysql_Initialize | ||||
							
								
								
									
										1255
									
								
								arm64/mysql.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1255
									
								
								arm64/mysql.sh
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										108
									
								
								arm64/phpmyadmin.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								arm64/phpmyadmin.sh
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,108 @@ | ||||
| #!/bin/bash | ||||
| PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin | ||||
| export PATH | ||||
| 
 | ||||
| public_file=/www/server/panel/install/public.sh | ||||
| if [ ! -f $public_file ];then | ||||
| 	wget -O $public_file https://download.bt.cn/install/public.sh -T 5; | ||||
| fi | ||||
| . $public_file | ||||
| 
 | ||||
| download_Url=$NODE_URL | ||||
| Root_Path=`cat /var/bt_setupPath.conf` | ||||
| Setup_Path=$Root_Path/server/phpmyadmin | ||||
| webserver="" | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| Install_phpMyAdmin() | ||||
| { | ||||
| 	if [ -d "${Root_Path}/server/apache"  ];then | ||||
| 		webserver='apache' | ||||
| 	elif [ -d "${Root_Path}/server/nginx"  ];then | ||||
| 		webserver='nginx' | ||||
| 	elif [ -f "/usr/local/lsws/bin/lswsctrl" ];then | ||||
| 		webserver='openlitespeed' | ||||
| 	fi | ||||
| 
 | ||||
| 	if [ "${webserver}" == "" ];then | ||||
| 		echo "No Web server installed!" | ||||
| 		exit 0; | ||||
| 	fi | ||||
| 	 | ||||
|     PHPVersion="" | ||||
| 	for phpVer in 52 53 54 55 56 70 71 72 73 74 80 81 82 83; | ||||
| 	do | ||||
| 		if [ -d "/www/server/php/${phpVer}/bin" ]; then | ||||
| 			PHPVersion=${phpVer} | ||||
| 		fi | ||||
| 	done | ||||
| 	 | ||||
| 	if [ -z $PHPVersion ];then | ||||
| 	    echo "======================================" | ||||
| 	    echo "当前没有可用php,停止安装!" | ||||
| 	    echo "请先安装好php后再进行安装phpmyadmin!" | ||||
| 	    exit 1; | ||||
| 	fi | ||||
| 	 | ||||
| 	wget -O phpMyAdmin.zip $download_Url/src/phpMyAdmin-${1}.zip -T20 | ||||
| 	mkdir -p $Setup_Path | ||||
| 
 | ||||
| 	unzip -o phpMyAdmin.zip -d $Setup_Path/ > /dev/null | ||||
| 	rm -f phpMyAdmin.zip | ||||
| 	rm -rf $Root_Path/server/phpmyadmin/phpmyadmin* | ||||
| 	 | ||||
| 	 | ||||
| 	phpmyadminExt=`cat /dev/urandom | head -n 32 | md5sum | head -c 16`; | ||||
| 	mv $Setup_Path/databaseAdmin $Setup_Path/phpmyadmin_$phpmyadminExt | ||||
| 	chmod -R 755 $Setup_Path/phpmyadmin_$phpmyadminExt | ||||
| 	chown -R www.www $Setup_Path/phpmyadmin_$phpmyadminExt | ||||
| 	chmod 755 /www/server/phpmyadmin | ||||
| 	 | ||||
| 	secret=`cat /dev/urandom | head -n 32 | md5sum | head -c 32`; | ||||
| 	\cp -a -r $Setup_Path/phpmyadmin_$phpmyadminExt/config.sample.inc.php  $Setup_Path/phpmyadmin_$phpmyadminExt/config.inc.php | ||||
| 	sed -i "s#^\$cfg\['blowfish_secret'\].*#\$cfg\['blowfish_secret'\] = '${secret}';#" $Setup_Path/phpmyadmin_$phpmyadminExt/config.inc.php | ||||
| 	sed -i "s#^\$cfg\['blowfish_secret'\].*#\$cfg\['blowfish_secret'\] = '${secret}';#" $Setup_Path/phpmyadmin_$phpmyadminExt/libraries/config.default.php | ||||
| 	 | ||||
| 	echo $1 > $Setup_Path/version.pl | ||||
| 	 | ||||
| 
 | ||||
| 
 | ||||
| 	if [ "${webserver}" == "nginx" ];then | ||||
| 		sed -i "s#$Root_Path/wwwroot/default#$Root_Path/server/phpmyadmin#" $Root_Path/server/nginx/conf/nginx.conf | ||||
| 		rm -f $Root_Path/server/nginx/conf/enable-php.conf | ||||
| 		\cp $Root_Path/server/nginx/conf/enable-php-$PHPVersion.conf $Root_Path/server/nginx/conf/enable-php.conf | ||||
| 		sed -i "/pathinfo/d" $Root_Path/server/nginx/conf/enable-php.conf | ||||
| 		if [ ! -f "/www/server/nginx/conf/enable-php.conf" ];then | ||||
|             touch /www/server/nginx/conf/enable-php.conf | ||||
| 		fi | ||||
| 		/etc/init.d/nginx reload | ||||
| 		 | ||||
| 		PMA_PORT=$(cat $Root_Path/server/nginx/conf/nginx.conf|grep "listen "|grep -oE '[0-9]+') | ||||
| 	else | ||||
| 		sed -i "s#$Root_Path/wwwroot/default#$Root_Path/server/phpmyadmin#" $Root_Path/server/apache/conf/extra/httpd-vhosts.conf | ||||
| 		sed -i "0,/php-cgi/ s/php-cgi-\w*\.sock/php-cgi-${PHPVersion}.sock/" $Root_Path/server/apache/conf/extra/httpd-vhosts.conf | ||||
| 		/etc/init.d/httpd reload | ||||
| 		 | ||||
| 		PMA_PORT=$(cat /www/server/apache/conf/extra/httpd-vhosts.conf |grep "Listen "|grep -oE '[0-9]+') | ||||
| 	fi | ||||
| 	 | ||||
| 	echo ${PMA_PORT} > /www/server/phpmyadmin/port.pl | ||||
| 	 | ||||
| } | ||||
| 
 | ||||
| Uninstall_phpMyAdmin() | ||||
| { | ||||
| 	rm -rf $Root_Path/server/phpmyadmin/phpmyadmin* | ||||
| 	rm -f $Root_Path/server/phpmyadmin/version.pl | ||||
| 	rm -f $Root_Path/server/phpmyadmin/version_check.pl | ||||
| } | ||||
| 
 | ||||
| actionType=$1 | ||||
| version=$2 | ||||
| 
 | ||||
| if [ "$actionType" == 'install' ];then | ||||
| 	Install_phpMyAdmin $version | ||||
| elif [ "$actionType" == 'uninstall' ];then | ||||
| 	Uninstall_phpMyAdmin | ||||
| fi | ||||
							
								
								
									
										24
									
								
								bt.sh
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								bt.sh
									
									
									
									
									
								
							| @ -8,24 +8,6 @@ Setup_Path=$Root_Path/server/mysql | ||||
| Data_Path=$Root_Path/server/data | ||||
| O_pl=$(cat /www/server/panel/data/o.pl) | ||||
| 
 | ||||
| backup_database() { | ||||
|   if [ -d "${Data_Path}" ] && [ ! -z "$(ls -A ${Data_Path})" ]; then | ||||
|     if [ ! -d "${Setup_Path}" ] || [ -z "$(ls -A ${Setup_Path})" ]; then | ||||
|       timestamp=$(date +"%s") | ||||
|       tar czf /www/server/data_backup_$timestamp.tar.gz -C ${Data_Path} . | ||||
|     fi | ||||
|   fi | ||||
| } | ||||
| 
 | ||||
| restore_panel_data() { | ||||
|   if [ -f /www.tar.gz ]; then | ||||
|     if [ ! -d /www ] || [ -z "$(ls -A /www)" ] || [ ! -d /www/server/panel ] || [ -z "$(ls -A /www/server/panel)" ] || [ ! -d /www/server/panel/pyenv ] || [ -z "$(ls -A /www/server/panel/pyenv)" ]; then | ||||
|       tar xzf /www.tar.gz -C / --skip-old-files | ||||
|       rm -rf /www.tar.gz | ||||
|     fi | ||||
|   fi | ||||
| } | ||||
| 
 | ||||
| soft_start(){ | ||||
|     # 扫描并启动所有服务 | ||||
|     init_scripts=$(ls ${init_path}) | ||||
| @ -56,7 +38,7 @@ soft_start(){ | ||||
| } | ||||
| 
 | ||||
| init_mysql(){ | ||||
|     if [ "${O_pl}" != "docker_btlamp_d12" ] && [ "${O_pl}" != "docker_btlnmp_d12" ];then | ||||
|     if [ "${O_pl}" != "docker_btlamp_d11" ] && [ "${O_pl}" != "docker_btlnmp_d11" ];then | ||||
|         return | ||||
|     fi | ||||
|     if [ -d "${Data_Path}" ]; then | ||||
| @ -69,7 +51,7 @@ init_mysql(){ | ||||
|         fi | ||||
|     fi | ||||
|     if [ -f /init_mysql.sh ] && [ -d "${Setup_Path}" ];then | ||||
|         bash /init_mysql.sh | ||||
|         sh /init_mysql.sh | ||||
|         rm -f /init_mysql.sh | ||||
|     fi | ||||
| } | ||||
| @ -86,8 +68,6 @@ start_mysql(){ | ||||
|     fi | ||||
| } | ||||
| 
 | ||||
| restore_panel_data > /dev/null | ||||
| backup_database > /dev/null | ||||
| is_empty_Data > /dev/null | ||||
| init_mysql > /dev/null | ||||
| start_mysql > /dev/null | ||||
|  | ||||
							
								
								
									
										108
									
								
								phpmyadmin.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								phpmyadmin.sh
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,108 @@ | ||||
| #!/bin/bash | ||||
| PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin | ||||
| export PATH | ||||
| 
 | ||||
| public_file=/www/server/panel/install/public.sh | ||||
| if [ ! -f $public_file ];then | ||||
| 	wget -O $public_file https://download.bt.cn/install/public.sh -T 5; | ||||
| fi | ||||
| . $public_file | ||||
| 
 | ||||
| download_Url=$NODE_URL | ||||
| Root_Path=`cat /var/bt_setupPath.conf` | ||||
| Setup_Path=$Root_Path/server/phpmyadmin | ||||
| webserver="" | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| Install_phpMyAdmin() | ||||
| { | ||||
| 	if [ -d "${Root_Path}/server/apache"  ];then | ||||
| 		webserver='apache' | ||||
| 	elif [ -d "${Root_Path}/server/nginx"  ];then | ||||
| 		webserver='nginx' | ||||
| 	elif [ -f "/usr/local/lsws/bin/lswsctrl" ];then | ||||
| 		webserver='openlitespeed' | ||||
| 	fi | ||||
| 
 | ||||
| 	if [ "${webserver}" == "" ];then | ||||
| 		echo "No Web server installed!" | ||||
| 		exit 0; | ||||
| 	fi | ||||
| 	 | ||||
|     PHPVersion="" | ||||
| 	for phpVer in 52 53 54 55 56 70 71 72 73 74 80 81 82 83; | ||||
| 	do | ||||
| 		if [ -d "/www/server/php/${phpVer}/bin" ]; then | ||||
| 			PHPVersion=${phpVer} | ||||
| 		fi | ||||
| 	done | ||||
| 	 | ||||
| 	if [ -z $PHPVersion ];then | ||||
| 	    echo "======================================" | ||||
| 	    echo "当前没有可用php,停止安装!" | ||||
| 	    echo "请先安装好php后再进行安装phpmyadmin!" | ||||
| 	    exit 1; | ||||
| 	fi | ||||
| 	 | ||||
| 	wget -O phpMyAdmin.zip $download_Url/src/phpMyAdmin-${1}.zip -T20 | ||||
| 	mkdir -p $Setup_Path | ||||
| 
 | ||||
| 	unzip -o phpMyAdmin.zip -d $Setup_Path/ > /dev/null | ||||
| 	rm -f phpMyAdmin.zip | ||||
| 	rm -rf $Root_Path/server/phpmyadmin/phpmyadmin* | ||||
| 	 | ||||
| 	 | ||||
| 	phpmyadminExt=`cat /dev/urandom | head -n 32 | md5sum | head -c 16`; | ||||
| 	mv $Setup_Path/databaseAdmin $Setup_Path/phpmyadmin_$phpmyadminExt | ||||
| 	chmod -R 755 $Setup_Path/phpmyadmin_$phpmyadminExt | ||||
| 	chown -R www.www $Setup_Path/phpmyadmin_$phpmyadminExt | ||||
| 	chmod 755 /www/server/phpmyadmin | ||||
| 	 | ||||
| 	secret=`cat /dev/urandom | head -n 32 | md5sum | head -c 32`; | ||||
| 	\cp -a -r $Setup_Path/phpmyadmin_$phpmyadminExt/config.sample.inc.php  $Setup_Path/phpmyadmin_$phpmyadminExt/config.inc.php | ||||
| 	sed -i "s#^\$cfg\['blowfish_secret'\].*#\$cfg\['blowfish_secret'\] = '${secret}';#" $Setup_Path/phpmyadmin_$phpmyadminExt/config.inc.php | ||||
| 	sed -i "s#^\$cfg\['blowfish_secret'\].*#\$cfg\['blowfish_secret'\] = '${secret}';#" $Setup_Path/phpmyadmin_$phpmyadminExt/libraries/config.default.php | ||||
| 	 | ||||
| 	echo $1 > $Setup_Path/version.pl | ||||
| 	 | ||||
| 
 | ||||
| 
 | ||||
| 	if [ "${webserver}" == "nginx" ];then | ||||
| 		sed -i "s#$Root_Path/wwwroot/default#$Root_Path/server/phpmyadmin#" $Root_Path/server/nginx/conf/nginx.conf | ||||
| 		rm -f $Root_Path/server/nginx/conf/enable-php.conf | ||||
| 		\cp $Root_Path/server/nginx/conf/enable-php-$PHPVersion.conf $Root_Path/server/nginx/conf/enable-php.conf | ||||
| 		sed -i "/pathinfo/d" $Root_Path/server/nginx/conf/enable-php.conf | ||||
| 		if [ ! -f "/www/server/nginx/conf/enable-php.conf" ];then | ||||
|             touch /www/server/nginx/conf/enable-php.conf | ||||
| 		fi | ||||
| 		/etc/init.d/nginx reload | ||||
| 		 | ||||
| 		PMA_PORT=$(cat $Root_Path/server/nginx/conf/nginx.conf|grep "listen "|grep -oE '[0-9]+') | ||||
| 	else | ||||
| 		sed -i "s#$Root_Path/wwwroot/default#$Root_Path/server/phpmyadmin#" $Root_Path/server/apache/conf/extra/httpd-vhosts.conf | ||||
| 		sed -i "0,/php-cgi/ s/php-cgi-\w*\.sock/php-cgi-${PHPVersion}.sock/" $Root_Path/server/apache/conf/extra/httpd-vhosts.conf | ||||
| 		/etc/init.d/httpd reload | ||||
| 		 | ||||
| 		PMA_PORT=$(cat /www/server/apache/conf/extra/httpd-vhosts.conf |grep "Listen "|grep -oE '[0-9]+') | ||||
| 	fi | ||||
| 	 | ||||
| 	echo ${PMA_PORT} > /www/server/phpmyadmin/port.pl | ||||
| 	 | ||||
| } | ||||
| 
 | ||||
| Uninstall_phpMyAdmin() | ||||
| { | ||||
| 	rm -rf $Root_Path/server/phpmyadmin/phpmyadmin* | ||||
| 	rm -f $Root_Path/server/phpmyadmin/version.pl | ||||
| 	rm -f $Root_Path/server/phpmyadmin/version_check.pl | ||||
| } | ||||
| 
 | ||||
| actionType=$1 | ||||
| version=$2 | ||||
| 
 | ||||
| if [ "$actionType" == 'install' ];then | ||||
| 	Install_phpMyAdmin $version | ||||
| elif [ "$actionType" == 'uninstall' ];then | ||||
| 	Uninstall_phpMyAdmin | ||||
| fi | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user