PREPARING THE SERVER:
	edit /etc/selinux/config
	SELINUX=disabled
	save and quit, reboot

	chkconfig --levels 235 sendmail off
	/etc/init.d/sendmail stop
	yum remove sendmail
	yum remove vsftpd
	service iptables save
	service iptables stop
	chkconfig iptables off
	OR
	/etc/init.d/iptables save
	/etc/init.d/iptables stop
	chkconfig --levels 235 iptables off
	
	yum update
	
	*May already be installed, but we will just make sure...
	yum install sudo
	yum install make
	yum install zip
	yum install wget

	
EXTRACT ZPANEL:
	*Download and extract the archive to your machine (anywhere)
	tar -xvf zpanel.tar.gz	
	cd zpanel/etc/build/
	chmod +x prepare.sh
	./prepare.sh
	cp -R ../../* /etc/zpanel/panel/
	chmod -R 777 /etc/zpanel/
	chmod -R 777 /var/zpanel/
	chmod 644 /etc/zpanel/panel/etc/apps/phpmyadmin/config.inc.php
	
	*Copy the CentOS 6.2 config pack...
	cp -R /etc/zpanel/panel/etc/build/config_packs/centos_6_2/* /etc/zpanel/configs/

	
MAIN PACKAGES:
	yum install httpd php php-devel php-gd php-mbstring php-imap php-mysql php-xml php-xmlrpc curl curl-devel perl-libwww-perl libxml2 libxml2-devel mysql-server zip webalizer gcc gcc-c++ httpd-devel at make mysql-devel bzip2-devel

	
CONFIGURE MYSQL
	chkconfig --levels 235 mysqld on
	service mysqld start
	/usr/bin/mysql_secure_installation
	*Set new password and accept defaults.

	
SET ZPANEL DATABASE CONFIG:
	edit /etc/zpanel/panel/cnf/db.php
	$host = "localhost";
	$dbname = "zpanel_core";
	$user = "root";
	$pass = "YOUR_ROOT_MYSQL_PASSWORD";
	
	import zpanel database:
	mysql -uroot -pYOUR_ROOT_MYSQL_PASSWORD < /etc/zpanel/configs/zpanel_core.sql

	
SET ZPANEL APACHE CONFIG:
	edit /etc/httpd/conf/httpd.conf
	At end of file add: Include /etc/zpanel/configs/apache/httpd.conf

	*Change default docroot
	edit /etc/httpd/conf/httpd.conf change Docroot to:
	DocumentRoot "/etc/zpanel/panel"

	*Set ZPanel Network info and compile the default vhost.conf
	/etc/zpanel/panel/bin/setso --set zpanel_domain CONTROLPANEL.YOURDOMAIN.COM
	/etc/zpanel/panel/bin/setso --set server_ip YOUR_PUBLIC_IP_ADDRESS
	php /etc/zpanel/panel/bin/daemon.php
	
	echo "127.0.0.1 CONTROLPANEL.YOURDOMAIN.COM" >> /etc/hosts
	chkconfig --levels 235 httpd on
	service httpd start
	
	echo "apache ALL=NOPASSWD: /etc/zpanel/panel/bin/zsudo" >> /etc/sudoers


POSTFIX-DOVECOT (CentOS6 uses Dovecot2):
	yum install postfix dovecot dovecot-mysql
	mkdir -p /var/zpanel/vmail
	chmod -R 777 /var/zpanel/vmail
	chmod -R g+s /var/zpanel/vmail
	groupadd -g 5000 vmail
	useradd -m -g vmail -u 5000 -d /var/zpanel/vmail -s /bin/bash vmail
	chown -R vmail.vmail /var/zpanel/vmail
	
	mysql -uroot -pYOUR_ROOT_MYSQL_PASSWORD < /etc/zpanel/configs/postfix/zpanel_postfix.sql

	# Postfix Master.cf
	echo "# Dovecot LDA" >> /etc/postfix/master.cf
	echo "dovecot   unix  -       n       n       -       -       pipe" >> /etc/postfix/master.cf
	echo '  flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -d ${recipient}' >> /etc/postfix/master.cf
	
	*Edit these files and add mysql root and password:
		/etc/zpanel/configs/postfix/conf/dovecot-sql.conf
		/etc/zpanel/configs/postfix/conf/mysql_relay_domains_maps.cf
		/etc/zpanel/configs/postfix/conf/mysql_virtual_alias_maps.cf
		/etc/zpanel/configs/postfix/conf/mysql_virtual_domains_maps.cf
		/etc/zpanel/configs/postfix/conf/mysql_virtual_mailbox_limit_maps.cf
		/etc/zpanel/configs/postfix/conf/mysql_virtual_mailbox_maps.cf
		/etc/zpanel/configs/postfix/conf/mysql_virtual_transport.cf
		
	mv /etc/postfix/main.cf /etc/postfix/main.old
	ln /etc/zpanel/configs/postfix/conf/main.cf /etc/postfix/main.cf
	mv /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.old
	ln -s /etc/zpanel/configs/dovecot2/dovecot.conf /etc/dovecot/dovecot.conf

	*Edit /etc/zpanel/configs/postfix/conf/main.cf
	myhostname = control.yourdomain.com
	mydomain   = control.youromain.com
	
	chkconfig --levels 345 postfix on
	chkconfig --levels 345 dovecot on
	service postfix start
	service dovecot start
	
	*Server will need a reboot for postfix to be fully functional
	
ROUNDCUBE:
	mysql -uroot -pYOUR_ROOT_MYSQL_PASSWORD < /etc/zpanel/configs/roundcube/zpanel_roundcube.sql
	edit /etc/zpanel/panel/etc/apps/webmail/config/db.inc.php
	$rcmail_config['db_dsnw'] = 'mysql://root:YOUR_ROOT_MYSQL_PASSWORD@localhost/zpanel_roundcube';
	
	
PROFTPD:
	wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
	rpm -Uvh epel-release*rpm
	yum install proftpd proftpd-mysql
	mysql -uroot -pYOUR_ROOT_MYSQL_PASSWORD < /etc/zpanel/configs/proftpd/zpanel_proftpd.sql
	groupadd -g 2001 ftpgroup
	useradd -u 2001 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser
	
	/** IF WE WANT TO NOT USE ROOT THEN WE CAN DO THIS
	mysql -u root -p
	create database zpanel_proftpd;
	GRANT SELECT, INSERT, UPDATE, DELETE ON ftp.* TO 'proftpd'@'localhost' IDENTIFIED BY 'password';
	GRANT SELECT, INSERT, UPDATE, DELETE ON ftp.* TO 'proftpd'@'localhost.localdomain' IDENTIFIED BY 'password';
	FLUSH PRIVILEGES;
	Replace the string password with whatever password you want to use for the MySQL user proftpd.
	**/
	
	edit /etc/zpanel/configs/proftpd/proftpd-mysql.conf, replace with your credentials: SQLConnectInfo  DATABASE@localhost USER PASSWORD
	*** Format is: SQLConnectInfo  DATABASE@localhost USER PASSWORD
	SQLConnectInfo  zpanel_proftpd@localhost root password
	
	mv /etc/proftpd.conf /etc/proftpd.old
	touch /etc/proftpd.conf
	echo "include /etc/zpanel/configs/proftpd/proftpd-mysql.conf" >> /etc/proftpd.conf
	mkdir /var/zpanel/logs/proftpd
	chmod -R 644 /var/zpanel/logs/proftpd
	
	chkconfig --levels 345 proftpd on
	service proftpd start

	
