Acspanel

ACS Control Server Panel

Download as .zip Download as .tar.gz View on GitHub

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:

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):

1) Installing ACSPanel

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

Use Debian Package(recommended)

Coming soon

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

2) 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

3) 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

4) 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

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

(Opcional) Install additional ACSPanel bundles:

Coming soon.

Congratulations! You're now ready to use ACSPanel.

5) Setting up 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>

Ensure you have rewrite mode enabled

6) Getting started with ACSPanel

comming soon.

7) 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';

8) Updating the panel (DO BACKUPS FIRST!!)

Get the latest version of the code

git pull

Install the latest version of the dependecies

./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

What's inside?

Symfony2 comes pre-configured with the following bundles:

And ACSPanel adds the following Bundles:

Enjoy!