PALI, a very, very distant ancestor of StackX
Updated on 26 October 2026. PALI is a very, very distant ancestor of StackX. The foundations were there, but StackX has evolved a great, great deal since then. The two recovered original versions are available in full, along with variants adapted to Debian’s archived repositories.
From PALI to StackX: a different scale
PALI fitted into a single script of around 1,000 lines. To give an idea of how far things have come, here is the source volume compared with the copy of StackX examined on 26 October 2026.
| Scope | Scripts | Lines |
|---|---|---|
| PALI 1.26 · Debian 8 | 1 | 987 |
| PALI 2.3 · Debian 9 | 1 | 976 |
| StackX · core and modules | 88 | 24 710 |
| StackX · all scripts and tools | 172 | 88 231 |
Around 90 times the volume of one version of PALI for all the StackX scripts and tools counted. The foundations were there, but the scope has moved to a different scale.
Count of physical lines in the PALI originals and scripts tracked in the StackX repository, as of 25 August 2026 (revision 6af98694341f). Includes blank lines, comments and embedded text. Excludes tests, documentation, deployment templates, separate configurations and third-party components. The 88 core scripts are included in the total of 172; the two PALI versions are compared separately. The line count illustrates volume, not code quality.
Downloads
Download the complete PALI package : the two originals, the corrected variants, the documented Debian public keyring, the diffs and the notes.
- Debian 8: adapted variant of PALI 1.26 ; unchanged original 1.26, captured on 28 October 2020.
- Debian 9: adapted variant of PALI 2.3 ; unchanged original 2.3, captured on 13 November 2019.
The dates above are those of the Wayback Machine captures, not the scripts’ release dates. The originals retain their bytes and version numbers; changes to the variants are detailed in the restoration notes of 26 October 2026.
The variants are restricted to the corresponding Debian version and refuse other systems. They target the LAMP stack and services from the archived repositories. They no longer automatically run the third-party installers for Webmin, NodeSource, Composer, Grunt, Drush, WP-CLI and Drupal Console: this restoration does not provide pinned, verified versions of those third-party tools. The original versions remain available to examine the full behaviour of the time.
Debian 8 and Debian 9 remain old systems. This restoration does not make them current, nor does it validate installation on a real machine. The text and commands below are preserved as a historical presentation; consult the notes before using any of the variants.
Historical presentation
PALI (Perfect Automatic Lamp Installer) is a shell script that will automatically turn your Debian 8 or Debian 9 server into a pre-optimised LAMP stack (Linux Apache Mysql Php) for you. Just install a “bare” Debian 8 or 9 with SSH access and, in a few minutes, you can get an apache + php + mysql + memcached stack (with PHP sessions stored in memcached instead of on disk), git, nodejs, webmin, grunt, and other interesting little things such as a pre-optimised Mysql or MariaDB server or a Let’s Encrypt certificate right from installation, with one single command line.
It is a really very simple, standalone script with no direct dependencies, which can easily be modified to add the software you need. I will update it as often as possible. For now, it can already do quite a lot, including the following operations:
- Install vim, iotop, mc, apache2, rsync, screen, duplicity…
- Install php5-fpm (curl, apcu, gd, intl, imagick, imap, mcrypt, memcache, pspell, recode, sqlite, tidy, xmlrpc, xsl, soap, calendar)
- Install Mysql-server / MariaDB-server, Mysql-client / MariaDB-client and phpmyadmin
- Install munin, postfix, git, pure-ftpd, Imagemagick and curl
- Install Composer, NodeJs, Grunt, Drupal Console, wp-cli, Drush and webmin
- Enable userdir, rewrite, expires, deflate, headers and ssl
- Configure pure-ftpd (FTP & FTPS) to use standard Unix users and chroot them into their own directories
- Create an initial php-fpm virtual host with a phpinfo and a phptest
- Pre-optimise the MySQL server configuration
- Pre-optimise the Apache and php-fpm configuration
- Change the default SSH port (22 by default)
- Change the default Webmin port (10000 by default)
- Install your choice of NodeJS version 6, 7 or 8 (7 by default)
- Change the server’s name on the fly
- Automatically install and configure a Let’s Encrypt SSL certificate
- Automatically install and configure Fail2ban, rkhunter & chkrootkit
- Install and configure an iptables firewall with rules adapted to the port changes
- Configure an “admin” contact email address
- Generate the root, MySQL and user passwords and email them to you
IMPORTANT: if you choose the Let’s Encrypt option (-l 1), make sure the name you use already points correctly in your DNS to your server’s IP address, otherwise it will not work properly (I will add an automatic check soon).
Enough talk! You just want to install your server? Simply download and run the script. Remember to change the email address, otherwise it will not run, or specify it in the command-line options:
- -a email@address -> the email address used to receive the access details
- -n my.hostname.com -> specify a new name for your server
- -s port_number -> specify a new SSH port (22 by default)
- -w port_number -> specify a new Webmin port (10000 by default)
- -j nodeJS_version -> specify the NodeJS version you want: version 6, 7 or 8 (7 by default)
- -l 1 -> Set to 1 if you want your virtual host to be installed automatically with a Let’s Encrypt SSL certificate
- -h -> simply to get the list of available options
wget --no-check-certificate https://www.christophe-casalegno.com/tools/palidx(8 ou 9).sh
chmod +x palidx(8 ou 9).sh
./palidx(8 ou 9).sh -a admin@mydom.tld -n myserver.dom.tld -s 65022 -w 65000 -j 7 -l 1
Note: you can simply change the email address and run the script as it is if you do not want to change the default options (ports, Let’s Encrypt, etc.):
./palidx(8 ou 9).sh
Is that all? Really? Yes: you can now test your installation at the following URLs:
http://votreserveur/phpinfo.php (for http)
https://votreserveur:yourwebminport (for webmin)
http://votreserveur/munin (for munin)
ssh -l yourlogin yourserver -p ssh_port (for ssh)
You can also download the scripts directly from these addresses:
Debian 8: palid8.sh
Debian 9: paliv9.sh
Have fun!
—
Christophe Casalegno
https://twitter.com/Brain0verride