BIND:
	yum install bind bind-utils bind-libs
	CONFIGURE BIND AS NEEDED - ONCE RUNNING INCLUDE ZPANEL NAMED PATH
	echo 'include "/etc/zpanel/configs/bind/etc/named.conf";' >> /etc/named.conf
	
	chkconfig --levels 345 named on
	service named start

	
ZPANEL ZSUDO:
	# Must be owned by root with 4777 permissions, or zsudo will not work!
	cc -o /etc/zpanel/panel/bin/zsudo /etc/zpanel/configs/bin/zsudo.c
	sudo chown root /etc/zpanel/panel/bin/zsudo
	chmod +s /etc/zpanel/panel/bin/zsudo

	
ZPANEL DAEMON:
	touch /etc/cron.d/zdaemon
	echo "*/5 * * * * root /usr/bin/php -q /etc/zpanel/panel/bin/daemon.php >> /dev/null 2>&1" >> /etc/cron.d/zdaemon
	# Permissions must be 644 or cron will not run!
	sudo chmod 644 /etc/cron.d/zdaemon
	service crond restart
	
	
REBOOT SERVER
	Browse to http://CONTROLPANEL.YOURDOMAIN.COM (Or by your server IP) http://xxx.xxx.xxx.xxx
	USER: zadmin
	PASS: password (Change on 1st login!)