Tuesday, April 15, 2008

Change the Date and Timezone in Centos

Log into your server then retrieve the current date and timezone by typing in

date


all timezone information is stored at /usr/share/zoneinfo you can browse to this by typing

cd /usr/share/zoneinfo


you should see a list of all the available timezones including folders for countries which have multiple time zones eg. America

so to change the time zone just enter the following

ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime


If you then want to manually set the time to 30/03/2008 09:57, the format to enter the date is 'mmddhhmmyyyy'
033009572008


The following command will update your hardware clock
hwclock --systohc


And now when you type in 'date' you should see an up to date clock

Saturday, March 29, 2008

Setting up VSFTPD

The virtual machine I used was a centos 5 linux distribution, I then installed VSFTP

1. Install VSFTPD
[root@localhost]# yum install vsftpd


2. Make sure vsftpd starts on bootup
[root@localhost]# chkconfig vsftpd on


3. Switch of anonymous ftp access
[root@localhost]# vi /etc/vsftpd/vsftpd.conf

then change the line to
anonymous_enable=no


4. You can change the greeting you see when you connect to the ftp server by changing the line
tpd_banner= New Banner Here


5. Create a user group and shared directory. In this case, use /var/www/vhosts and a user group name of ftp-users for the remote users
[root@localhost]# groupadd ftp-users
[root@localhost]# mkdir /var/www/vhosts


6. Make the directory accessible to the ftp-users group.
[root@localhost]# chmod 775 /var/www/vhosts
[root@localhost]# chmod 775 /var/www


7. Add users, and make their default directory /var/www/vhosts
[root@localhost]# useradd -g ftp-users -d /var/www/vhosts user1


8. Change the permissions of the files in the /var/www/vhosts directory for read/write only access by the group
[root@localhost]# chown root:ftp-users /var/www/vhosts*


9. Restart the VSFTPD service using
[root@localhost]# service vsftpd restart


10. Make sure you are not blocking ftp ports to the server (ftp requires port 21 to be open)
system-config-securitylevel


11. After configuring the vsftpd server on an Amazon ec2 server , I was not able to connect to vsftpd in one server from my ftp client. It throws the error:

500 OOPS: vsf_sysutil_recv_peek

The solution for this problem is to load capability module:

# modprobe capability


12. If you are having trouble connecting with an FTP client (such as FileZilla) and receiving an error like below

Error: Could not read from socket: ECONNRESET - Connection reset by peer
Error: Disconnected from server
Error: Failed to retrieve directory listing

Then make sure you change the connection settings in the client to 'active' rather than 'default'

Friday, February 29, 2008

Import a CSV file into MySql

I recently received a CSV file that I needed to import into MySQL, I tried to use Navicat on a Windows machine but the file was large enough to cause it to hang. So I went to the command line on the server and created it as follows

mysqlimport --fields-terminated-by="," --fields-optionally-enclosed-by="\"" --lines-terminated-by="\n" databasename /pathtocsvfile/csv.csv -u mysqlusername -p

note that the name of the file I was importing was csv.csv, in order for this to work you must have created a table that will accept this data wit the same name as the file you are importing (minus the extension)

Thursday, February 28, 2008

Install Flex 2 Alpha for Linux on Ubuntu

Make sure you have a copy of Eclipse 3.3 Classic (Europa Installed)

Download this from http://www.eclipse.org/downloads/

Create a directory in your home file called eclipse3.3

Extract eclipse into this directory

Make sure you have the latest version of Java Installed (ie. Version 1.6)

and make sure it is set as the default Java sudo update-java-alternatives

Download Flex for Linux http://labs.adobe.com/technologies/flex/flexbuilder_linux/

chmod +x flex* (to allow you to execute the download file)

follow the installation process and select the eclipse installation that you have created above when prompted by the flex installer

Friday, January 18, 2008

CSS and Transparent PNG's

I use the simple solution for Transparent PNG's


