Compare commits
	
		
			49 Commits
		
	
	
		
			main
			...
			lamp_bulls
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | df1c0a1a75 | ||
|   | ee3ff7a659 | ||
|   | 6486a010bb | ||
|   | e9b4d2c505 | ||
|   | 675f549e00 | ||
|   | beb0d11eca | ||
|   | 35a4d9fdfc | ||
|   | 88535b06f8 | ||
|   | 81cfe42568 | ||
|   | 23ae28fa4d | ||
|   | 9d4a6b0d94 | ||
|   | ccdba79f39 | ||
|   | 21a6d9f8d4 | ||
|   | c16e58d6af | ||
|   | 3e00262bb5 | ||
|   | 059280337d | ||
|   | 6dbeed953b | ||
|   | c1b1d8749b | ||
|   | e76337a279 | ||
|   | d93c4bf0f7 | ||
|   | 34b1e37bee | ||
|   | 791c7fd497 | ||
|   | 14a19fd4cf | ||
|   | 0e7bb1d81b | ||
|   | 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 | 
							
								
								
									
										121
									
								
								.cnb.yml
									
									
									
									
									
								
							
							
						
						
									
										121
									
								
								.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,12 +12,13 @@ $: | ||||
|         - docker | ||||
|       imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml | ||||
|       env: | ||||
|         IMAGE_TAG: btpanel/baota:latest-linux-amd64 | ||||
|         IMAGE_TAG: btpanel/baota:lamp_debian11-linux-amd64 | ||||
|       stages: | ||||
|         - name: docker login | ||||
|           script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD" | ||||
|         - name: docker build | ||||
|           script: docker build -t ${IMAGE_TAG} . | ||||
|           timeout: 3600s | ||||
|         - name: docker push | ||||
|           script: docker push ${IMAGE_TAG} | ||||
|         - name: resolve | ||||
| @ -53,15 +28,17 @@ $: | ||||
|            | ||||
|     - 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:lamp_debian11-linux-arm64 | ||||
|       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} | ||||
| @ -69,12 +46,14 @@ $: | ||||
|           type: cnb:resolve | ||||
|           options: | ||||
|             key: build-arm64 | ||||
| 
 | ||||
|     - 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:lamp_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 }} | ||||
|      | ||||
							
								
								
									
										34
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								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,16 +17,30 @@ 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", "/lamp/"] | ||||
| 
 | ||||
| # 转换启动脚本 | ||||
| RUN dos2unix /bt.sh && dos2unix /init_mysql.sh | ||||
| 
 | ||||
| # 下载并安装宝塔面板及 lnmp 环境 | ||||
| # 下载并安装宝塔面板及 lamp 环境 | ||||
| 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 \ | ||||
|     && echo y | bash install_panel.sh -P 8888 --ssl-disable | ||||
| 
 | ||||
| RUN curl -o /lamp/apache.sh https://download.bt.cn/install/0/apache.sh \ | ||||
|     && sh /lamp/apache.sh install 2.4 \  | ||||
|     && curl -o /lamp/php.sh https://download.bt.cn/install/3/php.sh \ | ||||
|     && sh /lamp/php.sh install 8.3 \ | ||||
|     && curl -o /lamp/mysql.sh https://download.bt.cn/install/4/mysql.sh \ | ||||
|     && sh /lamp/mysql.sh install 8.0 \ | ||||
|     && sh /lamp/phpmyadmin.sh install 5.2 \ | ||||
|     && rm -rf /lamp \ | ||||
|     && 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/apache/src \ | ||||
|     && echo "docker_btlamp_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 +53,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`镜像打包,仅安装了宝塔面板,体积较小。 | ||||
| 
 | ||||
							
								
								
									
										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