Saturday, November 24, 2012

Contributing to Libreoffice

well, Patching of Libreoffice is a commitment from a wide range of users. Below is a response of a contributor on how he contributes. =======
When I work, I frist create a branch out of a point in master (preferably a oen that build nicely :-) ) so nwo I'm on branch 'foo' for example. I code my patch, then I submity it to gerrit via git push origin foo:refs/for/master then I checkout out master again... and keep going... When the review comes and modification to my patch are needed, I checkout out the branch foo again... the I make the modifications and 'amend' the commit (which _is_ the commit I pushed to gerrit) and then push it again using the same command. rince and repeat until the patch is ready... then I let gerrit cherry pick it on top of master.. if ok, then I can delete the foo branch locally if the cherry pick failed because of a conflict... I fetch ./g fetch and then rebase foo : git rebase origin/master (while being on the foo branch) since the cherry pick from gerrit failed, that rebase should exibit some conflict, with I resolve using git mergetool then one can re-push the patch to gerrit, again using the same command as above.. rince and repeat until the cherry pick from gerrit works If one has commit right, then the last phase can be dealt by bringing the patch to master locally and simply pushing to master

Thursday, November 22, 2012

Change MySQL database directory

Why do I need to change MySQL database directory or location?

  1. Current disk is out of space
  2. Current partition is out of space
  3. There is a better filesystem to improve disk IO performance.
Steps to do this on Centos 6 with SELinux enforced.

Step 1: Stop MySQL server

Step 2: Create the new directory

A new directory can be created in the new disk or partition.

