PHPackages                             acs/acspanel-core - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. acs/acspanel-core

AbandonedArchivedSymfony-bundle[Admin Panels](/categories/admin)

acs/acspanel-core
=================

ACSPanel core bundle. It integrates all other bundles into full stack Symfony2 Server Administration solution.

3368PHP

Since Apr 18Pushed 9y ago1 watchersCompare

[ Source](https://github.com/AltCtrlSupr/ACSPanel-Core)[ Packagist](https://packagist.org/packages/acs/acspanel-core)[ RSS](/packages/acs-acspanel-core/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (6)Used By (0)

ACSPanel (ACS Control Server Panel)
===================================

[](#acspanel-acs-control-server-panel)

Welcome to ACSPanel - The server administration tool written in Symfony2

This document contains information on how to download, install, and start using ACSPanel.

Features:
---------

[](#features)

- Multiserver: ACSPanel can be decentralized, you can have how many servers as you wish for each service. Each server will know what has to do.
- Role based user system: ACSPanel has 4 basic roles, superadmin, admin, reseller and final user. Each one with its different available actions based on its permissions and assigned plans.
- Plan system: ACSPanel works with custom Plans, you can create your different Plans to manage your resources.
- Logged actions: Each change in the database is logged in database. You can know what did anyone and also check the changes and do rollback to the entity (Comming soon...). Thanks to [StofDoctrineExtensionsBundle](https://github.com/stof/StofDoctrineExtensionsBundle) and [DoctrineExtensions](https://github.com/l3pp4rd/DoctrineExtensions)
- Themeable. Thanks to [LiipThemeBundle](https://github.com/liip/LiipThemeBundle), (GUI Designers needed)
- Mobile front-end (Comming soon...):
- Wordpress farm: See [PanelWordpressBundle](https://github.com/AltCtrlSupr/PanelWordpressBundle)
- Multilanguage: Each user can select the prefered language. (Translators needed)

How it works:
-------------

[](#how-it-works)

ACSPanel is just a Front-end for a custom Database with all the information related with your services. All the services ask to the panel database what configuration has to load.

Services supported (At the moment):

- DNS: [PowerDNS](https://github.com/AltCtrlSupr/acspanel-deb/)
- Web: [Apache2](https://github.com/AltCtrlSupr/acspanel-deb/), [Apache2 webproxy](https://github.com/AltCtrlSupr/acspanel-deb/)
- Database: [MySQL](https://github.com/AltCtrlSupr/acspanel-deb/)
- FTP: [ProFTPd](https://github.com/AltCtrlSupr/acspanel-deb/), [PureFTPd](https://github.com/AltCtrlSupr/acspanel-deb/)

Installing ACSPanel
-------------------

[](#installing-acspanel)

When it comes to installing the ACSPanel, you have the following options.

### Download from GIT repository

[](#download-from-git-repository)

To install ACSPanel from git repository, you have to clone the project with the next command and execute the following commands

```
cd /server_root_directory/

git clone https://github.com/AltCtrlSupr/acspanel.git

```

Checking your System Configuration
----------------------------------

[](#checking-your-system-configuration)

Before starting using ACSPanel you should make sure that your local system is properly configured.

Execute the `check.php` script from the command line:

```
php app/check.php

```

The panel needs the next requeriments To work right:

```
php5-curl

```

Permissions
-----------

[](#permissions)

To avoid permissions issues after executing console commands you should do the next

```
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

```

Setting up ACSPanel
-------------------

[](#setting-up-acspanel)

Now you set parameters.yml with your database create, you can take parameters.yml.sample as example. (Not necessary when it's installed via deb package).

```
cp app/main/config/parameters.yml.sample app/main/config/parameters.yml

```

You should create your own config\_dev.yml, as the parameters you can take config\_dev.yml.sample as example.

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

```

To install all the dependencies you have to execute composer.phar command.

```
php composer.phar install

```

Then you are ready to create the acspanel basic schema executing the next command:

```
php app/console doctrine:schema:create

```

Preparing ACL tables

```
php app/console init:acl

```

You can load some basic fixtures doing next, like basic groups and admin to start using the panel:

```
php app/main/console doctrine:fixtures:load

```

The basic fixtures, adds the superadmin user to let you start to work with the panel. Its default password is 1234. The acspanel will redirect you to password change screen where you should change the password.

You should install the assets as well:

```
php app/console assets:install --symlink

```

Congratulations! You're now ready to use ACSPanel.

Setting up Apache2
------------------

[](#setting-up-apache2)

```

    DocumentRoot /home/user/www/acspanel/web

        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all

```

Ensure you have rewrite mode enabled

Getting started with ACSPanel
-----------------------------

[](#getting-started-with-acspanel)

Changing the panel view parameters:

```
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

```

Setting up third party programs
-------------------------------

[](#setting-up-third-party-programs)

To set up roundcube to be able to change the passwords with the password plugin you must use the next query:

```
$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';

```

Updating the panel (MAKE BACKUPS FIRST!!)
-----------------------------------------

[](#updating-the-panel-make-backups-first)

Get the latest version of the code

```
git pull

```

Install the latest version of the dependencies

```
./composer.phar install

```

Update the database

```
php app/main/console doctrine:schema:update --force

```

And install the assets

```
php app/main/console assets:install --symlink

```

Commands
--------

[](#commands)

ACSPanel comes with some commands to make admin tasks, [go to commands](Resources/doc/commands.md)

10. Setting up services to automatic apply panel settings

---

Apache: Copy the script tools/acspanel-srv-apache2-reboot to each Apache2 server and give execution permission to the script. Change the panel database access details and add to crontab. Create a file in /etc/cron.d/ folder with the next contents:

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

```

Change the route to your script location

API
---

[](#api)

Dynamic DNS API call
--------------------

[](#dynamic-dns-api-call)

ACSPanel comes with RESTful API, at the moment only some calls are supported.

There's a ineteresting API call to update DNS record and be able to have a Dynamic DNS, like services as DynDNS or noip.

You should send GET request to the next URL with the hostname parameter at least, if you not provide myip this is deduced from the request of the machine calling the endpoint.

```
http://username:password@panel.url/nic/update?hostname=yourhostname&myip=ipaddress

```

What's inside?
--------------

[](#whats-inside)

Symfony2 comes pre-configured with the following bundles:

- **FrameworkBundle** - The core Symfony framework bundle
- [**SensioFrameworkExtraBundle**](http://symfony.com/doc/2.1/bundles/SensioFrameworkExtraBundle/index.html) - Adds several enhancements, including template and routing annotation capability
- [**DoctrineBundle**](http://symfony.com/doc/2.1/book/doctrine.html) - Adds support for the Doctrine ORM
- [**TwigBundle**](http://symfony.com/doc/2.1/book/templating.html) - Adds support for the Twig templating engine
- [**SecurityBundle**](http://symfony.com/doc/2.1/book/security.html) - Adds security by integrating Symfony's security component
- [**SwiftmailerBundle**](http://symfony.com/doc/2.1/cookbook/email.html) - Adds support for Swiftmailer, a library for sending emails
- [**MonologBundle**](http://symfony.com/doc/2.1/cookbook/logging/monolog.html) - Adds support for Monolog, a logging library
- [**AsseticBundle**](http://symfony.com/doc/2.1/cookbook/assetic/asset_management.html) - Adds support for Assetic, an asset processing library
- [**JMSSecurityExtraBundle**](http://jmsyst.com/bundles/JMSSecurityExtraBundle/master) - Allows security to be added via annotations
- [**JMSDiExtraBundle**](http://jmsyst.com/bundles/JMSDiExtraBundle/master) - Adds more powerful dependency injection features
- **WebProfilerBundle** (in dev/test env) - Adds profiling functionality and the web debug toolbar
- **SensioDistributionBundle** (in dev/test env) - Adds functionality for configuring and working with Symfony distributions
- [**SensioGeneratorBundle**](http://symfony.com/doc/2.1/bundles/SensioGeneratorBundle/index.html) (in dev/test env) - Adds code generation capabilities
- **AcmeDemoBundle** (in dev/test env) - A demo bundle with some example code

And ACSPanel adds the following Bundles:

- [**FOSUserBundle**](https://github.com/FriendsOfSymfony/FOSUserBundle) - Adds the user authentication and administration.
- [**StofDoctrineExtensionsBundle**](https://github.com/stof/StofDoctrineExtensionsBundle) - Adds loggable support to entities.
- [**KnpMenuBundle**](https://github.com/KnpLabs/KnpMenuBundle) - Adds the menu generation system.
- [**LiipThemeBundle**](https://github.com/liip/LiipThemeBundle) - Adds the themes support.
- [**CraueFormFlowBundle**](https://github.com/liip/LiipThemeBundle) - Used in add hosting form flow.
- [**GregwarFormBundle**](https://github.com/craue/CraueFormFlowBundle)
- [**KnpPaginatorBundle**](https://github.com/Gregwar/FormBundle)
- [**DoctrineFixturesBundle**](https://github.com/KnpLabs/KnpPaginatorBundle)

Enjoy!

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/9cbcbe685af90849bdd806d22ba8c315093bdeb6b2c46c874108b69f81c23038?d=identicon)[gtrias](/maintainers/gtrias)

---

Top Contributors

[![gtrias](https://avatars.githubusercontent.com/u/4225298?v=4)](https://github.com/gtrias "gtrias (223 commits)")[![marticardus](https://avatars.githubusercontent.com/u/3129660?v=4)](https://github.com/marticardus "marticardus (24 commits)")

### Embed Badge

![Health badge](/badges/acs-acspanel-core/health.svg)

```
[![Health](https://phpackages.com/badges/acs-acspanel-core/health.svg)](https://phpackages.com/packages/acs-acspanel-core)
```

###  Alternatives

[jeroennoten/laravel-adminlte

Easy AdminLTE integration with Laravel

4.0k4.8M43](/packages/jeroennoten-laravel-adminlte)[dmstr/yii2-adminlte-asset

AdminLTE backend theme asset bundle for Yii 2.0 Framework

1.1k1.8M67](/packages/dmstr-yii2-adminlte-asset)[dwij/laraadmin

LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like CRUD Generation, Module Manager, Media, Menus, Backups and much more

1.6k68.7k](/packages/dwij-laraadmin)[filament/spatie-laravel-media-library-plugin

Filament support for `spatie/laravel-medialibrary`.

1764.8M125](/packages/filament-spatie-laravel-media-library-plugin)[bezhansalleh/filament-exceptions

A Simple &amp; Beautiful Pluggable Exception Viewer for FilamentPHP's Admin Panel

193195.9k13](/packages/bezhansalleh-filament-exceptions)[filament/infolists

Easily add beautiful read-only infolists to any Livewire component.

1220.8M36](/packages/filament-infolists)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
