2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-04 16:10:59 +08:00

fix: 优化 Pure-Ftpd systemd 文件

This commit is contained in:
耗子
2023-10-30 02:34:11 +08:00
parent 7b0221a7a6
commit ef79f043a3
3 changed files with 8 additions and 27 deletions

View File

@@ -5,6 +5,7 @@ import (
"strings"
"github.com/goravel/framework/contracts/http"
"github.com/spf13/cast"
"panel/app/http/controllers"
"panel/pkg/tools"
@@ -41,26 +42,6 @@ func (c *PureFtpdController) Status(ctx http.Context) http.Response {
}
}
// Reload 重载配置
func (c *PureFtpdController) Reload(ctx http.Context) http.Response {
check := controllers.Check(ctx, "pureftpd")
if check != nil {
return check
}
tools.Exec("systemctl reload pure-ftpd")
status := tools.Exec("systemctl status pure-ftpd | grep Active | grep -v grep | awk '{print $2}'")
if len(status) == 0 {
return controllers.Error(ctx, http.StatusInternalServerError, "获取PureFtpd状态失败")
}
if status == "active" {
return controllers.Success(ctx, true)
} else {
return controllers.Success(ctx, false)
}
}
// Restart 重启服务
func (c *PureFtpdController) Restart(ctx http.Context) http.Response {
check := controllers.Check(ctx, "pureftpd")
@@ -273,7 +254,7 @@ func (c *PureFtpdController) GetPort(ctx http.Context) http.Response {
return controllers.Error(ctx, http.StatusInternalServerError, "获取PureFtpd端口失败")
}
return controllers.Success(ctx, port)
return controllers.Success(ctx, cast.ToInt(port))
}
// SetPort 设置端口

View File

@@ -232,13 +232,12 @@ func Plugin() {
facades.Route().Prefix("api/plugins/pureftpd").Middleware(middleware.Jwt()).Group(func(route route.Router) {
pureFtpdController := pureftpd.NewPureFtpdController()
route.Get("status", pureFtpdController.Status)
route.Post("reload", pureFtpdController.Reload)
route.Post("start", pureFtpdController.Start)
route.Post("stop", pureFtpdController.Stop)
route.Post("restart", pureFtpdController.Restart)
route.Get("list", pureFtpdController.List)
route.Post("add", pureFtpdController.Add)
route.Post("delete", pureFtpdController.Delete)
route.Delete("delete", pureFtpdController.Delete)
route.Post("changePassword", pureFtpdController.ChangePassword)
route.Get("port", pureFtpdController.GetPort)
route.Post("port", pureFtpdController.SetPort)

View File

@@ -81,11 +81,12 @@ sed -i 's!LimitRecursion\s*10000 8!LimitRecursion 20000 8!' ${pureftpdPath}/etc/
sed -i 's!# TLS!TLS!' ${pureftpdPath}/etc/pure-ftpd.conf
sed -i "s!# CertFile\s*/etc/ssl/private/pure-ftpd.pem!CertFile ${pureftpdPath}/etc/pure-ftpd.pem!" ${pureftpdPath}/etc/pure-ftpd.conf
sed -i 's!# Bind\s*127.0.0.1,21!Bind 0.0.0.0,21!' ${pureftpdPath}/etc/pure-ftpd.conf
sed -i "s!# PIDFile\s*/var/run/pure-ftpd.pid!PIDFile ${pureftpdPath}/etc/pure-ftpd.pid!" ${pureftpdPath}/etc/pure-ftpd.conf
touch ${pureftpdPath}/etc/pureftpd.passwd
touch ${pureftpdPath}/etc/pureftpd.pdb
openssl dhparam -out ${pureftpdPath}/etc/pure-ftpd-dhparams.pem 2048
openssl req -x509 -nodes -days 3560 -newkey rsa:2048 -sha256 -keyout ${pureftpdPath}/etc/pure-ftpd.pem -out ${pureftpdPath}/etc/pure-ftpd.pem << EOF
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -sha256 -keyout ${pureftpdPath}/etc/pure-ftpd.pem -out ${pureftpdPath}/etc/pure-ftpd.pem << EOF
CN
Beijing
Beijing
@@ -102,13 +103,13 @@ ln -sf ${pureftpdPath}/bin/pure-pw /usr/bin/pure-pw
cat > /etc/systemd/system/pure-ftpd.service << EOF
[Unit]
Description=Pure-FTPd FTP server
After=network.target
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/var/run/pure-ftpd.pid
PIDFile=${pureftpdPath}/etc/pure-ftpd.pid
ExecStart=${pureftpdPath}/sbin/pure-ftpd ${pureftpdPath}/etc/pure-ftpd.conf
ExecReload=/bin/kill -HUP \$MAINPID
ExecStartPost=/bin/sleep 2
ExecStop=/bin/kill -TERM \$MAINPID
[Install]