Step 3: Copy existing database to new location
 mv /var/lib/mysql/* /srv/mysql/

Step 4: Configure MySQL server
Edit /etc/my.cnf with following

datadir=
socket=

[client]
socket=

Save and close the file.

5. Configure SELinux to allow new database
View current settings

setstatus
ls -lZ /var/lib/mysql
ls -lZ

Edit settings with e.g. as /media/server/mysql

semanage fcontext -a -t mysqld_db_t "/media/server/mysql(/.*)?"
OR
chcon -R -t mysqld_db_t /media/server/mysql

restorecon -Rv /media/server/mysql

Check settings are in the config file

grep -i mysql /etc/selinux/targeted/contexts/files/file_contexts.local

6. Start up MySQL
I had to reboot the server and change selinux to permissive for all this to work.

Wednesday, November 21, 2012

Linux welcome messages

Securing the Linux terminal includes telling users that they may not access the system without authorisation.

Edit following files for this purpose;

  1. /etc/motd
  2. /etc/issue
  3. /etc/issue.net

For items 2 and 3, they only work if you are connected at the terminal or have client server setup. Those using SSH, messages can be set to point to item 3 in the configuration file /etc/ssh/sshd_config


Sunday, November 18, 2012

Howto Yii 1, a PHP framework

This framework seemed worth while to test out. Steps to get started is as follows;

Step 1: Install the framework.
From the www.yiiframework.com site, follow the instructions for pre-requisite to install the Yii framework. Typically you will need

  1. Apache web browser
  2. PHP 5.1 and newer
  3. PHP PDO
  4. A database


Download Yii-1.1...tar.gz (in tar.gz format) from http://www.yiiframework.com/download/
Extract the tar.gz file to the web folder /var/www/html/yii1

It is also a good point to download the Yii-docs-1.1...tar.gz and extract it to follow its references and tutorials in PDF.

Step 2: Create the skeleton of a new web app.
At the prompt, access the framework's directory /var/www/html/yii1/framework

Type the following:
./yiic webapp ../testdrive

or in windows
yiic webapp ..\testdrive

Open a web browser and access the testdrive application
http://localhost/yii1/testdrive

Step 3: Configure the timezone for the web app.
If an error on the timezone appears, complete following steps

vi /var/www/html/yii1/testdrive/protected/config/main.php

Just before the last line, add the timezone.


'timeZone'=>'Asia/Kuala_Lumpur',
);

Access the testdrive application with the web browser, the error on timezone is gone. It does inform users the following;


You may change the content of this page by modifying the following two files:

View file: C:\Program Files\www\yii1\testdrive\protected\views\site\index.php
Layout file: C:\Program Files\www\yii1\testdrive\protected\views\layouts\main.php



Step 4. Understanding the structure
It is good to know the directories built for the testdrive web application under /var/www/html/yii1/testdrive. From here on, I will refer to the directory /var/www/html/yii1/testdrive as

/index.php
/index-test.php
/assets/  <=Empty
/css/  <=Contains 5 basic CSS files and a bg.gif file
/images/  <=Empty
/protected/  <=This is where your coding goes
/themes/  <=Several directories that is empty

Step 5. The database, mysql
Create a database named yii_testdrive, and load in the SQL from
/protected/data/schema.mysql.sql

By default it has the SQLLITE as its database, edit the file /config/main.php and comment out the following lines


'db'=>array(
'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
),

Uncomment the mysql lines below it and edit the database connection


'db'=>array(
'connectionString' => 'mysql:host=localhost;dbname=yii_testdrive',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
),



Step 6. Generating the pages based on the database

Uncomment the GII web-based code generator and change the default password to MyPassword


'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'MyPassword',
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters'=>array('127.0.0.1','::1'),
),



Open a web browser and point to the gii resource
 http://localhost/yii1/testdrive/index.php?r=gii

A login page appears, type the password as
MyPassword

You are then presented with the following to auto generate codes based on your database.


  1. Controller Generator
  2. Crud Generator
  3. Form Generator
  4. Model Generator
  5. Module Generator



Thats all for now...will continue when time permits.

Saturday, September 29, 2012

Howto Install OpenSIS on Centos 6


Step 1: Retrieve the package
Download from http://sourceforge.net/projects/opensis-ce/files/latest/download
Extract opensis-ce to /vcar/www/html

Step 2: Launch web installer
Start mysqld and httpd (apache web server). Open a web browser and point to the address

http:///opensis-ce/install

Follow onscreen instructions to install database and sample database.

Friday, September 14, 2012

Installing Plone 4 on Centos 6

Plone 4 is based on Python and Zope and provides its own little database.

Installation on Centos 6.3 was pretty straight forward in the standalone mode. Alternative, mode is as ZEO Cluster or a single running instance.

Step 1: Download the Unified installer (comes with Python and Zope) for Plone.

Download from Plone.org (https://launchpad.net/plone/4.2/4.2.1/+download/Plone-4.2.1-UnifiedInstaller.tgz) with a file size of approx 50MB.

See http://plone.org/products/plone/releases/4.2.1

Step 2: Install dependency files.
Most of these are already installed if Centos was installed with the development tools.
Add the RPMForge repo;

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm

yum install gcc gcc-g++ make tar bzip2 gzip
yum install readline libgsf
yum install wv

If there is problem with the wv package, download wv from EPEL or http://wvware.sourceforge.net and install with RPM.

rpm -ivh wv-1.2.7-2.el6.i686.rpm


Step 3: Extract & Install Plone
Enter the directory with the UnifiedInstaller (Download directory).

tar zxvf Plone-4.2.1-UnifiedInstaller.tar.gz
cd plone-4.2.1
./install.sh standalone
cd /usr/local/Plone/zinstance

Identify which port (default 8080) will be used for Plone. If needed, change the port then apply changes by typing

bin/buildout

Step 4: Start/Stop Plone
The Plone server can be started or stop with following command (replace the word start)

/usr/local/Plone/zinstance/bin/plonectl start

Step 5: Access Plone
Open a web browser (e.g. Firefox, Chrome) and enter following URL address;

http://localhost:8080

Default password is found in the file /usr/local/Plone/zinstance/adminPassword.txt

Create a Plone instance, then read the instructions at the main page of the Plone instance.

Additional notes:
Install following packages;

  • Openoffice.org or libreoffice (headless) for better document conversion
  • msttcorefonts for better formatting compatibility, see previous post


References: http://plone.org/documentation/manual/installing-plone/installing-on-linux-unix-bsd/referencemanual-all-pages

Wednesday, September 12, 2012

PostgreSQL 9.2 improves

Latest PostgreSQL will support 64 cores, or 3x its current capability. Transactions per second increased to about 350,000 is over 4x its current speed.

Not bad for OPEN SOURCE!

see
http://www.databasejournal.com/features/postgresql/postgresql-9-2-open-source-database.html

Tuesday, September 4, 2012

Howto install Alfresco 4, the Community edition on Centos 6

Alfresco provides some very interesting functions. This includes support for networking with CIFS, WebDav and IMAP.

See https://www.alfresco.com/products/platform

Check following have been done.
  1. Linux must be 64bit. Why? they only provided Alfresco for Linux on 64 bits, thats why.
  2. Install LibreOffice (yum install libreoffice libreoffice-headless), version 3.4.5.2 was installed
  3. Install MySQL (yum install mysql-server), in my case version 5.1.61 was installed.


Following are steps that I have taken to install Alfresco 4 on Centos 6.

Step 1. Create the database
At the CLI, login to MySQL and create database named "alfresco"

# mysql -u root -p
CREATE DATABASE alfresco;
\q

Step 2. Start LibreOffice as headless

soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" \
 -nologo -headless



Step 3. Get the software and install

Download from http://wiki.alfresco.com/wiki/Download_and_Install_Alfresco
Double click on the file alfresco-community....bin and follow the onscreen instructions.

I choose the "Easy" method, and included the "Share"

Alternatively, installation can be done at the Linux CLI, just switch to root user, go to the directory where the file was downloaded and type
# ./alfresco-community-4.0.x-installer-linux-x64.bin ---mode text

Step 4. Start Alfresco, based on the Tomcat server port of 8080.
Alfresco started automatically, but is needed, got the the /opt/alfresco folder and type
alfresco.sh start

Access the application with a web browser and the following URLs/

http://localhost:8080/alfresco
and http://localhost:8080/share

Wednesday, August 22, 2012

Howto add menu to Gnome

Centos 6.3 defaults with the Gnome desktop. After installing / creating a custom application, how do you add it to the start menu?

Answer: Install alacarte

Step 1: Install Alacarte

# yum install alacarte

Step 2: Add the new program as a menu item.

Click System ->Preferences ->Main Menu
Choose the menu and add the new item.




Tuesday, August 21, 2012

Kubuntu - USB disk does not mount

Followup from the Kubuntu 10.04 installation, for those who have opted to stay on with Kubuntu 10.04, mounting of USB disk is done manually or alternatively, install usbmount.

Using the Package Manager or at the command line, install the following packages

  1. usbmount
  2. pmount
Additionally, if you have NTFS (windows default file system, install the following package
  1. ntfs-3g
Logout, then log back in and plug-in the USB disk (or thumb drive). Dolphin should pop up saying it detected the disk. The USB disk are mounted by default in the /media folder with the name of the partition.



Tuesday, August 14, 2012

Stop 114a

See http://en.wikipedia.org/wiki/Malaysia_Internet_Blackout_Day_%282012%29


Direct Apache access to SSL ports

Secure Socket Layer (SSL) provides an encrypted network connection and is seen to use the HTTPS protocol in the URL. To ensure that the web server only servers HTTPS, the following needs to be enabled before the HTTPS VirtualHost tag.



RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}:443%{REQUEST_URI}


What it means? turn off https if its https, then change the url to always use https.

Actually, you can put a lot more between the VirtualHost tag. E.g. choice of error pages to server and limiting which domain/IP address that can access the contents.

Thursday, August 2, 2012

Screen capture your Android phone

On the Xperia X10i with Android 2.3, and most other Android phones, you can screen capture for purpose of troubleshooting, development, presentation and article writing. Here is listed the instructions on MS Windows 7.

Step 1: Install the Android SDK.

Step 2: Switch the X10i debug.
Click "left" button, choose "Settings" ->"Applications" ->"Development".

Click to Check "USB Debugging".

Step 3: Plug USB cable between X10i and PC.
If asked to charge, choose that option.

Step 4: On the PC, start the Dalvik Debug Monitor (DDMS)
Click the Windows "Start" button, and type following and press "Enter" key.

cmd

Switch to the android directory and type following and press "Enter" key.

tools\ddms.bat

Ensure that you choose your phone from the left list. In my case its written as "XXX [SonyEricsson:X10i]". From the top menu of DDMS, click "Device" ->"Screen capture..."

Step 5: Capture the screen on the Android device (X10i)


On the X10i, select the screen to be captured (or saved).

Then on the PC, the DDMS should show the same screen as the Android, click "Copy". Start the graphics software such as GIMP or MS Paint and "paste" the screen capture. Save as the filename of your choice.

I have not used the "Save" button on DDMS, so I can't say where it saves to.






Wednesday, August 1, 2012

Bacula on Suse Linux

Anyone tried to install Bacula on Suse?
I started the search from the following site;

http://adrian.onsen.ca/2011/10/bacula-and-webmin-setup/

List of repos that can be used for the installation.


Bacula ver 5.2.1 + Suse 11

Bacula ver 5.2.1 +Suse 11&12


Webmin also list support as shown in http://www.webmin.com/cgi-bin/search_third.cgi?modules=1
Bacula Backup System 1.590
DescriptionConfigure Bacula to perform backups and restores manually or on schedule, for one or many systems
Downloadbacula-backup.wbm.gz
Websitehttp://www.webmin.com/webmin/standard.html
AuthorJamie Cameron
Last updated2012-07-01 05:49:18


Will need to try again another day.

Wednesday, July 25, 2012

List of trainings - Linux

Linux for Web Developers - I

Objective: An intensive program to provide Web developers knowledge to manage basic development on a Linux platform.
Pre-req: Participants must already know PHP programming.
Duration: 1day
Outline:
1. Introduction to Linux operating system
- Benefits of Linux, various distros, and the Centos Linux
2. Gnome, the Linux desktop
- Navigate common features of the desktop. Includes the file browsers, windows system, Systems configuration and start menu.
3. Editing text
- Use of the Gedit tool, saving files
4. The Linux Command Line Interface (CLI)
- Accessing the CLI, using BASH basic commands and text file editing
5. Getting help and the man
- Help from the windows, application, internet and man pages
6. Linux file system
- Basics of the folder convention, HOME folder, editing folders and folder permissions.
7. Software management - I
- Basics on package managers, YUM and RPM. Identify software packages installed, add and remove.
8. Manage development services - I
- Monitor status, start and stop Apache, MySql. Identify configuration files for Apache, MySql and PHP (AMP)
9. Troubleshooting the AMP in LAMP.
- Determine disk space utilisation, access Linux and Apache log files. Writing a web page to show phpinfo.

Linux for Web Developers - II

Objective: Manage tools used for web application development on Linux platform.
Include graphic editors, manage installation of software, work with Eclipse editor. Writing php codes and installing additional php modules.
Connecting to a remote linux to access the shell commands and transfering files.

Saturday, July 21, 2012

Blogger app from Google Inc needs a lot more of work.

Just installed the app on ICS.

It doesn't provide numbering list and other basic formatting.

My previous postings all appear in html edit view. No options visible to switch editing modes.

Option for tagging as labels are not very intuitive.

Possibly the developer is a single person from Google payroll or was it out sourced to India? Hmm....

Develop Android Apps with Eclipse on Centos 6

This is an update to my previous post.
[Update for Centos 6.3]

Installing Eclipse Indigo for Android on Centos 6.


Pre-installation check list:

  1. Java JDK 1.6 or higher is installed
  2. PATH and CLASSPATH has been configured 
The Centos was installed as 64bits, but Android tools require 32bit libraries. Add them via following;
yum install glibc.i686 ncurses-libs.i686 libstdc libstdc++.i686 \
   libzip.i686 libX11 i686 libXrandr.i686 SDL.i686 gegl.i686

Steps 1. Eclipse Indigo

yum install eclipse-emf eclipse-jdt
Download and install the Indigo version of Eclipse.
Default yum install from Centos 6.3 provided only the older version of Eclipse (Helios) which have too many dependency problems after install.

2. Android SDK
a) download and run installer from http://developer.android.com/sdk/index.html
Current version is named android-sdk_r20.0.3-linux.tgz size of which is about 78Mb.

tar -xvzf android-sdk_r20.0.3-linux.tgz
mv android-sdk /opt/android-sdk
chmod -R a+w /opt/android-sdk

Open the user's $HOME/.bash_profile and add before the last l
PATH=$PATH:/opt/android-sdk/tools:/opt/android-sdk/platform-tools


Follow instructions from http://developer.android.com/sdk/installing/index.html

b) Run the Android SDK Manager
Currently target for API 10 (Android 2.3.3) and API 16 (Android 4.0.1).


3. Eclipse's ADT plugin
a) Start Eclipse and select Help-> Install New Software, click Add (top right)

b) At right of "Work with:", Click Add... and enter the ADT Plugin repository details
https://dl-ssl.google.com/android/eclipse/

c) In Available Software, check Developer Tools and install.
Accept all license agreement.

d) Restart Eclipse

e) Eclipse may assign the Android SDK directory
or
Choose preferences and point to the Android SDK folder (see Section 2). 
e.g. /opt/android-sdk

4. Create your first App, see http://developer.android.com/training/basics/firstapp/index.html

Installing msttcorefonts on Centos 6.3

Documents received may require MS Fonts to display format correctly, and these MS Ffonts are not available by default in Centos 6.2.

Install tools to create fonts and directories (fake ones for compatibility).
yum install ttmkfdir rpmdevtools

note: ensure all RPM building tools have been installed (see my previous post).

Install ATRPMS repository and MS Fonts.
wget  http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-5.el6.x86_64.rpm
wget http://pkgs.org/centos-6-rhel-6/atrpms-x86_64/atrpms-repo-6-6.el6.x86_64.rpm/download/

(for i686 machines, replace x86_64 with i386 as in line below)
wget  http://dl.atrpms.net/el6.3-i386/atrpms/stable/atrpms-repo-6-5.el6.i686.rpm



(I am using, x86_64 for remainder of notes)
rpm -ivh atrpms-repo-6-5.el6.x86_64.rpm
yum install chkfontpath
wget http://corefonts.sourceforge.net/msttcorefonts-2.0-1.spec
rpmbuild -bb msttcorefonts-2.0-1.spec
(download MS Fonts and compile into packages)
rpm -ivh rpmbuild/RPMS/noarch/msttcorefonts-2.0-1.noarch.rpm
(open Libreoffice or Character Map, see if the Arial, Georgia and Times New Roman are available)

If fonts are not appearing, run following then relog-in (Do not run these if above steps work)
mkfontscale
mkfontdir

References: http://corefonts.sourceforge.net/

Installing Centos 6 on HP Probook 4420s

Finally found time to install Centos 6.2 on the HP Laptop.

Laptop specs:
RAM 4Gb
CPU: i3 ...

Installed (default)
Linux kernel 2.6.32-220.el6.x86_64

Gnome 2.28.2
Mozilla Firefox 10.0.5

Add RPMFORGE software repository (libary of software)
(download the rpm)
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -ivh ~/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
yum update
(Total 371 files, 385MB downloaded)

(reboot)

Post-Installation
Login as root at the terminal and first few software to be installed (type this out):

yum groupinstall "Desktop" "Desktop Platform" "X Window System" "Fonts"
yum install madwifi
(reboot)
yum install flash-plugin
yum install vlc
yum install libreoffice
(total 25 package, 103Mb download)
yum install libreoffice-ogltrans


Notes: wifi can only be configured easily when linux is in graphical screen/desktop.

Prepare to build from source

yum install cabextract rpm-build



Other observations
  1. The touchpad (black square at center of laptop that helps to move the mouse) is having a soft LEFT and RIGHT button (not working correctly)
    • To drag windows, press bottom half of the Touchpad until a click is felt. Then drag without leave finger from the Touchpad.
    • To RIGHT click in window, you need to press bottom half then do a second click without lifting the first finger.
    • Install from (HP) or better still to use a mouse pointer.
  2. Music
    • Default "Totem Music Player" doesn't support MP3. Need to install gstreamer-plugins-ugly
  3. Webcam
    • Runinng "Cheese" I can adjust to higher resolutions but its frames per seconds is very little. This causes the video to seem very poor quality. 
  4. Option to edit the menu bar (add new items manually) is missing. Installed alacarte package, logout then back in to enable editing of menu items.
  5. If boot was to only command line (a black screen), switch to graphical. Type init 5.

Thursday, July 5, 2012

Out of phone storage space on x10i

On the Sony Experia X10i, with Android 2.3.3 (Gingerbread) I am currently getting the message
"Phone storage space is getting low."

So, I did a backup (see HERE) then a factory reset to clear all data. Maybe some of the slowness issues on the X10i will be resolved. 
Note: Free apps may not be automatically reinstalled. I have not figured out why.

Here are steps for the factory reset.
Step 1: Start the reset
On the X10i, Left click, and in menu choose "settings".

Choose "Factory data reset"

Do not choose "Erase SD card", because all my photos and backup is there.

Click "Reset phone"
Click "Erase everything"

The phone will power off (shut down)

Step 2: Start the x10i
The phone will restart, press the middle button and unlock the phone.

Choose Language,
Choose step 2/6 and change the date and time.
Choose step 5/6, set up the google, email account. What about Sony Ericsson sync (not working)?


Sony Ericsson sync was asking to select your country, but listed only 8 names and didn't list mine. It then says service is discontinued


Click in step 6/6 click "Finish".

Blog Archive