acs / acspanel-core
ACSPanel 核心包。它将所有其他包集成到完整的 Symfony2 服务器管理解决方案中。
Requires
- php: >=5.3.3
- acs/acspanel-settings: dev-master
- acs/acspanel-wordpress: dev-master
- friendsofsymfony/user-bundle: 2.0.*@dev
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-14 14:51:49 UTC
README
欢迎使用 ACSPanel - 用 Symfony2 编写的服务器管理工具
本文档包含有关如何下载、安装和开始使用 ACSPanel 的信息。
功能
- 多服务器:ACSPanel 可以是去中心化的,您可以为每个服务拥有任意数量的服务器。每个服务器都将知道它需要做什么。
- 基于角色的用户系统:ACSPanel 有 4 个基本角色,超级管理员、管理员、经销商和最终用户。每个角色都有其基于权限和分配计划的不同可用操作。
- 计划系统:ACSPanel 与自定义计划一起工作,您可以创建不同的计划来管理您的资源。
- 日志记录操作:数据库中的每个更改都会记录在数据库中。您可以知道任何人的操作,也可以检查更改并回滚到实体(即将推出...)。感谢 StofDoctrineExtensionsBundle 和 DoctrineExtensions
- 可定制主题。感谢 LiipThemeBundle,(需要 GUI 设计师)
- 移动前端(即将推出...)
- WordPress 农场:见 PanelWordpressBundle
- 多语言:每个用户都可以选择首选语言。(需要翻译人员)
它是如何工作的
ACSPanel 仅仅是自定义数据库的前端,其中包含与您的服务相关的所有信息。所有服务都会询问面板数据库需要加载什么配置。
支持的服务(目前)
安装 ACSPanel
当涉及到安装 ACSPanel 时,您有以下选项。
从 Git 仓库下载
要从 Git 仓库安装 ACSPanel,您必须使用以下命令克隆项目,并执行以下命令
cd /server_root_directory/
git clone https://github.com/AltCtrlSupr/acspanel.git
检查您的系统配置
在开始使用 ACSPanel 之前,您应确保您的本地系统已正确配置。
从命令行执行 check.php
脚本
php app/check.php
面板需要以下要求才能正常工作
php5-curl
权限
为了避免在执行控制台命令后出现权限问题,您应执行以下操作
mkdir app/main/cache && mkdir app/main/logs (TODO: check this to be created with the initial files...)
sudo setfacl -R -m u:www-data:rwX -m u:`whoami`:rwX app/main/cache app/main/logs
sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/main/cache app/main/logs
设置 ACSPanel
现在您可以使用参数.yml 设置数据库创建参数,您可以将参数.yml.sample 作为示例。(当通过 deb 软件包安装时不需要)
cp app/main/config/parameters.yml.sample app/main/config/parameters.yml
您应创建自己的 config_dev.yml,因为参数您可以将 config_dev.yml.sample 作为示例。
cp app/main/config/config_dev.yml.sample app/main/config/config_dev.yml
要安装所有依赖项,您必须执行 composer.phar 命令。
php composer.phar install
然后您就可以使用以下命令创建 acspanel 基本模式
php app/console doctrine:schema:create
准备 ACL 表
php app/console init:acl
您可以通过以下方式加载一些基本数据,例如基本组和管理员,以便开始使用面板
php app/main/console doctrine:fixtures:load
基本设置,添加超级管理员用户,以便您开始使用面板。其默认密码为1234。Acspanel会自动跳转到密码修改页面,您应在此处更改密码。
还应安装相关资源
php app/console assets:install --symlink
恭喜!您现在可以使用ACSPanel了。
配置Apache2
<VirtualHost *:80>
DocumentRoot /home/user/www/acspanel/web
<Directory /home/user/www/acspanel/web/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
确保您已启用重写模式
开始使用ACSPanel
更改面板视图参数
edit app/main/config/config.yml // Set variables from twig globals, you can change the default date format, the panel name and breadcumb separation character
配置第三方程序
要设置roundcube以便使用密码插件更改密码,必须使用以下查询
$rcmail_config['password_query'] = 'UPDATE mail_mailbox mb INNER JOIN mail_domain md ON mb.mail_domain_id = md.id INNER JOIN domain d ON md.domain_id = d.id SET mb.password=%p WHERE mb.username=%l AND mb.password=%o AND d.domain=%d';
更新面板(首先进行备份!!)
获取最新版本的代码
git pull
安装最新版本的依赖项
./composer.phar install
更新数据库
php app/main/console doctrine:schema:update --force
并安装资源
php app/main/console assets:install --symlink
命令
ACSPanel附带一些命令来简化管理员任务,查看命令
- 设置服务以自动应用面板设置
Apache:将脚本tools/acspanel-srv-apache2-reboot复制到每个Apache2服务器,并授予脚本执行权限。更改面板数据库访问详情并添加到crontab。在/etc/cron.d/文件夹中创建一个文件,内容如下
* * * * * root /usr/local/sbin/acspanel-srv-apache2-reboot
更改路由到您的脚本位置
API
动态DNS API调用
ACSPanel附带RESTful API,目前仅支持一些调用。
有一个有趣的API调用可以更新DNS记录,并实现动态DNS,如DynDNS或noip等服务。
您应至少发送带有主机名的GET请求到以下URL,如果不提供myip,则从调用端机的请求中推断。
http://username:password@panel.url/nic/update?hostname=yourhostname&myip=ipaddress
内容是什么?
Symfony2预配置了以下组件
-
FrameworkBundle - 核心Symfony框架组件
-
SensioFrameworkExtraBundle - 添加了多个增强功能,包括模板和路由注解能力
-
DoctrineBundle - 添加了对Doctrine ORM的支持
-
TwigBundle - 添加了对Twig模板引擎的支持
-
SecurityBundle - 通过集成Symfony的安全组件添加安全功能
-
SwiftmailerBundle - 添加了对Swiftmailer的支持,Swiftmailer是一个用于发送电子邮件的库
-
MonologBundle - 添加了对Monolog的支持,Monolog是一个日志库
-
AsseticBundle - 添加了对Assetic的支持,Assetic是一个资源处理库
-
JMSSecurityExtraBundle - 允许通过注解添加安全功能
-
JMSDiExtraBundle - 添加了更强大的依赖注入功能
-
WebProfilerBundle(在开发/测试环境中)- 添加了性能分析功能和Web调试工具栏
-
SensioDistributionBundle(在开发/测试环境中)- 添加了配置和操作Symfony分发的功能
-
SensioGeneratorBundle(在开发/测试环境中)- 添加了代码生成能力
-
AcmeDemoBundle(在开发/测试环境中)- 一个包含示例代码的演示组件
并且ACSPanel添加了以下组件
-
FOSUserBundle - 添加用户认证和管理功能。
-
StofDoctrineExtensionsBundle - 为实体添加可记录支持。
-
KnpMenuBundle - 添加菜单生成系统。
-
LiipThemeBundle - 添加主题支持。
-
CraueFormFlowBundle - 用于添加托管表单流程。
享受吧!