Tuxlite 3.0
TuxLite 3.0 now available for download. This release supports:
Debian 6 Squeeze
Debian 7 Wheezy
Ubuntu 12.04 LTS Precise Pangolin
Ubuntu 12.10 Quantal Quetzal
Ubuntu 13.04 Raring Ringtail
Changes And New Features
Unattended Install
Installation process is now fully automated.
No longer requires user input.
Added MariaDB option
Choice of installing regular MySQL or MariaDB.
MariaDB packages uses external official repo (mariadb.org).
Added option to use nginx.org repository.
Uses latest stable release instead of outdated Debian packages.
Has fewer compiled in modules.
APT Setup Now Uses Geolocation Mirrors
Simplified (removed) the APT_REGION option in options.conf.
Replaced with option to disable modification of APT sources.list.
APT is now configured to use either Debian Redirector (http.debian.net) or Ubuntu APT mirrors.
Added Support for Recent Distribution Releases
Support for Debian 7 and Ubuntu 13.04.
Updated Configuration Files
Improved nginx.conf, apache2.conf and virtualhost config files.
In case you haven’t noticed. Most of the changes have been available for a while now at TuxLite’s Github. You can follow the recent developments there.
Future Updates
It is rather insane that Debian 7 ships with such an outdated version of Apache (2.2) when the latest stable (version 2.4) was released over a year ago. This is somewhat disappointing because 2.4 comes with many important features (e.g. better performance, mod_proxy_fcgi) as well as the removal of legacy configs (e.g. NameVirtualHost). Perhaps it might be a good time to start looking at how Apache 2.4 can be added to Debian Wheezy in a safe manner. Generally however, this isn’t an issue because Nginx is a better choice for most situations these days.
Some additional features are in the pipeline for this release version.
Option to selectively install certain packages only instead of the full LAMP/LNMP stack.
[Completed] Option to install Nginx from the official Nginx.org repository. This allows for much faster updates due to the rapid development of Nginx.
[Maybe] Option to use single user mode. Virtualhost configs points to /srv/www instead of /home/user/domains
Some scripts (varnish.sh, wordpress.sh, backup.sh) have not been updated in a while. Future work will be on cleaning up the codebase, even though the scripts function well without issues.
Installation
Create directory to hold TuxLite scripts and enter new directory.
1 2 |
mkdir tuxlite cd tuxlite |
Download the desired script. Copy script link from “Download” section.
1 |
wget http://tuxlite.com/scripts/tuxlite.tar.gz |
Extract contents of tarball.
1 |
tar xzf tuxlite.tar.gz |
Or download using Git (ignore this section if you are unfamiliar with Git).
1 2 3 |
aptitude install git git clone https://github.com/Mins/TuxLite.git cd TuxLite |
Edit options to enter server IP, MySQL password etc.
1 |
nano options.conf |
Make all scripts executable.
1 2 |
chmod 700 *.sh chmod 700 options.conf |
Update APT database and install aptitude.
1 |
apt-get update && apt-get -y install aptitude |
Explore script functionalities.
1 2 |
./setup.sh ./domain.sh |
Install LAMP or LNMP stack.
1 |
./install.sh |
Add a new Linux user and add domains to the user.
1 2 3 |
adduser johndoe ./domain.sh add johndoe yourdomain.com ./domain.sh add johndoe subdomain.yourdomain.com |
Install Adminer or phpMyAdmin
1 |
./setup.sh dbgui |
Enable/disable public viewing of Adminer/phpMyAdmin
1 2 |
./domain.sh dbgui on ./domain.sh dbgui off |
Enable/disable public viewing of AWStats. Allow 24 hours from adding domain to viewing its statistics.
1 2 |
./domain.sh stats on ./domain.sh stats off |
Install and enable Varnish. Do not use Varnish unless you know how to configure the VCL.
1 2 3 |
./varnish.sh install ./varnish.sh on ./varnish.sh off |
Post Install
Your install is complete and your site works. Great! Now what? As a responsible sysadmin you will need to perform some maintenance and post install procedures.
Occasionally update your server using
1 2 |
aptitude update aptitude safe-upgrade |
Set up cronjobs to backup your databases and sites. The backup.sh script can do this for you. Remember to download and keep copies of your sites locally.
Enable/Disable phpMyAdmin and AWstats from being publicly accessible. This is to prevent brute force attacks on your server. Enable only when you need them.
Consider tweaking configurations to better utilize the amount of memory available to your server. Read the readme for respective web stacks for more information on config files to edit.
Install Fail2Ban to protect your server from brute force SSH login attempts.
1 |
aptitude install fail2ban |
Install DDOS Deflate script to mitigate denial of service attacks. Refer here http://deflate.medialayer.com/
You may also refer to the tutorials section for other further tweaks.