Installing Subversion and MySQL

Aug 30, 2007

I first got forced into using source control management (scm) systems when I first began working as part of a team of developers and there was times we'd need to edit the same parts of the system. It wasn't too long until those good habits trickled into the stuff I worked on by myself, and for good reason. It's nice to always have an undo option for those time when you go "Whoops!". Subversion (SVN to some) is the version control tool du jour for many, so lets keep it simple to begin with and start with that. I've included installing MySQL and Postgres as well, because well it's version control and databases finish off what you need to have your app deployed; and because they are all pretty straight-forward

Installing Subversion

So first subversion. We will go get the subversion source, the dependencies package (zlib compression support, support for http(s):// repositories, etc), and then configure and install:

wget http://subversion.tigris.org/downloads/subversion-1.4.5.tar.gz

wget http://subversion.tigris.org/downloads/subversion-deps-1.4.5.tar.gz

tar zxf subversion-1.4.5.tar.gz

tax zxf subversion-deps-1.4.5.tar.gz

cd subversion-1.4.5

./autogen.sh

./configure --prefix=/usr/local --with-openssl --with-ssl=openssl

make; sudo make install; make clean;

cd ..


Installing MySQL

Now it's time for MySQL. You'll need to ensure you've got the g/c++ libraries installed for this one:

wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.45.tar.gz/from/http://www.mirrorservice.org/sites/ftp.mysql.com/

tar zxf mysql-5.0.45.tar.gz

cd mysql-5.0.45

./configure --prefix=/usr/local

make; sudo make install; make clean;

./scripts/mysql_install_db

sudo cp support-files/mysql.server /etc/init.d/mysql

sudo chmod 755 /etc/init.d/mysql

sudo /sbin/chkconfig --level 345 mysql on

sudo /usr/sbin/adduser mysql -r

sudo chown -R root:mysql /usr/local/mysql

sudo chown -R mysql:mysql /usr/local/mysql/var

sudo cp support-files/my-medium.cnf /etc/my.cnf

cd ..


MySQL has just been installed, the standard tables populated, permissions, users, and configs have been setup and it is set to start itself on start-up/reboot. Now you'll need to issue a secure root password to the new server, so run the following command:

/usr/local/bin/mysqladmin -u root password 'new-password'


Replacing new-password with whatever you'd like your secure password to be. Once that is all done, start up the service manually as the mysql user:

sudo /usr/local/mysql/bin/safe_mysqld --user=mysql &
Hi, I'm Glenn! 👋 I've spent most of my career working with or at startups. I'm currently the Director of Product @ Ockam where I'm helping developers build applications and systems that are secure-by-design. It's time we started securely connecting apps, not networks.

Previously I led the Terraform product team @ HashiCorp, where we launched Terraform Cloud and set the stage for a successful IPO. Prior to that I was part of the Startup Team @ AWS, and earlier still an early employee @ Heroku. I've also invested in a couple of dozen early stage startups.