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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file inpanel-1.2.3.tar.gz.
File metadata
- Download URL: inpanel-1.2.3.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0804099a634e52bdc576eec5247d03c1555de474530995722ac06c823925e766
|
|
| MD5 |
5256b37bec6a3823484299fc4f08126b
|
|
| BLAKE2b-256 |
fbb91f7466808a95e863f89a4c046c5da165ab268bc3cfc42a95ce93b71bedb2
|
File details
Details for the file inpanel-1.2.3-py3-none-any.whl.
File metadata
- Download URL: inpanel-1.2.3-py3-none-any.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01235d7644c1dcaac8e894b1cff62a82c12fb458b4d5a785adece6403f0b6266
|
|
| MD5 |
995acf31c96908bd97d9a08d77fc541b
|
|
| BLAKE2b-256 |
87e31e4c52f495a72cf91064ed6af55e1a7b17a3a30d04fcd85533936c31f9dc
|