Firefox Java Plugin – Debian Wheezy

By default Firefox has no Java plugin because of security issues.
One can install plugin by following next steps:
0. Exit Firefox browser if it is running
1. Make directory if it does not exist -> /usr/lib/mozilla/plugins
2. Make a symbolic link for libnpjp2.so file which resides in JRE directory, e.g.:

sudo ln -s /usr/lib/jvm/jdk1.8.0_20/jre/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/libnpjp2.so

Please note, that amd64 is an architecture of the OS you have installed, possibly it could be i386 in your case.
3. Start Firefox and type about:plugins in address box to check if browser able to see Java plugin.

Install proprietary Oracle JDK in Debian 7.0 Wheezy

This is a YAP (yet another post) about how one can manually install Oracle’s proprietary JDK/JRE version (in Debian 7.0 Wheezy as an example).

First of all, download fresh version of JDK/JRE from the Oracle website.
Copy archive to desired location, in the following example we will use

/usr/lib/jvm

as an installation source directory.
Unpack the archive and run next commands:

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk/bin/java 1071
sudo update-alternatives --install /usr/bin/javac javac /media/mydisk/jdk/javac 1071
sudo update-alternatives --install /usr/bin/jcontrol jcontrol /media/mydisk/jdk/bin/jcontrol 1071

You may need read man pages for update-alternatives to check out the parameters and what they mean.

Now, if you want freshly installed version of java/javac to be default in your system, run next commands:

sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config jcontrol

Follow the instructions issued by update-alternatives to select default version among the list of available installations.
After that, check if everything worked fine by issuing commands

java -version
javac -version

You should see 1.8.0 for both.

Install PHP 5.4 from DotDeb

In case if you want have latest php-5.4 both in CLI and with Apache-2.x it is better to install it through apt-get
You need to add these source to sources.list file:

deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all
deb http://packages.dotdeb.org squeeze-php54 all
deb-src http://packages.dotdeb.org squeeze-php54 all

If you are getting this error

W: GPG error: http://packages.dotdeb.org stable Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY E9C74FEEA2098A6E
W: GPG error: http://nginx.org squeeze Release: The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY ABF5BD827BD9BF62

you need follow such steps:

gpg --keyserver keys.gnupg.net --recv-key 89DF5277
gpg -a --export 89DF5277 | sudo apt-key add -
gpg --keyserver keyserver.ubuntu.com --recv-key ABF5BD827BD9BF62
gpg -a --export ABF5BD827BD9BF62 | sudo apt-key add -
sudo apt-get update

PHP-5.4 Debian – no suhosin, xcache, xdebug extensions

Today I have upgraded my Debian OS 6.0 (configured with apt-pinning).
Among the updates when called the dist-upgrade rolled a number of modules installed for php5. PHP was updated as well, actually up to version 5.4.0-2. But … then began weird problem – any local site did not work! In the logs were strange errors for, say, a website based on the framework, YII there was a message:

 [Sun Mar 25 13:32:51 2012] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined function (null) () in / home / web / ccc / frontend / index.php on line 4

And on that line 4 was nothing special, except call to dirname (__FILE__)!
Google-searching on the Internet for the similar error I did not find anything. Posted a bug on php.net.
But it’s something nasty! Nothing at all works…
I began to dig further. I tried to run php scripts from the console, in order to check – was really dirname () removed? 🙂 And found a number of outstanding notifications warnings:

rodush @ rdushko :/ var / www $ php test.php
Failed loading / usr/lib/php5/20090626 + lfs / xdebug.so: / usr/lib/php5/20090626 + lfs / xdebug.so: cannot open shared object file: No such file or directory
PHP Warning: PHP Startup: Unable to load dynamic library ‘/ usr/lib/php5/20100525 + lfs / suhosin.so’ – / usr/lib/php5/20100525 + lfs / suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library ‘/ usr/lib/php5/20100525 + lfs / xhprof.so’ – / usr/lib/php5/20100525 + lfs / xhprof.so: cannot open shared object file: No such file or directory in Unknown on line 0

Although the directive dirname() in the test file worked fine, and included a file that I requested.
Having looked in the directory specified in the message, I discovered that those libraries are indeed absent!
So far decided not fooling: once the libraries will be available – I will get them updated, so I decided to remove the configs for php for that libraries.
Theese config ini files are located in the directory / etc/php5/conf.d /
just renamed all the config files, which have not come during update, to files with the suffix “old” (handy for the future 🙂 I think)

suhosin.ini.old xdebug.ini.old xcache.ini.old xhprof.ini.old

I tried to call test script from the console – no more warnings php! I tried to go to the sites in a browser, and – lo and behold! – It works!
Thats what the magic may happen in case if php complains that it is impossible to add extra modules library.
So, now you may know where to start if you faced similar strange issues.