Setting up PufferPanel master on Debian Wheezy (Debian Stable 2013-2014) What you basically need to do: 1. Clone from https://github.com/DaneEveritt/PufferPanel.git for each node type 2. Setup at least 1 master node 3. Setup at least 1 client node This requires vhosts and certain tools and dependencies. Each node setup list allows you to perform all tasks for setting this up for the node type. First, you'll set up the node environments and the master, next you set up the node communication, storage locations and client nodes. =Master Node setup= On your admin server, where you will be using the admin cp: 1. Install all dependencies: sudo apt-get install git libapache2-mod-php5 mysql-server phpmyadmin php5-mcrypt php5-cli php5-dev php-pear libssh2-1 libssh2-php libssh2-1-dev This installs everything you need to run most PHP 5.4.x webapps, with MySQL, Postfix for email support and phpmyadmin for database administration. Additionally, it sets you up with some developer tools (for example: to install php5-ssh2 from pecl if the version from the repos is too old). 2. Setup a vhost: I use a vhost-specific location: /var/www-vhosts/, so to make a vhosts for your master node: sudo mkdir -p /var/www-vhosts/master1.domain.tld (Replace master1.domain.tld with your actual FQDN, and do so in any examples from here!) Create directories for the log files: sudo mkdir /var/log/apache2/master1.domain.tld Create a vhost configuration file and set the basic settings: sudo nano /etc/apache2/sites-available/master1.domain.tld This opens nano with the vhost config file in the proper location. Enter the following configuration to get started: DocumentRoot /var/www-vhosts/master1.domain.tld ServerName master1.domain.tld ServerAlias www.master1.domain.tld allow from all Options -Indexes ErrorLog /var/log/apache2/master1.domain.tld/error.log LogLevel notice TransferLog /var/log/apache2/master1.domain.tld/access.log UseCanonicalName on Save and exit with: Ctrl-X and press Y to accept the save and close nano. Execute: sudo a2ensite master1.domain.tld to activate the vhost. To automatically rotate the server logs, create a logrotate file: sudo nano /etc/logrotate.d/apache2-master1.domain.tld and use these settings for a default log rotation scheme: /var/log/apache2/master1.domain.tld/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null endscript } Again, Ctrl+X to save, Y to confirm Set the correct permissions on everything to make your environment reasonably secure: sudo chgrp -R www-data /var/www-vhosts/master1.domain.tld sudo chgrp -R www-data /var/log/apache2/master1.domain.tld sudo chmod -R 775 /var/www-vhosts/master1.domain.tld sudo chmod -R 775 /var/log/apache2/master1.domain.tld At this point you have the following: - A vhost capable of running a PufferPanel Master Node with all dependencies - Automatic log rotation - Tools for later upgrades - Tools for setting up databases and database credentials - Mail capabilities using a robust MTA - Reasonably secured vhost environment