acs/acspanel-core

ACSPanel 核心包。它将所有其他包集成到完整的 Symfony2 服务器管理解决方案中。

安装: 363

依赖者: 0

建议者: 0

安全: 0

星星: 3

关注者: 2

分支: 0

类型:symfony-bundle

dev-master / 2.5.x-dev 2016-05-24 18:53 UTC

README

欢迎使用 ACSPanel - 用 Symfony2 编写的服务器管理工具

本文档包含有关如何下载、安装和开始使用 ACSPanel 的信息。

功能

  • 多服务器:ACSPanel 可以是去中心化的,您可以为每个服务拥有任意数量的服务器。每个服务器都将知道它需要做什么。
  • 基于角色的用户系统:ACSPanel 有 4 个基本角色,超级管理员、管理员、经销商和最终用户。每个角色都有其基于权限和分配计划的不同可用操作。
  • 计划系统:ACSPanel 与自定义计划一起工作,您可以创建不同的计划来管理您的资源。
  • 日志记录操作:数据库中的每个更改都会记录在数据库中。您可以知道任何人的操作,也可以检查更改并回滚到实体(即将推出...)。感谢 StofDoctrineExtensionsBundleDoctrineExtensions
  • 可定制主题。感谢 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附带一些命令来简化管理员任务,查看命令

  1. 设置服务以自动应用面板设置

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添加了以下组件

享受吧!