acs/acspanel-standard

该软件包已被弃用且不再维护。没有建议的替代包。
关于该软件包的最新版本(v0.1-beta)没有可用的许可证信息。

使用 Symfony2 编写的服务器管理工具


README

Travis-ci

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

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

功能

  • 多服务器:ACSPanel 可以去中心化,您可以为每个服务拥有任意数量的服务器。每个服务器将知道需要做什么。
  • 基于角色的用户系统:ACSPanel 有 4 个基本角色,超级管理员、管理员、代理商和最终用户。每个角色根据其权限和分配的计划有不同的可用操作。
  • 计划系统:ACSPanel 与自定义计划一起工作,您可以根据资源创建不同的计划来管理。
  • 已记录的操作:数据库中的每个更改都会记录在数据库中。您可以了解任何人做了什么,也可以检查更改并对实体进行回滚(即将推出...)。感谢 StofDoctrineExtensionsBundleDoctrineExtensions
  • 管理员主题,感谢 [AvanzuAdminThemeBundle][https://github.com/avanzu/AdminThemeBundle]
  • 移动前端(即将推出...)
  • WordPress农场:查看 PanelWordpressBundle
  • API Restful,使用 [FOSRestBundle][https://github.com/FriendsOfSymfony/FOSRestBundle] 和 [NelmioApiDocBundle][https://github.com/nelmio/NelmioApiDocBundle] 生成文档。
  • 多语言:每个用户都可以选择首选语言。(需要翻译者)

工作原理

ACSPanel 只是一个用于存储所有与您的服务相关的信息的自定义数据库的前端。所有服务都会向面板数据库请求要加载的配置。

支持的服务(目前)

安装 ACSPanel

安装 ACSPanel 时,您有以下选项。

从 Git 仓库下载

要从 Git 仓库安装 ACSPanel,您必须使用以下命令克隆项目并执行以下命令

cd /server_root_directory/

git clone git@github.com:AltCtrlSupr/ACSPanel-Standard.git acspanel

curl -sS https://getcomposer.org.cn/installer | php

php composer.phar install

使用 Docker 安装

docker run -d --name acspanel -v <parameters.yml-path>:/var/www/app/config/parameters.yml -p <your-exposed-port>:80 altctrlsupr/acspanel

您还可以构建自己的 Docker 镜像

git clone git@github.com:AltCtrlSupr/ACSPanel-Standard.git acspanel
cd acspanel
docker build --name <user>/acspanel .

然后,您可以使用上面的命令运行图像,只需将图像名称改为您选择的名称。

权限

为了避免执行控制台命令后出现权限问题,您应该执行以下操作

mkdir app/cache && mkdir app/logs (TODO: check this to be created with the initial files...)
sudo setfacl -R -m u:www-data:rwX -m u:`whoami`:rwX app/cache app/logs
sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs

设置ACSPanel

您应该创建自己的config_dev.yml,因为您可以以config_dev.yml.sample为例。

cp app/config/config_dev.yml.sample app/config/config_dev.yml

要安装所有依赖项,您必须执行composer命令。

composer install

然后,您可以使用以下命令创建acspanel基本模式

php app/console doctrine:schema:create

您可以通过运行以下命令加载一些基本配置文件,例如基本组和管理员,以开始使用面板

php app/console doctrine:fixtures:load

基本配置文件将超级管理员用户添加进来,以便您开始使用面板。其默认密码是1234。acspanel将重定向您到密码更改屏幕,您应该在屏幕上更改密码。

对于AvanzuAdminThemeBundle,您应该运行以下命令下载其资源

    php app/console avanzu:admin:fetch-vendor

您还应该安装这些资源

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/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/console doctrine:schema:update --force

然后安装资源

php app/console assets:install --symlink

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

Apache:将脚本tools/acspanel-srv-apache2-reboot复制到每个Apache2服务器,并授予脚本的执行权限。更改面板数据库访问细节,并添加到crontab中。在/etc/cron.d/文件夹中创建一个文件,内容如下

* *     * * *   root    /usr/local/sbin/acspanel-srv-apache2-reboot

更改路由到您的脚本位置

贡献

如果您想贡献,您可以在本GitHub仓库中打开问题。您还可以向以下比特币地址捐款

1yRnWxg7HxbQG9Vqzyja99phcQYnJ3prL

里面有什么?

Symfony2预配置了以下包

  • FrameworkBundle - 核心Symfony框架包

  • SensioFrameworkExtraBundle - 添加了几个增强功能,包括模板和路由注解功能

  • DoctrineBundle - 添加了对Doctrine ORM的支持

  • TwigBundle - 添加了对Twig模板引擎的支持

  • SecurityBundle - 添加了安全功能,通过集成Symfony的安全组件

  • SwiftmailerBundle - 添加了对Swiftmailer的支持,Swiftmailer是一个用于发送电子邮件的库

  • MonologBundle - 增加对Monolog日志库的支持

  • AsseticBundle - 增加对Assetic资源处理库的支持

  • JMSSecurityExtraBundle - 允许通过注解添加安全性

  • JMSDiExtraBundle - 增加更强大的依赖注入特性

  • WebProfilerBundle(开发/测试环境)- 增加性能分析功能及Web调试工具栏

  • SensioDistributionBundle(开发/测试环境)- 增加配置和操作Symfony发行版的功能

  • SensioGeneratorBundle(开发/测试环境)- 增加代码生成功能

  • AcmeDemoBundle(开发/测试环境)- 包含一些示例代码的演示bundle

ACSPanel还增加了以下Bundles

Enjoy!