From Crescendo's Forums About Server Migration (since the general information is still accurate but not precise):
Server Setup1.Choosing A Host
2.Host Approval and System Hardware and Operating System Installation
3.SSH Information Obtained
4.Install Following:
-Shorewall
-Establish Firewall Permissions: eAthena 5221-5222, 6221-6222, 6990-6991, MySQL 3306, SSH 22)
-MySQL-Server (5.0)
-MySQL-Client (5.0)
-MySQL-Common (5.0)
-Secure MySQL
-Create Databases and Permissions (Hostmasks and Passwords)
-eAthena
-Logging
-Website/Control Panels
-Subversion
-Obtain eAthena Builds
-LibMySQLClient15-DEV
-Compile eAthena Builds
5.Test eAthena Operation
-Load Test Databases
-Wipe Clean In Preparation
6.Prepare Backup Crontabs
7.Install Monitoring And Maintenance Tools
-Schedutils (For Threading)
-Iptraf (Monitoring Network Input/Output)
-Vnstat (Bandwidth Consumption Logging)
-Bzip2 (Compression For Backups)
8.Setup Extra Emergency Website Additions
-Apache-Common
-Apache2
-Apache2-Common
-Apache2-MPM-PR
-Apache2-Utils
-PHP4
-PHP4-Common
-PHP4-GD
-PHP4-MySQL
-LibApache2-MOD-PHP4
-Backup Control Panel Setup
-LibApache2-SVN
-Backup Development SVN Information
9.Announce ~One Hour Downtime
10.Bring Down Current Server
11.Transfer MySQL Databases Between Servers
12.Final Clean-Up Checks
13.Launch New Server
14.Direct Players To New Client Installation
15.We Have Moved
Update /etc/apt/sources.list
deb http://ftp.us.debian.org/debian/ lenny main
deb-src http://mirrors.kernel.org/debian/ lenny main
deb http://security.debian.org/ lenny/updates main contrib
deb-src http://security.debian.org/ lenny/updates main contrib
#deb http://volatile.debian.org/debian-volatile lenny/volatile main
#deb-src http://volatile.debian.org/debian-volatile lenny/volatile main
apt-get update
apt-get upgrade
MySQL
apt-get install mysql-server-5.0
apt-get install mysql-client-5.0
apt-get install mysql-common
apt-get install libmysqlclient15-dev
* Modify /etc/mysql/my.cnf to allow outside connection by commenting out "bind-address = 127.0.0.1"
Grant ALL Access By Logging Into root MySQL:
--> mysql -p'Password'
--> USE mysql;
--> SELECT * FROM user;
--> GRANT ALL privileges ON *.* TO 'root'@'%' IDENTIFIED BY 'Password' WITH GRANT OPTION;
mysqladmin flush-hosts
mysqladmin flush-privileges
Subversion
apt-get install subversion
Extra Tools
apt-get install schedutils
apt-get install iptraf
apt-get install vnstat
apt-get install bzip2
G++
--> g++ -v
-bash: g++: command not found
--> apt-get install g++
Perl
--> perl -v | grep perl
This is perl, v5.10.0 built for x86_64-linux-gnu-thread-multi
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
--> apt-get upgrade perl-base
Perl Time
--> perl -e 'use Time::HiRes;'
(If No Output, Stop)
--> apt-get install libtime-hires-perl
Perl Compress
--> perl -e 'use Compress::Zlib;'
(If No Output, Stop)
--> apt-get install libcompress-zlib-perl
Libreadline5-Dev
--> apt-get install libreadline5-dev
Gmake
--> gmake -v (make -v)
-bash: gmake: command not found
--> apt-get install make
Python
--> echo 'print "Blah"' | python
-bash: python: command not found
--> apt-get install python
Libcurl
--> curl-config --version
-bash: curl-config: command not found
apt-get install libcurl3-dev (updated: libcurl4-openssl-dev)
Extra Website
apache2
apache2.2-common
apache2-mpm-prefork
apache2-utils
php5
php5-common
php5-gd
php5-mysql
libapache2-mod-php5
- Backup Control Panel Setup
libapache2-svn
- Backup Development SVN Information
Shorewall
shorewall
Crontab Setup
--> crontab -l
# m h dom mon dow command
0 0 * * * /home/Amistr/Archive/Daily.sh
30 * * * * /home/Amistr/Archive/Quick.sh
PCRE
apt-get update
# apt-get install libpcre3 libpcre3-dev