<!-- Unable to read content directory /www/sites/centova.com/wiki/doc/ipanel/installation_manual/ -->
iPanel Installation Manual
System requirements
- PHP v5.x
- MySQL v5.x
- Apache 2.2+ or nginx 0.7+ (note: nginx is not compatible with forced ads)
- PHP's libcurl and openssl extensions required for some functionality
- Root access is required to install forced ads and the prohibited file scanner
- mod_forcedads is required for forced ads (available from your client area)
Installation
Upload the iPanel folder to your web server's
public_html
directory. You can rename the iPanel folder to any name you like (eg:billing
,clients
, etc.)Make the following folders (under your iPanel directory) and all of the files they contain writable by the web server:
/conf /ads /media
If you are a novice user, the simplest way to do this is by setting their permissions to 0777 with the
chmod
command. This will work fine, but it is insecure.If you care about security, however, you will need SSH access to the server to set the permissions properly. If you have SSH access, this can be done by running:
cd /path/to/ipanel chgrp -R nobody conf ads media chmod -R g+w conf ads media
Replace "nobody" with your web server's UNIX user group. Usually it will be "nobody" or "www-data". If you are unsure, ask your web hosting provider.
Create a MySQL database and write down the MySQL connection information. You would do this in phpMyAdmin or whatever interface your web hosting provider has made available for managing MySQL databases.
If you wish to offer file downloads to your clients as part of the packages you sell, create a directory above your
public_html
for downloadable files. For example, if yourpublic_html
directory is located at/home/yourname/public_html
, you should create a directory named (for example)/home/yourname/downloads
or similar.This new directory must be made writable using the same procedure described in step 2 above (eg: set it to chmod 0777 or make it group-writable).
To complete the automated installation, launch your web browser and visit the following URL:
http://www.yourdomain.com/ipanel_folder/install/
Replace
yourdomain.com
with your actual domain, andipanel_folder
with the name of the folder you used for iPanel in step 1.The installer will prompt you for various information such as your MySQL connection details. Follow each step through to completion.
After completing the web-based installation steps, delete the installation folder (
/install
) under your iPanel folder. It is important to remember to remove this for security reasons.If you are using a web hosting control panel (cPanel, Plesk, etc.) you can likely skip this step and proceed to step 8.
If you are NOT using a web hosting control panel, and you are managing your web server manually via SSH:
- If you are using Apache, ensure that Apache's
mod_rewrite
module is installed and enabled. If it is not, install it, enable it, and restart Apache. If you are using nginx, add the following to your nginx configuration file inside the
server
block for your web site configuration, replacingipanel_folder
with the name of the folder you used for iPanel in step 1:rewrite ^/ipanel_folder/payment/return.php/.* /ipanel_folder/payment/return.php;
- If you are using Apache, ensure that Apache's
Next, you must configure iPanel's cron jobs. The procedure for doing this may vary depending on how you access your server, but typically this step is performed by logging in to your web hosting control panel (eg: cPanel, DirectAdmin, etc.) and going to the
Cron Jobs
configuration section.- Select the option to create a new cron job. Under cPanel, you will need to select "Simple" mode.
For the
command to run
, enter the following:php -q /path/to/public_html/ipanel_folder/cron/cronjob.php
Replace
/path/to/public_html
with the actual path to your public_html directory (usually/home/username/public_html
, whereusername
is the username of your web hosting account) and replaceipanel_folder
with the name of the folder you used for iPanel in step 1.- Set the cron job to run every 2 minutes. (This is a "master" job scheduler which will in turn dispatch all of the jobs necessary for invoice generation and so-on at the appropriate times.)
Example cron job configuration:
*/2 * * * * php -q /home/username/public_html/ipanel/cron/cronjob.php
If you do not have root access to your server, you will not be able to use forced ads nor the prohibited file scanner. If you do not have root access to your server, the installation is now complete and you should skip to step 11.
If you do have root access to your server, launch your web browser and visit the following URL:
http://www.yourdomain.com/ipanel_folder/exclude/phpinfo.php
Replace
yourdomain.com
with your actual domain, andipanel_folder
with the name of the folder you used for iPanel in step 1.Scroll down to the section regarding Apache information. Under the list of loaded Apache modules, verify that
mod_forcedads
appears. If it does not, you have not yet installed themod_forcedads
module and will need to download that from your client area (at https://centova.com/cp/) and install it before proceeding.Next, you must configure the forced ads cron job by logging in to the server as root and running:
crontab -e
Add the following to the end of the file:
*/10 * * * * root php -q /path/to/public_html/ipanel_folder/cron/cronjob.php --job=httpd_conf --apache2
Replace
/path/to/public_html
with the actual path to your public_html directory (usually/home/username/public_html
, whereusername
is the username of your web hosting account) and replaceipanel_folder
with the name of the folder you used for iPanel in step 1.This configures iPanel to check for new accounts and apply forced ads to them every 10 minutes. If you prefer that new accounts have forced ads applied more quickly, you can reduce this value (eg: using */2 to run the cron job every 2 minutes) instead.
Your iPanel installation should now be ready to use. You can log in to configure iPanel at:
http://www.yourdomain.com/ipanel_folder/
Again, replace
ipanel_folder
with the name of the folder you used for iPanel in step 1.
Installing Forced Ads RPC System
The RPC system is used to apply forced ads and perform prohibited file scanning on a different server (or servers) than the one on which iPanel is actually hosted. If, for example, you have 3 web hosting servers, where iPanel is installed on server #1 and servers #2 and #3 are only used for free hosting clients, iPanel can apply forced ads (and scan for prohibited files) on all three servers without separately installing iPanel on servers #2 and #3.
To prepare a remote server with the RPC system:
Copy the
rpc
folder from your iPanel folder to the remote server. Place it under a valid web root, eg:/home/username/public_html/rpc/
or similar.On the remote server, make the
forcedads/data/
folder (under therpc/
folder you created in step 1 above) writable by the web server.If you are a novice user, the simplest way to do this is by setting their permissions to 0777 with the
chmod
command. This will work fine, but it is insecure.If you care about security, however, you should set the permissions properly by running:
cd /path/to/public_html/rpc/ chgrp -R nobody forcedads/data chmod -R g+w forcedads/data
Replace "nobody" with your web server's UNIX user group. Usually it will be "nobody" or "www-data". If you are unsure, ask your web hosting provider.
On the remote server, edit
/rpc/conf.inc.php
and set theAPI_KEY
setting to a long (32+ letters) password. This is used as an access key to ensure that only iPanel can remotely this server.In the iPanel administration area, click
Servers
, then choose a server type and clickCreate
. (Or, if you have already configured the remote server in iPanel, simply edit it.)Configure the server settings appropriately. For
RPC URL
, enter the URL to therpc
folder on the remote server. For example:http://www.otherserver.com/rpc/
For
RPC Key
, enter the value you chose forAPI_KEY
in step 2 above.At this point, the RPC subsystem is configured and ready to use.
To enable remote prohibited file scanning, just turn on the prohibited file scanning feature in iPanel and it will automatically scan the remote server.
To enable remote forced ads on the remote server, log in to the remote server as root and run:
crontab -e
Add the following to the end of the file:
*/10 * * * * root php -q /path/to/public_html/rpc/forcedads/cronjob.php
Replace
/path/to/public_html/rpc/
with the actual path to yourrpc/
directory that you created in step 1 above.If you altered the timing of the cron job when configuring forced ads on the main server, you should set the timing of this cron job to be identical to the main server otherwise the ad rotation will become out-of-sync.
Installing Post-for-Hosting RPC System
The RPC system is used to perform post-count checking in a forum hosted on different (remote) server than the one on which iPanel is installed.
Note that if you have already prepared the remote server with the forced-ads RPC system (described in the section above) you can skip steps 1-3 and proceed directly to step 4.
To prepare a remote server with the RPC system:
Copy the
rpc
folder from your iPanel folder to the remote server. Place it under a valid web root, eg:/home/username/public_html/rpc/
or similar.On the remote server, make the
forcedads/data/
folder (under therpc/
folder you created in step 1 above) writable by the web server.If you are a novice user, the simplest way to do this is by setting their permissions to 0777 with the
chmod
command. This will work fine, but it is insecure.If you care about security, however, you should set the permissions properly by running:
cd /path/to/public_html/rpc/ chgrp -R nobody forcedads/data chmod -R g+w forcedads/data
Replace "nobody" with your web server's UNIX user group. Usually it will be "nobody" or "www-data". If you are unsure, ask your web hosting provider.
On the remote server, edit
/rpc/conf.inc.php
and set theAPI_KEY
setting to a long (32+ letters) password. This is used as an access key to ensure that only iPanel can remotely this server.In the iPanel administration area, click
Post for Hosting
, then clickNew Forum
.Configure the forum settings appropriately. For
RPC URL
, enter the URL to therpc
folder on the remote server. For example:http://www.otherserver.com/rpc/
For
RPC Key
, enter the value you chose forAPI_KEY
in step 2 above.For
Database hostname
, enter the database hostname relative to the remote server -- that is, if MySQL is running on the same machine as the forum software, enterlocalhost
.At this point, the RPC subsystem is configured and ready to use.
To enable remote post-for-hosting support, just create a new package that uses the forum you just created.