Easy Install PHP Mcrypt Extension on Ubuntu Linux

Most of web-based application development todays were developed using database. The most popular one is using PHP and MySQL. When developing using MySQL most of beginners were using phpMyAdmin as their power tools in database CRUD (Create-Read-Update-Delete) as well as databases/tables creation and manipulation.

PhpMyAdmin supports encryption feature which enables database developers to raise their application security bar in database. In order to use encryption feature in PHP, phpMyAdmin need a PHP library called mcrypt to be enabled. If it is not already installed during php installation, then you have to enabled it on php.ini either manually or automagically (by script).

Mcrypt is an interface to the mcrypt library, which supports a wide variety of block algorithms such as DES, TripleDES, Blowfish (default), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 and GOST in CBC, OFB, CFB and ECB cipher modes. Additionally, it supports RC6 and IDEA which are considered “non-free”. CFB/OFB are 8bit by default.

First what you need to do is checking whether mcrypt is already enabled on your php configuration or not. Create a phpinfo.php which contains only the following one line:

<?php phpinfo(); ?>

Save it on your web server document root. If your web server location is on the same computer as your web browser, access those file from web browser using the following URL:

http://localhost/phpinfo.php

or

http://127.0.0.1/phpinfo.php

localhost is the alias name of loopback ip address 127.0.0.1. Sometimes your computer couldn’t recognize localhost as 127.0.0.1 (as on my Mac computer), if so you have to use the latter URL.

If you see something like the above picture, then you’re set to go, PHP Mcrypt library is ready to be used on your application project.

If not, then you have to install it using the Ubuntu apt-get command:

apt-get install php5-mcrypt

and then Ubuntu’s aptitude will do the download and configuring the rest for you (automagically). Make sure your computer has internet access to download the required files and dependency.

After successfully installed, restart your (Apache) web server using the following command:

/etc/init.d/apache2 restart

or

service apache2 restart

Then refresh your browser using the same URL, you should see the mcrypt library loaded and you’re good to go. Hope this helps.

Notes:

Before executing any apt-get command, you have to execute those command as super user (root). Or append the apt-get command with sudo.

Sometimes you might get the message “php5-mcrypt is already the newest version“. If so, install with:

apt-get --reinstall install php5-mcrypt

Update:

In case someone still had an error of Mcrypt is not being installed, even after installing php5-mcrypt module using apt-get, find where your php.ini is located and put or enable (by removing the semicolon) the following line:

extension=mcrypt.so

and restart Apache.
In some systems, you have to find where php5 configuration folder is located (in my case it is on /etc/php5/conf.d/ directory) and put an mcrypt.ini file which contains

extension=mcrypt.so

save the file and restart Apache.
Hope this helps.

21 thoughts on “Easy Install PHP Mcrypt Extension on Ubuntu Linux

  1. I do consider all the concepts you’ve presented on your post. They are very convincing and can certainly work. Nonetheless, the posts are too quick for beginners. Could you please lengthen them a little from next time? Thank you for the post.

  2. Hi – I’ve installed it but it still isn’t available to PHP – how do I manually set it in php.ini to find mcrypt? Ubuntu 13.10 :)

  3. Same here, on 13.10 64bits. Didn’t have the problem on 32 bits before. PHP myadmin keeps complaining that mcrypt extension is missing and following your instructions as from above doesn’t change that. Results in saying mcrypt has been installed and is ready for manual installation.
    Any idea on what to do?

    • Had the same problem with mcrypt missing in Ubuntu 13.10 (though I was configuring roundcube rather than php myadmin). It seems that a change to the directory structure under /etc/php5/apache2 has caused a problem and mcrypt doesn’t get found. A quick workaround is to issue the command “sudo ln -s ../../conf.d/mcrypt.ini /etc/php5/apache2/conf.d/” and restart apache2.

  4. ok, it is good, i like them.Thank you very much Mr. Aryo Pinandito, a very helpful article. The writing is very detailed and also using vocabulary that is easily understood by beginners like me, became more eager to learn hehe.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

CAPTCHA Image

*

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>