Have you ever run vagrant destroy
on your box before you realized you wanted to keep the MySQL databases? Well I have, last night actually. Thankfully I use the wonderful and free Veeam Endpoint Backup to backup daily and was able to restore the old VMDK, connect it to a VirtualBox VM, use Ubuntu recovery mode to gain access, and then backup the databases to a shared folder. So that was an exciting learning experience. [Read more…]
APT Repository for Old Ubuntu Releases
Recently I installed Ubuntu Server 6.06 (Dapper) on an old Sun Blade 100 which has a SPARC processor. The installation on a Sun Blade 100 has its own quirks, but after getting it up and running I of course wanted to make sure it had the latest software versions and security updates that it could support.
Problem
After support for an old Ubuntu releases has been dropped the folks at Canonical remove the repositories from their main repository servers such as archive.ubuntu.com
and security.ubuntu.com
. So, when you run sudo apt-get update
you are met with a list of errors telling you that the your configured repositories were not found.
Solution
To get back on the repository train, edit your /etc/apt/sources.list
and replace all instances of archive.ubuntu.com
and security.ubuntu.com
with the very fitting old-releases.ubuntu.com
. After that, run sudo apt-get update
and watch the repository indexes roll in!
Here is an example of an updated /etc/apt/sources.list
for Ubuntu 6.06 (Dapper):
## Uncomment the following two lines to fetch updated software from the network
deb http://old-releases.ubuntu.com/ubuntu dapper main restricted
deb-src http://old-releases.ubuntu.com/ubuntu dapper main restricted
## Uncomment the following two lines to fetch major bug fix updates produced
## after the final release of the distribution.
deb http://old-releases.ubuntu.com/ubuntu dapper-updates main restricted
deb-src http://old-releases.ubuntu.com/ubuntu dapper-updates main restricted
## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb http://old-releases.ubuntu.com/ubuntu dapper universe
deb-src http://old-releases.ubuntu.com/ubuntu dapper universe
deb http://old-releases.ubuntu.com/ubuntu dapper-security main restricted
deb-src http://old-releases.ubuntu.com/ubuntu dapper-security main restricted
deb http://old-releases.ubuntu.com/ubuntu dapper-security universe
deb-src http://old-releases.ubuntu.com/ubuntu dapper-security universe
deb http://old-releases.ubuntu.com/ubuntu dapper multiverse
deb-src http://old-releases.ubuntu.com/ubuntu dapper multiverse
deb http://old-releases.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse
That’s it for today, I hope this has helped you get the software you need onto an old Ubuntu installation.
Installing Metadot on Ubuntu Server 9.04
Installing Ubuntu 9.04 on Virtual PC
Note: If not installing to Virtual PC, ignore any steps that have to do with GRUB, menu.lst and modifying the boot command line.
1. Boot to installation CD
2. Choose a language (English)
3. Press F6 and then ESC
4. Add “vga=791 noreplace-paravirt” before “quiet” in the boot command line and press ENTER
5. Choose a language (English)
6. Choose a country (United States)
7. Detect keyboard layout (No)
8. Origin of keyboard (USA)
9. Keyboard layout (USA)
10. Choose hostname (metadot6)
11. Choose time zone (Central)
12. Choose partition method (Guided – use entire disk and setup LVM)
13. Choose hard drive to partition (SCSI1 (0,0,0) – (sda))
14. Write the changes to disk and setup LVM (Yes)
15. Choose amount of volume group to use for guided partitioning (max)
16. Write the changes to disk (Yes)
17. Enter Full Name for new account
18. Enter Username for account
19. Enter Password for account
20. Encrypt your home directory (No)
21. Choose proxy (leave blank)
22. Choose upgrade management (Install security updates automatically)
23. Choose software to install (LAMP, OpenSSH, Samba)
24. Enter MYSQL root password
25. Installation is complete, continue to reboot automatically. IMPORTANT: Read next three steps before continuing
26. During boot, when GRUB menu shows, press ESC, E, and E again to edit the boot line
27. Add “vga=791 noreplace-paravirt” before “quiet” in the boot command line
28. Press ENTER and B to boot
29. Login with your admin account
30. Run: sudo nano /boot/grub/menu.lst
31. Find normal kernel boot command line in bottom part of file and add “vga=791 noreplace-paravirt” before “quiet”
32. Ctrl+O, ENTER and Ctrl+X to save and exit
33. Run: sudo reboot
Configure a Static IPv4 Network Address
1. Login with your admin account
2. Run: sudo nano /etc/network/interfaces
3. Remove the “iface eth0 inet dhcp” configuration line under the “# The primary network interface” section
4. Replace with the following:
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
5. Ctrl+O, ENTER and Ctrl+X to save and exit
6. Run: sudo /etc/init.d/networking restart
7. Test pinging 192.168.1.10 from another PC
Install Latest Ubuntu Updates
1. Login with your admin account
2. Run: sudo apt-get update
3. Run: sudo apt-get upgrade
4. Run: sudo apt-get dist-upgrade
5. What to do with menu.lst (keep the local version)
6. Run: sudo reboot
Configure MySQL Server
1. Login with your admin account
2. Run: sudo nano /etc/mysql/my.cnf
3. Comment out the lines “skip-external-locking” and “bind-address = 127.0.0.1”
4. Ctrl+O and Ctrl+X to save and exit
5. Run: mysql -uroot -p mysql
6. Enter MySQL password
7. Run the following SQL commands:
update user set Host='%' where Host='127.0.0.1' and User='root';
FLUSH PRIVILEGES;
quit
8. Run: sudo /etc/init.d/mysql restart
9. Test connecting with HeidiSQL
Install Metadot6
1. Connect to the server with an SSH client and then login with your admin account
2. Run: sudo apt-get clean
3. Run: sudo apt-get install libapache2-mod-speedycgi speedy-cgi-perl libwww-perl libdbi-perl libapache2-mod-perl2 libapache-dbi-perl libxml-rss-perl libnet-ldap-perl liblog-agent-perl libmail-pop3client-perl libio-stringy-perl libmailtools-perl libmime-tools-perl libunicode-string-perl libspreadsheet-writeexcel-perl libdate-calc-perl libappconfig-perl libimage-size-perl libtemplate-perl liblingua-en-nameparse-perl libnumber-format-perl libxml-simple-perl libtext-csv-xs-perl libarchive-zip-perl libdate-manip-perl libxml-dumper-perl libhtml-tree-perl libhtml-format-perl
4. Run: sudo apache2ctl restart
5. Run: sudo -i
6. Run: useradd -m metadot
7. Run: passwd metadot
8. Enter password (metadot)
9. Run: chsh -s /bin/false metadot
10. Run: cd /home/metadot
11. Run: wget http://download.metadot.com/v6/Metadot6.4.5.4.tar.gz
12. Run: tar -zxvf Metadot6.4.5.4.tar.gz
13. Run: chown -R www-data.www-data metadot
14. Run: find . -type d -exec chmod 755 {} \;
15. Run: find . -type f -exec chmod 644 {} \;
16. Run: chmod -R o+w /home/metadot/metadot/sitedata
17. Run: chmod -R o+w /home/metadot/metadot/html
18. Run: chmod 640 /home/metadot/metadot/etc/metadot.conf
19. Run: exit
20. Run: sudo mysql -uroot -p mysql
21. Enter MySQL password
22. Run the following SQL commands:
INSERT INTO 'user' VALUES ('localhost','metadot',password('metadot'),'Y','Y','Y','Y','Y','Y','N','N','N','N','N','Y','Y','Y','N','N','N','N','N','N','N','N','N','N','N','N','N','N','','','','','0','0','0','0');
FLUSH PRIVILEGES;
CREATE DATABASE 'metadotdb';
use metadotdb;
SOURCE /home/metadot/metadot/default_data/sampledata.sql;
quit
23. Run: sudo /etc/init.d/mysql restart
24. Run: sudo nano /home/metadot/metadot/etc/metadot.conf
25. Change “pass=changeme” to “pass=metadot”
26. CTRL+O, ENTER and CTRL+X to save and exit
27. Run: sudo nano /etc/apache2/sites-available/metadot
28. Use the following configuration:
ServerAdmin webmaster@localhost
DocumentRoot /home/metadot/metadot/html
DirectoryIndex index.html index.php
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /images/ /home/metadot/metadot/html/images/
Alias /js/ /home/metadot/metadot/html/js/
Alias /metadot/ /home/metadot/metadot/metadot/
Alias /public/ /home/metadot/metadot/sitedata/public/
Alias /skins/ /home/metadot/metadot/sitedata/skins/
# mod_perl2 goodness
PerlOptions +Parent
PerlOptions -ParseHeaders
PerlSwitches -Mlib=/home/metadot/metadot/metadot
use Cwd;
chdir "/home/metadot/metadot/metadot/";
1;
DirectoryIndex index.pl
SetHandler speedycgi-script
PerlHandler ModPerl::Registry
Options +ExecCGI
29. Run: sudo a2dissite default
30. Run: sudo a2ensite metadot
31. Run: sudo apache2ctl restart
32. Test going to http://192.168.1.10 with a browser on another PC
Additional Resources
Download metadot user and admin guide (PDF)
Skin cookbook (DOC)