<div id="newsletter_subscribe">
<form action="" method="post">
<input type="text" name="email" id="subscribeemail" />
<input type="submit" name="submit" />
<a href="">This is a link</a>
</form>
</div>


Non-IE6

div#newsletter_subscribe
{
position:absolute;
top:150px;
right:15px;
background-image:url(../images/site/subscribe_home.png);
background-repeat:no-repeat;
width:150px;
height:139px;
z-index:80;
}

Conditional Statement for IE6

div#newsletter_subscribe
{
background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../images/site/subscribe_home.png,sizingMethod='scale');
}


This works well, except I was finding that links and text boxes within this particular div had been disabled altogether. It is a known glitch that in IE6 any child link tag within a AlphaImageLoader filtered tag will be rendered useless. So my work around was to do the following.


<div id="newsletter_subscribe"></div>
<div id="newsletter_subscribe_container">
<form action="" method="post">
<input type="text" name="email" id="subscribeemail" />
<input type="submit" name="submit" />
<a href="">This is a link</a>
</form>
</div>


I then altered my CSS as follow

non-IE6

div#newsletter_subscribe
{
position:absolute;
top:150px;
right:15px;
background-image:url(../images/site/subscribe_home.png);
background-repeat:no-repeat;
width:150px;
height:139px;
z-index:80;
}
div#newsletter_subscribe_container
{
position:absolute;
top:150px;
right:15px;
width:150px;
height:139px;
z-index:80;
}

Conditional Statement for IE6

div#newsletter_subscribe
{
background-image: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=../images/site/subscribe_home.png,sizingMethod='scale');
}


This then rendered a seperate div with no child elements and just positioned the Links and Input boxes in another div over the top of my transparent PNG.

Wednesday, December 19, 2007

Bug Tracking using Mylyn and Trac

You will need to be using the Eclipse IDE in order to use the Mylyn Plugin.

The mylyn plugin can be found at http://www.eclipse.org/mylyn/.

Follow the installation instructions that are appropriate for your version of Eclipse.

I use 'FastViews' a lot when developing in Eclipse, so after installation of the mylyn plugin I add a new fastview for both 'Task Repositories' and 'Task Lists'.

For those who don't know what a fastview is it is a button on a toolbar normally on the side or bottom of the eclipse window which enables a pop up to be displayed.

Once you have your fast views working then open the 'Task Repository' fastview and right click and create a new repository. You will then need to paste the url of your Trac Installation. In my case this looks something like https://www.***.com/trac/***/nameofproject. Then enter your username and password should your Trac Installation require this. Then click validate settings.

To Create a Task
So how do you get your tasks to appear in the task list? You should now be able to now go to your fastview called 'Task List' just type an asterisk into the 'find' text box in the task list and hit enter.

To Add a Task
You should now be able to now go to your fastview called 'Task List' and right click and create a new task and select the repository you want your task stored in.

NOTE:If you find that your task opens up in a Trac webpage it is likely your Trac Installation does not have the XML-RPC plugin which is required for the Mylyn to use its internal Bug Frontend. You should be able to install the plugin to your Trac Installation easy enough and once you have done this, go back to the fastview titled 'Task Repositories' select you repository and under additional settings select XML-RPC as the access type. When you add a Task now you should be using the Mylyn bug Reporting Tools rather than the webpage.


Happy Bug Tracking.

Amazon S3 useful commands with S3Sync

If you are using Amazon's S3 service for Simple Storage (offsite backups) in conjunction with the S3Sync Project then there are some simple commands that may be of benefit to you

From the command line browse to the directory that hold the file s3cmd.rb

To list all available buckets type
./s3cmd.rb listbuckets


To create a bucket
./s3cmd.rb createbucket BucketName


To list all files within a bucket
./s3cmd.rb list BucketName


To list all files within a key
./s3cmd.rb list BucketName:Key


To drill down into folders in a bucket
./s3cmd.rb list BucketName:Key/folder1/folder2


To copy a directory from a bucket to your local computer
./s3sync.rb -r BucketName:Key/folder/subfolder /somedirectory