Monday, November 12, 2012

Friday, November 9, 2012

PHP SimpleXml - generate XML document

SimpleXml generate XML document from PHP:

$oXml = new SimpleXMLElement('<itemlist></itemlist>');
foreach($aItems as $aItem)
{
    $oXmlParameter = $oXml->addChild('item');
    $oXmlParameter->addChild('title', htmlentities($aItem['title']));
    $oXmlParameter->addChild('description',
htmlentities($aItem['description']));
}
header('Content-type: text/xml');
echo $oXml->asXML();
exit;

Apache https virtual host

 Apache https virtual host example:

<IfModule ssl_module>
<VirtualHost *:443>

SSLEngine on
SSLCertificateFile "/path-to-apache-ssl-folder/server.crt"
SSLCertificateKeyFile "/path-to-apache-ssl-folder/server.key"
 
#SSLCertificateKeyFile "/path-to-apache-ssl-folder/server.pem" 
BrowserMatch "MSIE [2-5]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

Define HOST hostname.com

ServerName    ${HOST}
DocumentRoot  /path-to-https-document-root

ErrorLog     
/path-to-apache-logs-folder/${HOST}_https_error.log
CustomLog    
/path-to-apache-logs-folder/${HOST}_https_access.log combined


RewriteEngine On
# ...

</VirtualHost>
</IfModule>

Apache https SSL certificates

Generate certificates:

$ openssl genrsa -des3 -rand rand-seed1.gz:rand-seed2.gz -out server.key 2048
$ openssl rsa -in server.key -out server.pem
$ openssl req -new -key server.key -out server.csr
$ openssl x509 -req -days 180 -in server.csr -signkey server.key -out server.crt

$ # remove password from key file:
$ openssl rsa -in server.key -out server.key.nopass

Apache conf:

SSLEngine on
SSLCertificateFile "/path-to-apache-ssl-folder/server.crt"
#SSLCertificateKeyFile "/path-to-apache-ssl-folder/server.pem"

SSLCertificateKeyFile "/path-to-apache-ssl-folder/server.key"
BrowserMatch "MSIE [2-5]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

Thursday, November 8, 2012

Shell scripting: conditional string concatenation

Run a different command depending on an input parameter. Make use of an if statement, concatenate 2 strings and run the resulting bash command.

#!/bin/bash

if [[ "$1" == "pro" ]]; then

part1="ls -la"
else
part1="ls"
fi


part2="/home/dir";

command=$part1$part2;

eval $command


Shell scripting if else example

Script example that accepts one parameter.

Example:

./my-script.sh param1 # - string comparison
./my-script.sh 100 - # integer comparison

Integer comparison

if [ $1 -eq 100 ]; then
echo "Parameter equals 100"
else
echo "Parameter is not equal to 100"
fi

# Other possible values for comparison operator: -qe, -ne, -gt

String comparison

if [[ "$1" == "param1" ]]; then
echo "Comparison match"
else
echo "String does not match / parameter invalid, etc"
fi

Svn server, create new svn project

Svn server, create new project:

svnadmin create /svn-repository-path/project-name

chown -R user-name:subversion /svn-repository-path/project-name

Creating branches and trunk:

cd temp
rm -rf svn-project
svn co svn-host-address/svn-repository-path/project-name svn-project
cd svn-project
mkdir trunk
mkdir branches
mkdir tags
svn add *
svn ci -m "init deploy" *

Svn checkout local file (svn server)

Local project checkout on the svn server.

Svn checkout local file example:

svn co file:///svn-repository-path/project-name/trunk project-name

Wednesday, November 7, 2012

MySQL Show Indexes

Show MySQL table indexes:

SHOW INDEX FROM `table_name`;