Sep 132016
 

Using PHP 7.0 on Ubuntu 16.04 LTS

Ubuntu 16.04 has switched to PHP 7.0 with a new infrastructure for PHP package. So, no, you can’t install php5 on Ubuntu 16.04, but you can install PHP 7.0 packages with:

apt-get install libapache2-mod-php

That will install a virtual package that depends on the latest PHP version and pull libapache2-mod-php7.0 as a dependency.

If you are looking for extensions, always use a version-less variant as well (e.g. php-apcu instead of php7.0-apcu) as the PECL extensions are packaged without the version to allow smooth upgrades.

Using PHP PPA to coinstall PHP 5.6 with PHP 7.0

There’s an option to co-install PHP 5.6 packages using ppa:ondrej/php.

For more information, please see that answer: http://askubuntu.com/a/762161/309221

Extracted from link above:

Assuming libapache2-mod-php is a suitable way to enable PHP in Apache for you, you can proceed in this way:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

Switch PHP version ( Apache ):

  • from php5.6 to php7.0:
    sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart
  • from php7.0 to php5.6:
    sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart
 Posted by at 10:44
Jul 202016
 

Introduction

I came across a few warnings when I wanted to list the modules of an
apache 2.4.7. server on an Ubuntu 14.04 server.

Error

This shocked me, but analyzing the server further showed me that
everything was up and running.

What’s going on?

There is nothing going on, except that if you request output from
the /usr/sbin/apache2 binary directly, the /etc/apache2/envvars file isn’t sourced.

Running the same command with apache2ctl gives correct output:

Mrt 032016
 

When you use rrdtool, it can happen that you first create your databases, then collect a whole bunch of data and decide later you want more accuracy/longer periods.
Especially when using zenoss (the monitoring solution I mostly work with at Kangaroot), which uses very conservative RRD settings by default (i.e. 5-minute intervals for only the first 50 hours). Zenoss provides a way for you to change the way RRD’s are created, but not to apply those settings to already existing RRD files, which I found out *after* I started monitoring everything 😉

rrdresize can help: it (just) adds or removes locations for rows.
In my case it was not good enough because zenoss uses a variety of resolutions (step sizes), and so if you add rows to all of them rrdtool – when graphing – will often pick a higher resolution RRA that just had rows added (and hence contain unknown values), even though you have the values, albeit at a lower resolution.

So you need a way to update all rows in the RRA’s.
I found a perl tool that does just that. (I think, I didn’t study all details). So, you install that in your /home/zenoss for instance and then you run the following script, which creates new rrd files with the new settings and uses the perl script to copy all data into it.

#!/bin/sh
# invoke me like this:
# find /usr/local/zenoss/zenoss/perf/ -name '*.rrd' -exec ./newrrd.sh {} \; >> newrrd-logfile

file=$1
backupdir=/home/zenoss/rrds-backup
newdir=/home/zenoss/rrds-new
[ -d "$backupdir" ] || mkdir -p "$backupdir" || exit 2
[ -d "$newdir"    ] || mkdir -p "$newdir" || exit 2
[ -f "$file"      ] || exit 3

echo "Processing $file .."
base="`basename "$file"`"
[ ! -f "$backupdir/$base" ] || mv "$backupdir/$base" "$backupdir/$base".old || exit 4
cp "$file" "$backupdir/$base"
cd "$newdir" && rrdtool create "$base" \
--step '300' \
--start '1230768000' \
'DS:ds0:GAUGE:900:U:U' \
'RRA:AVERAGE:0.5:1:122640' \
'RRA:AVERAGE:0.5:6:55536' \
'RRA:MAX:0.5:6:55536'
/home/zenoss/rrdremove.pl "$backupdir/$base" "$base" | grep -v 2009 # hide some output
cp "$base" "$file" || exit 5
echo "Done"

Oh and btw, rrdwizard is a cool webapp when you’re feeling too lazy/have forgotten how to write rrdtool commands

Dec 162015
 

With the release of Ubuntu 14.04 and the proliferation of PHP 5.5, there is going to be a migration away from Alternative Performance Cache (APC) and toward PHP’s new built-in OPcache.

This is a logical move that seems destined for any interpreted language. As websites have become more and more complicated with many processes running, opcode caching has become a necessity – fortunately, it’s simple to implement.

