Sunday, June 11, 2017

Problems faced during migration php/mysql code Windows to Linux

1.  Slashes in file names when migrating PHP project to Windows server from Linux server.
Solution : Need to remove back slash & forward slash with underscore (" _ ")

2. Case Sensitive : Mostly in windows both "A" and "a" treat same. But in Linux thinks are different. So need to take care of this. This problems faces both in PHP and MySql files and table respectively. 

You can configuring MySQL Tables to be Case Insensitive by editing the MySQL configuration file, which is generally found at /etc/mysql/my.cnf, /etc/my.cnf or ~/my.cnf

Add the following line to the my.cnf configuration file:
lower_case_table_names=1
Then restart MySQL (or reboot):
/etc/init.d/mysql restart (Debian/Ubuntu/SuSE)
/etc/init.d/mysqld restart (Red Hat/CentOS/Fedora)

Today me facing problem the CodeIgniter Web Framework  code. In case of windows folder name was in cap mean in Upper case and in php coding same folder in lower case. It working fine with window server (XAMPP). But when I migrate same into Linux server (ubuntu LAMP) case sensitivity matters and creating problem to load files. You need to take care this otherwise php code does not work. 

Wednesday, June 7, 2017

Apache SSL Certificate Installation on Linux (Ubuntu) OS

For SSL Certificate Installation in Apache (Ubuntu OS)  follow the instructions below :

1. First Copy the Certificate files to your server on apache directory : In case of Ubuntu or Linux OS find path /etc/apache2/

2. Find the Apache config file to edit  Apache's main configuration file is typically named httpd.conf or /etc/apache2/conf.d/ or /etc/apache/sites-available/. 

3. Create  a files under apache configuration directory mention above like website-ssl.conf  for SSL.
If you need your site to be accessible through both secure (https) and non-secure (http) connections, you will need a virtual host for each type of connection. Make a copy of the existing non-secure virtual host.

4. Configure it for SSL as described below :

 <VirtualHost *:443>
DocumentRoot /var/www/html/
ServerName www.yourdomainname.com
SSLEngine on
SSLCertificateFile /path/to/your_domain_name.crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/DigiCertCA.crt

</VirtualHost>

rename the file names to match your certificate files as mention above.

5. Test your Apache config before restarting your apache service . Run the following command in case of ubuntu OS.

sudo service apache2 restart

Troubleshooting: If your web site is publicly accessible tool  like (SSL Tool 1 , SSL Tool 2, SSL (Grading)) can help you find problems.

Wednesday, January 13, 2016

Create and Embed Barcodes using PHP

Requirements: 
PHP GD Library 
In case of Debian Linux just run command :

#sudo apt-get install php5-gd

Barcode script : 
View the code here: https://github.com/davidscotttufts/php-barcode/

That Scripts generates barcodes in four barcode formats including Code 128, Code 39, Code 2of5, and Codabar. With a little over 100 lines of code you have the options of “vertical” or “horizontal” display, varying barcode heights, and one of four barcode formats.

How to embed in HTML code:
Example 1:
<img alt="testing" src="/yourfilelocation/barcode.php" />
Example 2 (with text data):
<img alt="testing" src="/yourfilelocation/barcode.php?text=testing" />
Example 3 (with codetype, size, text)
<img alt="TESTING" src="/yourfilelocation/barcode.php?codetype=Code39&size=40&text=TESTING" />

Thursday, July 9, 2015

Create list of all installed packages by date in Ubuntu or Debian

#!/bin/bash
#creates file with a list of all packages installed by date
#append all info from archived logs

i=2
mycount=$(ls -l /var/log/dpkg.log.*.gz | wc -l)
nlogs=$(( $mycount + 1 ))

while [ $i -le $nlogs ]
do
if [ -e /var/log/dpkg.log.$i.gz ]; then
zcat /var/log/dpkg.log.$i.gz | grep "\ install\ " >> $HOME/packagetmp.txt
fi
i=$(( $i+1 ))
done

#Next append all info from unarchived logs
i=1
nulogs=$(ls -l /var/log/dpkg.log.* | wc -l)
nulogs=$(( $nulogs - $nlogs + 1 ))
while [ $i -le $nulogs ]
do
if [ -e /var/log/dpkg.log.$i ]; then
cat /var/log/dpkg.log.$i | grep "\ install\ " >> $HOME/packagetmp.txt
fi
i=$(( $i+1 ))
done

#Now append current log
cat /var/log/dpkg.log | grep "\ install\ " >> $HOME/packagetmp.txt
#sort file data by date

sort -n $HOME/pkgtmp.txt > $HOME/packageinstalls.txt
rm $HOME/packagetmp.txt
exit 0

Thursday, July 24, 2014

Import a Large CSV file to MySQL commend line

Using the mysqlimport utility run below command.


mysqlimport  --ignore-lines=1 --fields-terminated-by=,--columns='ID,
columnName1,columnname2, columnname3' --local -u root -p 
Databasename /pathtocsvfile/tablename.csv


You must put the absolute path of the csv file for it to register with 
the utility. The “tablename.csv” has to match the name of the table in 
your mysql database.

For more information on the mysqlimport utility: Click Here