Skip to main content

InPanel - A Web-based Linux Server Management Tool

Project description

InPanel

简体中文 | English

InPanel 是一款轻量级、非入侵式的 Linux 系统级运维管理面板,致力于通过 Web 界面实现高效、安全的服务器运维管理。

后端采用 Python 语言编写,基于 Tornado 异步框架,采用 BSD 3-Clause 开源许可证。项目于 2017 年 1 月 11 日启动,持续维护至今。

官方中文站:inpanel.cn

PyPI:inpanel

项目维护者:Jackson Dou

功能特性

核心优势

  • 系统级运维:直接操作系统原生配置文件(/etc/passwd、Nginx vhost、防火墙规则等),不依赖中间层
  • 极低入侵度:纯 UI 层面管理,不修改系统核心架构,卸载后系统无残留、无依赖
  • 轻量高效:内存占用仅 30-40MB,资源消耗极低,适合 VPS/轻量服务器环境
  • 全功能免费:开源 BSD 许可证,所有功能无限制使用,无付费墙

系统管理

  • 用户与权限管理(系统用户、SSH 密钥、sudo 权限)
  • 进程管理与监控(进程查看、终止、资源统计)
  • 服务管理(systemd/init.d 服务启停、自启配置)
  • 防火墙管理(iptables/firewalld 规则配置)

网站运维

  • Nginx 虚拟主机管理(配置、SSL、重定向)
  • Apache HTTP Server 管理(虚拟主机、模块配置)
  • PHP 环境管理(版本切换、配置调整)
  • MySQL/MariaDB 管理(数据库、用户、权限)
  • FTP 服务管理(vsftpd 配置、用户管理)

文件管理

  • 强大的在线文件管理器(上传、下载、编辑、压缩)
  • 回收站机制(误删文件可恢复)
  • 文件权限管理(chmod、chown)
  • 远程文件管理(SSH 连接其他服务器)

