Install Python 2.7.2 from source on Ubuntu 10.04 LTS

The first thing I did was to create a wwwuser that I plan to run pyramid under. As a result, I am intentionally installing Python 2.7.2 under only 1 user account, and am leaving the system wide python installation unchanged.

useradd wwwuser
passwd wwwuser
cd /home
mkdir wwwuser
chown wwwuser:wwwuser wwwuser

Copy all of the hidden files into the /home/wwwuser folder. I did this from my desktop files.

vi /etc/passwd
Update the shell to be:
/bin/bash

su - wwwuser
ln -s .profile .bash_profile
mkdir bin
mv Python-2.7.2.tgz bin
cd bin
tar -xzf Python-2.7.2.tgz
cd Python-2.7.2
./configure --prefix /home/wwwuser/bin/Python-2.7.2
make
make install

vi ~/.profile
Update path to:
PATH="$HOME/bin:/home/wwwuser/bin/Python-2.7.2/bin:$PATH"

source ~/.profile

which python
/home/wwwuser/bin/Python-2.7.2/bin/python

python --version

The output of the python --versioncommand should now be Python 2.7.2.

Advertisements

Install MySQL 5.5 on Ubuntu 10.04 LTS running in the Rackspace Cloud

Update April 23, 2012
I added new instructions for adding the MySQL libs to the loader path. Failure to add the libs to the loader path will cause errors when you try to run/build programs that depend on MySQL, such as installing the MySQL driver for Pyramid (Python).

Update April 18, 2012
Thanks to Lampros for pointing out that WordPress was converting double dashes into single dashes “-“. I have updated the post so that double dashes are displayed correctly.

The following are installation notes for MySQL 5.5 on Ubuntu 10.04 LTS running on the Rackspace cloud.

Download MySQL

Download the MySQL package from http://www.mysql.com in the ~/Downloads directory.

Download the following package from http://www.mysql.com/downloads/mysql/#downloads by selecting Debian Linux from the Select Platform drop-down list:

mysql-5.5.22-debian6.0-x86_64.deb

Installation Prerequisities

After the download is complete, open a terminal and execute the following commands:

Note:
libpthread-stubs0 libpthread-stubs0-dev coreutils are really not required, but I installed them as I was working through another issue.

apt-get install build-essential cmake libncurses5-dev libaio-dev bison libpthread-stubs0 libpthread-stubs0-dev coreutils

Setup the MySQL User and Group

groupadd mysql

useradd -r -g mysql mysql

Install MySQL

cd ~/Downloads

dpkg -i mysql-5.5.22-debian6.0-x86_64.deb

Note:

MySQL is now installed into the following directory:

/opt/mysql/server-5.5

cd /opt
chown root:root mysql
cd mysql
chown root:root server-5.5
cd server-5.5
chown -R mysql:mysql ./*
./scripts/mysql_install_db --user=mysql
chown mysql:mysql ./*
cd lib
chown -h mysql libmysqlclient.so libmysqlclient.so.18 libmysqlclient_r.a libmysqlclient_r.so libmysqlclient_r.so.18 libmysqlclient_r.so.18.0.0
cd ../support-files/

Note:
Decide which of the configuration files meets your needs, then copy it to /etc.

cp my-medium.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql

Add MySQL to PATH

vi /etc/environment

Add the following to the end of the path:

/opt/mysql/server-5.5/bin

Example:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/mysql/server-5.5/bin"

source /etc/environment

Start the MySQL Server

/etc/init.d/mysql start

Set the MySQL Server to Start on Boot

update-rc.d mysql defaults

Create a root Password and Secure the Server

The following is the most basic and minimal security, but the steps below are required for a production server.

/opt/mysql/server-5.5/bin/mysql_secure_installation

Check the security settings:

mysql -u root -p
mysql> use mysql;
mysql> SELECT User, Host, Password FROM mysql.user;

Note:
None of the password fields should be blank.

Add the MySQL Libs to the Loader Path

We now need to update our loader path to include the MySQL libs. This is important for any future work we do that depends on the MySQL libraries, such as installing a MySQL driver for Pyramid.

cd /etc/ld.so.conf.d
vi mysql.conf

Paste in the following:

# MySQL 5.5 Libraries
/opt/mysql/server-5.5/lib

ldconfig

Post installation checks

mysqladmin version -u root -p
mysqladmin variables -u root -p