The php.net site has a nice page of all the runtime options available, but we will cover the basics here to get you started quickly.

All you need to do to get OPcache set up is to make changes in the php.ini file on your server.

Open php.ini In Your Favorite Text Editor
To get started open your php.ini file.

Apache web-servers

/etc/php5/apache2/php.ini

Enable the OPcache
To enable the OPcache, change to the following lines — easy enough!
;opcache.enable=0
Change to:

opcache.enable=1
Note: you have to uncomment this line as well as change the “0″ to “1″.

Modify the Amount of RAM the OPcache Will Use
With OPcache, there is a trade-off between speed and the amount of RAM used. The more RAM you are willing to dedicate to storing opcode, the more opcode that can be stored. There is a diminishing return at some point, because some code will execute rarely, or your code base might not be that big. It is worth playing with this setting to see where you get the best performance-versus-RAM trade-off. This setting is in megabytes.

;opcache.memory_consumption=64
Change to:

opcache.memory_consumption=128
Boost the Number of Scripts that Can Be Cached
OPcache has a strange setting that requires you to not only adjust the amount of RAM, but also define the number of scripts that can be cached. You have the option of tuning this parameter for your own application too, especially if you find that your hit rate is not close to 100 percent.

;opcache.max_accelerated_files=2000
Change to:

opcache.max_accelerated_files=4000
Change the Revalidate Frequency
To make sure that the OPcache notices when you change your PHP code, you can set the revalidate frequency. Basically, this will tell the cache how often to check the timestamp on the files. This is measured in seconds.

;opcache_revalidate_freq = 2
Change to:

opcache_revalidate_freq = 240
Verify that the PHP OPcache Mod is Enabled
Believe it or not, that converts most of the settings you will need to get started. PHP5 has its own module system (since 5.4), so make sure that OPcache is enabled.

sudo php5enmod opcache
Restart PHP and Your Server
You should now be all set to start using PHP 5.5’s OPcache. You just need to restart your server to get it going.

Apache Web-Servers

sudo service apache2 restart
Nginx Web-Servers

sudo service nginx restart
Conclus

Okt 072015
 
php-logo

PHP has different functions which can be used to test the value of a variable. Three useful functions for this are isset(), empty() and is_null(). All these function return a boolean value. If these functions are not used in correct way they can cause unexpected results.

isset() and empty() are often viewed as functions that are opposite, however this is not always true. In this post I will explain the differences between these functions.

Continue reading »

Jan 272015
 
microsoft-exchange

Exchange server has a recipient filter that prevents mail submissions to accounts that are not in the GAL (Global Address List).

First, let’s locate this configuration and then we’ll talk about how it works followed by thoughts about relay domains.

How to enable this feature

To enable this filter in Exchange 2003 you would visit the Message Delivery Properties screen, and select the checkbox next to Filter recipients who are not in the Directory. You would also need to enable it on each SMTP connection.

Continue reading »

Jan 202015
 
vpn

Als IPv6 nu al was doorgebroken, hadden we ze niet meer nodig, VPN verbindingen en inbel verbindingen. Helaas zijn deze verbindingen nu nog nodig om met een netwerk op afstand te verbinden. In de loop van de jaren heb ik heel wat VPN verbindingen in mijn lijst staan. Dit is erg vervelend als ik achter een nieuwe computer zit. Hier zou ik alle instellingen weer opnieuw moeten doen. Gelukkig is hier een snelle oplossing voor. Met een extra tool is het zelfs mogelijk de wachtwoorden uit te lezen en te kopiëren.

Continue reading »

Nov 042014
 
microsoft-office-2013-suite1

Bestanden van internet en andere mogelijk onveilige locaties kunnen virussen, wormen of andere soorten malware bevatten waardoor de computer kan worden beschadigd. Voor de bescherming van de computer worden bestanden van deze mogelijk onveilige locaties geopend in de beveiligde weergave. In de beveiligde weergave kunt u de risico’s verminderen terwijl u een bestand leest en de inhoud weergeeft.

Echter is dit soms ook erg vervelend. Om het bestand te bewerken moet een extra handeling worden uitgevoerd. Volgens de onderstaande stappen kan worden aangegeven welke bestanden wel in de beveiligde modus moeten worden geopend en welke niet. Continue reading »