Installing usual Software Tools and Development
header files and libraries on a newly installed Debian Server
Today I start my work as a system administrator for a new IT
company.
My first duties include configuration and installation of some
usual programs
used in everyday's sys admin job.
In that manner of thoughts I have long ago realized there is a
common group of
tools and software I had to install on almost each and every new
configured
Debian GNU / Linux running Server.
Here is a list of packages I usually install on new Debian
systems,
even though this exact commands are expected to be executed on
Debian (5.0) Lenny
I believe they are quite accurate for Debian Testing and Debian
Testing/Unstable,
bleeding edge distributions.
Before I show you the apt-get lines with all the packages, I would
advice you to install
and use
netselect-apt to select the fastest Debian package
mirror near you
So to install and use run the following commands;
aptitude install netselect-apt
netselect-apt -n lenny
Now as netselect-apt would have tested for the fastest mirror and
created
sources.list
file in your current directory, open the sources.list file and
decide what should enter your
official
/etc/apt/sources.list file or in other words merge
the two files as you like.
Good, now as we have a fast mirror to download our packages let's
continue further with the
packages to install.
Excecute the following command to install some of the basic tools
and packages:
# install some basic required tools, software and header
files
debian-server:~# apt-get install tcpdump mc ncurses-dev htop iftop
iptraf nmap tcpdump apache2 apachetop \
mysql-server-5.0 phpmyadmin vnstat rsync traceroute tcptrace
e2fsprogs hddtemp finger mtr-tiny\
netcat screen imagemagick flex snort mysql-server-5.0 sysstat
lm-sensors alien rar unrar util-linux curl \
vim lynx links elinks sudo autoconf gcc build-essential dpkg-dev
webalizer awstats ntp ntpdate
Herein I'll explain just a few of the installed package and their
install
purpose,as they could be unknown to some of the people out
there.
apachetop - monitors apache log file in real time similar to
gnu top
iftop - display bandwidth usage on selected interface
interactively
vnstat - show inbound & outbound traffic usage on selected
network interfaces
e2fsprogs - some general tools for creation of ext2 file systems
etc.
hddtemp - Utility to monitor hard drive temperature
mtr-tiny - matt's traceroute great traceroute proggie
netcat - TCP/IP swiss army knife, quite helpful for network
maintance tasks
snort - an Intrusion Detecting System
build-essential - installs basic stuff required for most
applications compiled from source code
sysstat - generates statistics about server load each and every ten
minutes, check man for more
lm-sensors - enables you to track your system hardware sensors
information and warn in CPU heatups etc.
I believe the rest of them are no need to be explained, if you're
not familiar with them check the manuals.
So far so good but this is not all I had to install, as you
probably know most Apache webservers nowadays
are running PHP and are using a dozen of PHP libraries / extensions
not originally bundled with PHP install
Therefore here are some more packages related to php to install
that would install some more php goodies.
# install some packages required for many php enabled
applications
debian-esrver:~# apt-get install php-http php-db php-mail
php-net-smtp php-net-socket php-pear php-xml-parser \
php5-curl php5-gd php5-imagick php5-mysql php5-odbc php5-recode
php5-sybase php5-xmlrpc php5-dev
As I said that is mostly the basic stuff that is a must have on
most of the Debian servers I have
configured this days, of course this is not applicable to all
situations, however I hope
this would be of use to somebody out there.