Requirements for Panel-less version:
- Operating System: Linux (any flavor)
- We recommend Ubuntu 16.04 LTS
- We also recommend Linux Mint 18.1
- System Software:
Preface:
- Fantastico F3 contains two sections:
- Administrators section: This is the section where you (the host of the server) will manage Fantastico F3 as a whole. i.e.: keep it updated, check up on scripts, manage feature sets, etc. It must be run as root and therefore suitably protected by means of secure authentication/authorization.
- Visitors section: This is the section where your users (actual end-users) will install scripts. It must be run as the respective user.
- This is a full-fledged version of Fantastico F3. Functionally, it is identical to the version that we have been providing for cPanel/WHM environments. It is the same product that you know and have come to love over the past 15 years. It is not a lite version and has no limitations whatsoever. It includes all the scripts (all 700 of them). We will continue to transparently update both versions of Fantastico F3 (and also all future versions of Fantastico F3) in the same manner (same day, same version).
Steps:
Step 1: Download
$ export DIRECTORY=/var/netenberg/fantastico_f3
// You are free to use any directory. It does not have to be
// /var/netenberg/fantastico_f3. If you do use a different directory, be sure to
// re-export $DIRECTORY accordingly.
$ mkdir --parents $DIRECTORY
$ cd $DIRECTORY
$ curl -O https://licenses.netenberg.com/fantastico_f3/sources.tar.bz2
// Please ensure that you have a valid license before attempting to download.
// Without a valid license, the download will fail and you will not be able to
// continue with the subsequent steps.
$ tar --bzip2 --extract --file sources.tar.bz2
Notes:
- You can download as a non-root user also.
Step 2: Setup
You have to create a few files before you can proceed to the next step.
$ touch $DIRECTORY/sources/options/apache.txt
$ chmod 644 $DIRECTORY/sources/options/apache.txt
The contents of this file must be full path to the Apache binary.
Example: /usr/bin/httpd
$ echo /usr/bin/httpd > $DIRECTORY/sources/options/apache.txt
$ touch $DIRECTORY/sources/options/mysql.txt
$ chmod 644 $DIRECTORY/sources/options/mysql.txt
The contents of this file must be full path to the MySQL binary.
Example: /usr/bin/mysql
$ echo /usr/bin/mysql > $DIRECTORY/sources/options/mysql.txt
Notes:
If you are using MariaDB, change the path accordingly. Fantastico F3 is programmed to transparently use either MySQL or MariaDB, whichever is available.
Fantastico F3 queries related information (
hostname
,port
,username
andpassword
) from the following locations (in that order):$HOME/my.cnf
(if you are using one MySQL user per system user)/etc/mysql/my.cnf
(if you are using one MySQL user for all system users)
Example:
[client]
password = username
user = password
$ touch $DIRECTORY/sources/options/php.txt
$ chmod 644 $DIRECTORY/sources/options/php.txt
The contents of this file must be full path to the PHP binary. You can use any version of PHP starting from 5.2 all the way up to 7.0.
Example: /usr/bin/php
$ echo /usr/bin/php > $DIRECTORY/sources/options/php.txt
$ touch $DIRECTORY/sources/options/users.txt
$ chmod 644 $DIRECTORY/sources/options/users.txt
The contents of this file must be pairs of {$USERNAME}:{$HOME}:{$DOMAIN}:{$DOCUMENT_ROOT}
.
Example:
user_1:/home/user_1:user_1.com:/home/user_1/public_html
user_1:/home/user_1:subdomain.user_1.com:/home/user_1/public_html/subdomain
user_2:/home/user_2:user_2.com:/home/user_2/public_html
user_3:/home/user_3:"192.168.1.103:3333":/home/user_3/public_html
Notes:
- This file will contain redundant information but it has been structured so to make it easier for vendors to auto-generate the same using already existing applications and tools.
Example:
for $user in users:
for $document_root, $domain in $user.get_document_root_and_domains():
echo $user.name:$user.$home:$domain:$document_root
- Use
"
to enclose values containing a colon (:
).
Step 3: Configure
For Apache:
This is the virtualhost block of the Administrators section.
<VirtualHost *:80>
DocumentRoot "$DIRECTORY/sources" // Substitute accordingly.
ServerName administrators.fantastico_f3.com // Use your own domain.
SetEnv CONTROL_PANEL "Standalone" // This tells Fantastico F3 to
// use the **Standalone**
// control panel plugin.
SetEnv SECTION "administrators" // This tells Fantastico F3 to
// activate the
// **Administrators** section.
...
...
...
# If you need authentication:
<Directory "$DIRECTORY/sources">
AuthType Basic
AuthName "Fantastico F3"
AuthUserFile /.../.htpasswd // Substitute accordingly.
# Reference: https://httpd.apache.org/docs/current/programs/htpasswd.html
Require valid-user
</Directory>
# If you do not need authentication, you need not do anything extra.
</VirtualHost>
This is the virtualhost block of the Visitors section.
<VirtualHost *:80>
DocumentRoot "$DIRECTORY/sources" // Substitute accordingly.
ServerName visitors.fantastico_f3.com // Use your own domain.
SetEnv CONTROL_PANEL "Standalone" // This tells Fantastico F3 to
// use the ** Standalone** control
// panel plugin.
SetEnv SECTION "visitors" // This tells Fantastico F3 to
// activate the **Visitors** section.
...
...
...
# If you need authentication:
<Directory "$DIRECTORY/sources">
AuthType Basic
AuthName "Fantastico F3"
AuthUserFile /.../.htpasswd // Substitute accordingly.
// This should be a superset of
// **users.txt**.
# Reference: https://httpd.apache.org/docs/current/programs/htpasswd.html
Require valid-user
</Directory>
# If you do not need authentication:
SetEnv USERNAME "..." // This username must exist in
// **users.txt**
</VirtualHost>
For NginX:
server {
listen 80;
server_name administrators.fantastico_f3.com; // Use your own domain.
root $DIRECTORY/sources; // Substitute accordingly.
index index.php;
...
...
...
location ~ \.php$ {
fastcgi_index index.php;
fastcgi_param CONTROL_PANEL "Standalone";
fastcgi_param SECTION "administrators";
fastcgi_pass unix:/var/run/php/php5-fpm.socket;
include /etc/nginx/fastcgi_params;
try_files $uri =404;
}
# If you need authentication:
auth_basic "Fantastico F3";
auth_basic_user_file /.../.htpasswd // Substitute accordingly.
# Reference: https://httpd.apache.org/docs/current/programs/htpasswd.html
# If you do not need authentication, you need not do anything extra.
}
server {
listen 80;
server_name visitors.fantastico_f3.com; // Use your own domain.
root $DIRECTORY/sources; // Substitute accordingly.
index index.php;
...
...
...
location ~ \.php$ {
fastcgi_index index.php;
fastcgi_param CONTROL_PANEL "Standalone";
fastcgi_param SECTION "visitors";
fastcgi_pass unix:/var/run/php/php5-fpm.socket;
include /etc/nginx/fastcgi_params;
try_files $uri =404;
}
# If you need authentication:
auth_basic "Fantastico F3";
auth_basic_user_file /.../.htpasswd // Substitute accordingly.
// This should be a superset of
// **users.txt**.
# Reference: https://httpd.apache.org/docs/current/programs/htpasswd.html
# If you do not need authentication:
fastcgi_param USERNAME "..."; // This username must exist in
// **users.txt**
}
Notes:
- If you are using a different webserver, let us know and we will provide you with a fully tested and templated configuration file(s).
- If you want to use a dummy domain or one that you have not yet transferred, please add a suitable entry in your hosts file (
/etc/hosts
).
Step 4: crontab
0 * * * * cd $DIRECTORY && /usr/bin/php index.php crontab
You can now use the following URLs to peruse Fantastico F3.
- http://administrators.fantastico_f3.com (use your own domain)
- http://visitors.fantastico_f3.com (use your own domain)