记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

Alpine 中安装 1Panel 面板

Alpine 中安装 1Panel 面板

Alpine直接安装1Panel面板会提示系统不支持,但是1Panel面板 其实就是docker运行的,故可以手动安装docker组件,解决系统程序问题后,就可以直接安装1Panel面板了。
1.修改为国内源
XML/HTML代码
  1. sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
  2. sed -i 's/#http/http/g' /etc/apk/repositories
  3. apk update && apk upgrade
2.安装一些必要的组件
XML/HTML代码
  1. apk add bash curl nano docker docker-cli-compose
  2. rc-service docker start
  3. rc-update add docker
3.将 systemctl 转译为 OpenRC,保存
nano /usr/local/bin/systemctl
XML/HTML代码
  1. #!/bin/sh
  2. action=${1}
  3. service=$(echo ${2} | sed 's/\.\(service\|socket\)//g')
  4. # Helper function to print usage
  5. print_usage() {
  6. echo "Unsupported systemctl command: ${action}"
  7. echo "Supported commands: start, stop, restart, reload, status, enable, disable, is-enabled, is-active, show, list-units"
  8. exit 1
  9. }
  10.  
  11. case "${action}" in
  12. start)
  13. rc-service "${service}" start
  14. ;;
  15. stop)
  16. rc-service "${service}" stop
  17. ;;
  18. restart)
  19. rc-service "${service}" restart
  20. ;;
  21. reload)
  22. rc-service "${service}" reload || echo "Service ${service} does not support reload; attempting restart" && rc-service "${service}" restart
  23. ;;
  24. daemon-reload)
  25. return 0
  26. ;;
  27. status)
  28. if rc-service "${service}" status | grep -q "started"; then
  29. echo "Active: active (running) "
  30. else
  31. echo "Active: inactive (dead) "
  32. exit 1
  33. fi
  34. ;;
  35. enable)
  36. rc-update add "${service}"
  37. ;;
  38. disable)
  39. rc-update del "${service}"
  40. ;;
  41. is-enabled)
  42. if rc-update show | grep -q "^[[:space:]]*${service}"; then
  43. echo "enabled"
  44. else
  45. echo "disabled"
  46. exit 1
  47. fi
  48. ;;
  49. is-active)
  50. if rc-service "${service}" status | grep -q "started"; then
  51. echo "active"
  52. else
  53. echo "inactive"
  54. exit 1
  55. fi
  56. ;;
  57. show)
  58. echo "OpenRC does not support 'show' directly. Check service files in /etc/init.d or /etc/conf.d." 
  59. ;;
  60. list-units)
  61. rc-update show
  62. ;;
  63. *)
  64. print_usage "${action}"
  65. ;;
  66. esac
修改属性:
chmod +x /usr/local/bin/systemctl
4.保存
nano /etc/init.d/1panel-core
XML/HTML代码
  1. #!/sbin/openrc-run
  2.  
  3. directory=$(grep BASE_DIR= /usr/local/bin/1pctl 2>/dev/null | awk -F'{print $2"/1panel"}')
  4. directory=${directory:-/opt/1panel}
  5. command="/usr/bin/1panel-core"
  6. command_background=true
  7. description="1Panel, a modern open source linux panel"
  8. rc_ulimit="-n 50000"
  9. rc_cgroup_cleanup="yes"
  10. required_dirs=${directory}
  11. required_files=${command}
  12. pidfile="/var/run/${RC_SVCNAME}.pid"
  13.  
  14. depend() {
  15. need networking
  16. use logger dns
  17. after firewall syslog
  18. }
修改属性:
chmod +x /etc/init.d/1panel-core
5保存
nano /etc/init.d/1panel-agent
XML/HTML代码
  1. #!/sbin/openrc-run
  2.  
  3. directory=$(grep BASE_DIR= /usr/local/bin/1pctl 2>/dev/null | awk -F'{print $2"/1panel"}')
  4. directory=${directory:-/opt/1panel}
  5. command="/usr/bin/1panel-agent"
  6. command_background=true
  7. description="1Panel, a modern open source linux panel"
  8. rc_ulimit="-n 50000"
  9. rc_cgroup_cleanup="yes"
  10. required_dirs=${directory}
  11. required_files=${command}
  12. pidfile="/var/run/${RC_SVCNAME}.pid"
  13.  
  14. depend() {
  15. need networking
  16. use logger dns
  17. after firewall syslog
  18. }
修改属性:
chmod +x /etc/init.d/1panel-agent
6..按正常方式安装1panel
XML/HTML代码
  1. bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
安装后会停留在中途,不显示最后的各类信息,可以CTRL+C强行中止,再重启一下系统,就可以正常登录后台。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):