/lowendscript

Bash scripts to set up/bootstrap low end virtual servers

Primary LanguageShell

Currently system, exim4, csf, nginx, mysql, php, htmlsite, drupal6, drupal7 commands are working. Others are being fixed and don't work.

A simple bash shell script to optimize your Debian or Ubuntu VPS server for serving PHP and MySQL driven website platforms like Drupal and Wordpress.

TESTED ON

  • Ubuntu 10.04 LTS, Ubuntu 12.04 LTS
  • Debian 5, Debian 6

INSTALLATION

Download setup-debian.sh using one of the following commands:

wget --no-check-certificate https://github.com/sk33lz/lowendscript/raw/master/setup-debian.sh

or

git clone git://github.com/sk33lz/lowendscript.git

USAGE

This script should be run by the root user for maximum compatibility.

Install System Tools

Installs Dropbear, cron, and inetutils-syslog (replaces rsyslog), htop, smartmontools

Command:

bash setup-debian.sh system

Install ConfigServer Firewall

Installs Config Server Firewall for server security and intrusion detection. Edit the /etc/csf/csf.cfg file to add your email address, or enable specific ports.

Command:

bash setup-debian.sh csf

Install Exim4 Mail Server

Lightweight replacement for sendmail. Re-configured to allow Internet delivery.

Command:

bash setup-debian.sh exim4

Install Nginx HTTP Server

Low memory footprint httpd replacement for Apache web server.

Command:

bash setup-debian.sh nginx

Install MySQL Database Server

Re-configured to remove innodb support, remove query cache, and reduce key buffer size.

Command:

bash setup-debian.sh mysql

Install PHP FastCGI.

Built-in FastCGI running only 1 child process with respawn after 5,000 request.

Command:

bash setup-debian.sh php

Install Wordpress

Installs the latet version of Wordpress. Then creates the Virtual Host configuration for the domain supplied in the command, the MySQL Database, the Database User, and the Database User Password.

Example Command: (Creates a Wordpress site for example.com in /var/www/)

bash setup-debian.sh wordpress example.com

Install Drupal 6

Installs the latest version of Drupal 6. Then creates the Virtual Host configuration for the domain supplied in the command, the MySQL Database, the Database User, and the Database User Password..

Example Command: (Creates a Drupal 6 installation for example.com in /var/www/example.com)

bash setup-debian.sh drupal6 example.com

Install Drupal 7

Installs the latest version of Drupal 7. Then creates the Virtual Host configuration for the domain supplied in the command, the MySQL Database, the Database User, and the Database User Password..

Example Command: (Creates a Drupal 7 installation for example.com in /var/www/example.com)

bash setup-debian.sh drupal7 example.com

Install Magento Community Ecommerce CMS

Installs the latest version of Magento Community, the best open source Ecommerce solution available today.

Example Command: (Creates a Magento Community installation for example.com in /var/www/vhosts/magento/example.com)

bash setup-debian.sh magento example.com

Install HTML Site

Creates a directory and sets up the Nginx mapping for the supplied domain name. Also adds a simple index.html file in the domains directory.

Example Command: (Creates HTML site directory for example.com in /usr/share/nginx/www/example.com)

bash setup-debian.sh htmlsite example.com

SOFTWARE STACK

Dropbear

Replaces openssh. Invoked from xinetd.

Inetutils-syslogd

Replaces resyslog.

Exim4

Replaces sendmail (if installed). Re-configured to allow Internet delivery.

Cron

Schedule tasks on your server, similar to that of the task manager in Windows.

Nginx

Lightweight httpd replacement for Apache web server.

MySQL

Optimized with innodb and query caching removed with reduced key buffer size.

PHP

Optimized PHP built with FastCGI and only running 1 child process which respawns ever 5,000 requests.