系统工具

  • 系统资源监控(CPU、内存、磁盘、网络)
  • 软件包管理(YUM/DNF/APT 包管理)
  • 计划任务(Crontab 管理)
  • 系统更新(自动更新检测与安装)
  • SSL 证书管理(Let's Encrypt 自动签发)

兼容性

  • CentOS/RHEL 7+、Debian 10+、Ubuntu 18.04+
  • Python 3.6+(兼容至 Python 3.14)

版本兼容

Python 版本 状态
Python 3.6 ✅ 兼容
Python 3.7+ ✅ 兼容
Python 3.12-3.14 ✅ 兼容(需 tornado>=6.5)
Python 3.5 及以下 ❌ 不支持

安装

方法一:通过 pip 安装

pip install inpanel

方法二:通过包管理器安装

CentOS / RHEL

# CentOS 8+ / RHEL 8+
dnf install inpanel

# CentOS 7 / RHEL 7
yum install inpanel

Debian / Ubuntu

apt-get update
apt-get install inpanel

方法三:源码安装

# 克隆源码
git clone https://github.com/inpanel/inpanel.git
cd inpanel

# 开发模式安装(修改代码立即生效)
pip install -e .

# 生产模式安装
pip install .

服务管理

# 启动服务(后台运行)
inpanel start

# 停止服务
inpanel stop

# 查看服务状态
inpanel status

# 重启服务
inpanel restart

# 重新加载配置(重启服务)
inpanel reload

# 前台运行(用于调试或 systemd)
inpanel run

配置

查看所有配置项

inpanel config list

修改用户名和密码

inpanel config set auth username 'your-username'
inpanel config set auth password 'your-password'

修改单个配置项

inpanel config set <section> <option> <value>

# 示例:修改端口
inpanel config set server port 14433

# 示例:启用 HTTPS
inpanel config set server forcehttps on

查看配置项

inpanel config get <section> <option>

# 示例:查看端口
inpanel config get server port

重置配置

# 重置为默认配置
inpanel config reset

# 初始化配置文件(首次安装)
inpanel config init

卸载

方法一:使用官方命令卸载(推荐)

# 默认卸载(保留配置文件和日志)
inpanel uninstall

# 完全卸载(删除配置文件和日志)
inpanel uninstall --purge

# 仅删除配置文件
inpanel uninstall --purge-config

# 仅删除日志文件
inpanel uninstall --purge-logs

方法二:使用包管理器卸载

通过 pip 安装的情况

# 停止服务
inpanel stop

# 卸载包
pip uninstall inpanel

通过 RPM 包安装的情况(CentOS/RHEL)

# 保留配置文件卸载
yum remove inpanel

# 完全卸载(删除配置文件)
yum erase inpanel

通过 DEB 包安装的情况(Debian/Ubuntu)

# 保留配置文件卸载
apt-get remove inpanel

# 完全卸载(删除配置文件)
apt-get purge inpanel

方法三:手动卸载(备用)

# 停止服务
inpanel stop

# 卸载 Python 包
pip uninstall inpanel

# 删除配置文件
rm -rf /etc/inpanel

# 删除日志文件
rm -rf /var/log/inpanel

# 删除 systemd 服务
rm -f /usr/lib/systemd/system/inpanel.service
rm -f /etc/systemd/system/inpanel.service
systemctl daemon-reload

# 删除 init.d 脚本
rm -f /etc/init.d/inpanel

卸载注意事项

InPanel 采用非入侵式架构设计,所有操作均基于系统原生配置文件,卸载后具有以下特性:

特性 说明
无残留依赖 卸载仅移除 InPanel 自身组件,不影响系统原有依赖包
配置文件保留 默认卸载保留配置文件(/etc/inpanel/),便于后续重新安装恢复配置
系统服务不受影响 通过 InPanel 配置的 Nginx、MySQL、PHP 等服务继续正常运行
用户数据安全 网站文件、数据库等用户数据不受卸载影响
进程干净退出 卸载前自动停止 InPanel 服务并清理 PID 文件

卸载后系统状态

  • /etc/passwd/etc/group 等系统用户配置保持不变
  • Nginx vhost 配置、防火墙规则等保持不变
  • 已安装的软件包(Nginx、MySQL、PHP 等)保持不变
  • 仅移除 InPanel 服务进程、配置目录和日志文件

提示:如需完全清理所有数据,请使用 inpanel uninstall --purge 命令。

本地开发

环境要求

  • Python 3.6+
  • pip 20.0+

开发步骤

# 1. 克隆源码
git clone https://github.com/inpanel/inpanel.git
cd inpanel

# 2. 创建虚拟环境(推荐)
python3 -m venv venv
source venv/bin/activate

# 3. 安装依赖和开发模式
pip install -e .

# 4. 启动开发服务器(前台运行,支持热重载)
inpanel run

开发模式特点

  • 配置文件位于项目目录的 data/ 文件夹下
  • 日志文件位于项目目录的 data/ 文件夹下
  • 修改代码后无需重新安装,直接生效
  • 默认启用 DEBUG 模式

构建安装包

# 构建 pip 包
pip install build
python -m build

# 构建 RPM 包(需要 rpmbuild)
rpmbuild -bb rpmbuild.spec

# 构建 DEB 包(需要 debuild)
debuild -us -uc

账号和密码

默认用户名:admin

默认密码:admin

首次登录后请及时修改密码:

inpanel config set auth password 'new-password'

授权许可

本项目采用 BSD 开源授权许可证,完整的授权说明已放置在 LICENSE 文件中。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

inpanel-1.2.4.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

inpanel-1.2.4-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file inpanel-1.2.4.tar.gz.

File metadata

  • Download URL: inpanel-1.2.4.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for inpanel-1.2.4.tar.gz
Algorithm Hash digest
SHA256 b1b10af1dbd61624d2953400f434c86d3a25031b0852584e3b3624cbfd806cfe
MD5 1e277e6a0ff8b73821863bf8a6d2d76a
BLAKE2b-256 0b9fdb501bcf0ea05eebfe2499a578d5dcb4dbc91c261370de1d7eeaa93d161b

See more details on using hashes here.

File details

Details for the file inpanel-1.2.4-py3-none-any.whl.

File metadata

  • Download URL: inpanel-1.2.4-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for inpanel-1.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 44a63d9ebf018ab902a04591d98ab661219799e11bed7053e313b9b3d68b806e
MD5 c368a6e7590b3a952adcd3066d2dc5b8
BLAKE2b-256 074b3e7b32cfad0bda22851dc807e424f699526de236eb548a5d4206893a2570

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page