Sunday, January 25, 2009

What's new in VMware version 6

• Support for windows vista- use vista as host OS
• Multiple monitor display- you can configure a VM to span multiple monitors, or multiple VMs to each display on separate monitors
• Support for USB 2.0 devices- You can now use peripheral that require high-speed performance in your VMs, such as MP3 players and fast storage devices
• VM Record/Replay-use this feature to record VM activities and be guaranteed to reproduce the exact VM state 100% of time.
• Integrated Virtual Debugger- workstation integrates with visual studio and Eclipse so you can deploy , run, and debug programs in a VM directly from your preferred IDE
• Automation APIs (VIX API 1.1)- you can write scripts and program to automate VM testing
• ACE authoring capabilities-Securely package and deploy desktop virtual machines with encryption, network access and device control, and much more. With Pocket ACE feature, deploy to a portable media device so you can take your PC with you, without the PC.

Differences between VMware workstation & Microsoft virtual PC 2007

• VMware Workstation Supports a long list of Linux versions whereas Microsoft virtual PC 2007 does not
• Has snapshot manager
• Allows you to import VMs to VMware ESX and VMware Player
• Supports 2 CPUs per VM
• Supports 64-bit Guest OS if you have a 64-bit host CPU
• Guests can use host USB ports, directly, you can play your i-pod :)
• More flexible on screen resolution
• Better performance
• More "mature", it as a lot more features in comparison to MSFT VPC 2007
• $189 Vs free, MSFT is free but all the rich feature are with VMware

Friday, January 23, 2009

Features of Windows Server 2008

Windows Server 2008 is the most advanced Windows Server operating system yet.

With Windows Server 2008 you can develop, deliver, and manage rich user experiences and applications.

Virtualization built-in
Windows Server Hyper-V, the next-generation hypervisor-based server virtualization technology, allows you to make the best use of your server hardware investments by consolidating multiple server roles as separate virtual machines running on a single physical machine. You can also efficiently run multiple operating systems - Windows, Linux, and others – in parallel on a single server. With Hyper-V and simple licensing policies, it's now easier than ever to take advantage of the cost savings of virtualization.

Applications can also be efficiently virtualized using Windows Server 2008 centralized application access technologies. Terminal Services Gateway and Terminal Services RemoteApp allow easy remote access to standard Windows-based programs from anywhere by running them on a terminal server instead of directly on a client computer - without the need for a complicated virtual private network (VPN).

Built for the web
Windows Server 2008 comes with Internet Information Services 7.0 (IIS 7.0), a Web server and security-enhanced, easy-to-manage platform for developing and reliably hosting Web applications and services. A major enhancement to the Windows Web platform, IIS 7.0 includes a componentized architecture for greater flexibility and control. IIS 7.0 also provides simplified management, powerful diagnostic and troubleshooting capabilities that save time, and comprehensive extensibility.

Internet Information Server IIS 7.0 together with the .NET Framework 3.0 provides a comprehensive platform for building applications that connect users and data, enabling them to visualize, share, and act on information. Additionally, IIS 7.0 plays a central role in unifying Microsoft's Web platform technologies—ASP.NET, Windows Communication Foundation Web services, and Windows SharePoint Services.

High performance computing
The benefits and cost savings of Windows Server 2008 extend to Windows HPC Server 2008 for your high performance computing (HPC) environment. Windows HPC Server 2008 is built on Windows Server 2008, x64-bit technology and can efficiently scale to thousands of processing cores with out-of-the-box functionality to improve the productivity, and reduce the complexity of your HPC environment. Windows HPC Server 2008 enables broader adoption by providing a rich and integrated end-user experience that scales from the desktop application to the clusters, and includes a comprehensive set of deployment, administration, and monitoring tools that are easy to deploy, manage, and integrate with your existing infrastructure.

High security
Windows Server 2008 is the most secure Windows Server yet. The operating system has been hardened to help protect against failure and several new technologies help prevent unauthorized connections to your networks, servers, data, and user accounts. Network Access Protection (NAP) helps ensure that computers that try to connect to your network comply with your organization's security policy. Technology integration and several enhancements make Active Directory services a potent unified and integrated Identity and Access (IDA) solution. And Read-Only Domain Controller (RODC) and BitLocker Drive Encryption allow you to more securely deploy your AD database at branch office locations.

Monday, January 19, 2009

How to Reset Bugzilla Password (after version 3.2)

./checksetup.pl --reset-password=user@domain.com

or if u know the password of any account, make that user as admin

./checksetup.pl --make-admin=user@domain.com

Sunday, January 11, 2009

Thin Clients Vs Desktops

It is cheaper than conventional PC by 20-30%.
Works on just 40W power and is really sleek to occupy very less desktop space


COST:
- No Hard Disk or any other media required.
- Low Hardware configuration requirement
- No UPS required on nodes.
- Never require an upgrade on the nodes.
- Reduced Power consumption on Nodes

CONVENIENCE & MANAGEABILITY:
- No Disk Crashes.
- No Virus Problems to be fought on each desktop.
- Practically Zero Down times.
- Easy Software Maintenance.
- Low Maintenance as no moving parts left

CONTROL:
- Easy and better Administration.
- Centralized Data Control and accumulation.
- Software licensing and control.
- User Rights, policy deployment as per the Domain Controller setting up
FLEXIBILITY:
- User can switch machines without any problem.
- Setting up a new user is a breeze. Less than 10 minutes of installation time.
- Can support local printer, CD Drives and USB devices (No sound and webcam).

SCALABILITY:
- You can use thin client to expand as you grow. No limit on no of machines which can be configured in Thin Client.
- Can make Server Clusters to expand into multiple server solution.

PERFORMANCE:
- All machines work at the performance of the Server.
- Low Network traffic.
- Applications like Tally work better than even the normal client-server.

Wednesday, January 7, 2009

How to Deploy CVS (Concurrent Versions System)

CVS is a version control system, an important component of Source Configuration Management (SCM). Using it, you can record the history of sources files, and documents.

Client Server Architecture:-


CVS uses client-server architecture: a server stores the current version(s) of the project and its history, and clients connect to the server in order to check out a complete copy of the project, work on this copy and then later check in their changes. Typically, client and server connect over a LAN or over the Internet, but client and server may both run on the same machine if CVS has the task of keeping track of the version history of a project with only local developers.

Terminology

A single project (set of related files) managed by CVS is called a module. A CVS server stores the modules it manages in its repository. Acquiring a copy of a module is called checking out. The checked out files serve as a working copy. One's changes to the working copy will be reflected in the repository by committing them. To update is to acquire the latest changes from the repository in the working copy.

• 'Module' - a particular set of files kept in CVS.
• 'Repository' - Location on CVS server where modules are kept.
• 'Revision' - A certain version of a file.
• 'Tag' - A certain milestone in a file or module's development.
• 'Branch' - A 'fork' of the module.

How to install CVS


On RPM based distribution you can use YUM or RPM to install CVS.
rpm -ivh cvs
or
yum install cvs

Then you need to create a user who is responsible for cvs management.


User Creation:-

There are many ways of user creation in cvs.
The CVS server can be made to authenticate from a password file in the CVSROOT module. All you need to do is add a file into the CVSROOT module. Create a file in there, called 'passwd'.
Entries in this file should be of the form:
desiredusername:EnCrYpTeDpAsSwOrD:realuser
The first’s entry in this colon-separated list is the desired username to allow. The second entry is the password for that user, done in standard unix crypt() format. The third entry is the real UNIX user on the server that file operations will be done as (so, you can set up a user that can write to just the repository and nothing else). If you have apache installed, there's a utility called 'htpasswd' which can generate the first 2 fields for you. You can then add the third field manually.


htpasswd /cvs/reposName/CVSROOT/passwd

User Deletion

For user deletion simply go to the CVSROOT passwd file and remove the user name from there.

For disabling the user put a hash (#) make in front for the username.

Creating a Repository


Create a 'cvsadmin' user #adduser cvsadmin
Login as 'cvsadmin'
cvs -d  <#pathToHomeDirectory#>  init


here pathToHomeDirectory
is the path of repos wherever you want to be (you must have write permission to that location)
-d is for directory

It will create a CVSROOT folder under the reposName which contains various administrative files which controls CVS behavior

Deleting a Repository

It is as simple as
1. #rm –rf #RepositoryName# (But it is not recommended)

2.
In a sandbox if you issue
cvs remove -f file_nolonger_needed
cvs commit
this will mark the file in the repository as removed at the current and into the future, and it will remove the file from your current sandbox.

You should be aware that directories are not really managed by CVS so you can't remove them, but if you remove everything in them and use the -P on updates they are effectively removed.

Authentication:-

When a remote cvs client uses the pserver method to connect to a repository, the client is actually contacting a specific port number 2401. It is default port for cvs pserver.

The server will start as soon as it see a connection request from the client.

Put a line in the /etc/services as
Cvspserver 2401/tcp

Now for authenticating you have to manually create “passwd” files under the CVSROOT.
Its format should be like this :-

::

If you want to give read or write access separately then you have to create two more files under CVSROOT manually named as “readers” and “writers”.

Readers contains list of users who can only read the repository
Writers contains list of users who can read and write the repository

** If same username listed on both the files then cvs gives him only read only access to the repository



User Privileges


Next thing you might want to do is only allow specific users (i.e. your developers) to write to the CVS repository.
To allow only certain users write access to the repository, place their usernames in a file called 'writers' in the CVSROOT module

Backing up a repository

There is nothing particularly magical about the files in the repository; for the most part it is possible to back them up just like any other files but make sure that no one is working at that time.

tar -cf #backupName.tar

Create a file "cvs" under xinetd.d as shown below.

[cvs@cvs ~]# cat /etc/xinetd.d/cvs
# default: off
# description: The CVS service can record the history of your source \
# files. CVS stores all the versions of a file in a single \
# file in a clever way that only stores the differences \
# between versions.
service cvspserver
{
disable = no
port = 2401
socket_type = stream
protocol = tcp
wait = no
user = root
passenv = PATH
server = /usr/bin/cvs
env = HOME=/var/cvs
server_args = -f --allow-root=/var/cvs pserver
# bind = 127.0.0.1
}

Tips:-

1. Replace bind =127.0.0.1 with the actual IP of your server.
2. If you want to get the logs in a separate file then define that as well. eg. log_type = FILE /var/log/cvspserver


Restart the xinetd server
service xinetd restart

Tuesday, January 6, 2009

How to do DNS Load Balancing

There are many ways to do this. The simplest one is DNS Round-Robin

Say you have a website abc.com and you want to load balance its traffic with 3 servers.

Use the BIND, it is installed by default in almost every Linux distribution.

wwwabc1 IN A x.x.x.1
wwwabc2 IN A x.x.x.2
wwwabc3 IN A x.x.x.3

just configure web server wwwtest1/wwwtest2/wwwtest3 as you do in your DNS.

Then you need to add the below entry for load balancing.

www IN A x.x.x.1
www IN A x.x.x.2
www IN A x.x.x.3


Now the DNS will load balance the traffic across the 3 servers.

Though it is not the best way to do the load balance but it works fine and you can get good results.


You can do that Via Apache Web Server as well by the help of mod_rewrite and its proxy throughput feature. lbnamed is a good program for this job
for this , add the below line in DNS.

www IN CNAME wwwabc1.abc.com.


Then configure this machine so all arriving URLs are just pushed through the internal proxy to one of the three other servers wwwabc1/wwwabc2/wwwabc3.

The below rule set will do the job.

RewriteEngine on
RewriteMap lb prg:/path/to/lb.pl
RewriteRule ^/(.+)$ ${lb:$1} [P,L]


There is a script given for this at http://www.stanford.edu/manual/rewrite/rewrite_guide_advanced.html

HTTP TO HTTPS redirect in Apache

Open your httpd.conf file and append the lines given below.

---------------------------------------------------------------
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R,L]
----------------------------------------------------------------

Now restart your apache server.


Below are the link for reference.

http://httpd.apache.org/docs/2.2/misc/rewriteguide.html

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

Managing Remote/Branch office

If a company has multiple small or medium remote offices then it is a challenge to manage the remote team and office infrastructure.
Major Challenge includes:
a. IT support and solutions
b. Technology Challenges
c. Remote team interaction and management challenges

IT infrastructure acts as both the essential foundation for all of your Business’s systems and applications.
A bad IT service for an office site office can result in reduced productivity, loss in business, dissatisfied customer/staff.

If the remote office is small then it is hard to provide them a permanent IT staff and then it can lead to poor IT service.
Things one should take care while managing remote office would be.
1. Bandwidth/Connectivity: -Reliable connectivity is the most crucial component for any remote office. Count on good ISP and better SLA. A site to site VPN is must for security reason between head office and branch office.

2. Manage System Centrally:- IT can save cost for onsite IT staff

3. Use SaaS Model: - you can use hosted application to increase productivity. There are many companies which are offering complete productivity suite which include mailing, calendaring, File/Data sharing, ERP, CRM via Saas. Examples are Net Suite, Sales force, Microsoft.

4. Security Software/Hardware: - Access control system for staff entry/exit, anti-virus for their desktop/laptop, Intrusion detection system for network. Deployment of security software/hardware to remote office can help to protect the remote office effectively.

5. Telecommunication: - By the user of smart phone or Blackberry you can do emails, you can call, you can schedule meetings, which is a great relief for a mobile staff and all on the real time with no delay. Example windows smart phone/Blackberry

6. Teleconference: - Teleconference allows multiple users to dial into a central number. You can host it internally like Asterisk VOIP Solution or can use hosting service. Skype is also a good service if you want to use with budgeted solution. It is real time and you can make quick decisions.


7. Web conference: - it is a program that can help you see other user desktop or shared space. It is a real time online meeting space. It is very useful for demos and presentations . You can use VOIP to add the voice as well. Examples are NetMeeting,WebEx

8. Video conference:-it is an alternative to meet the users/stall in person. Save a lot of travel time. Example :- Polycom http://www.polycom.com/usa/en/products/telepresence_video/video_conference_systems/room_systems/index.html


9. Information Sharing/Gathering:-you can use Twiki for knowledge sharing and documentation across teams and organization. It is like a document repository for an organization. Other options are wiki /SharePoint portal/CRM/

10. Instant Messaging: - It sends and receives written messages within a single pop-up screen shared by two or more users; it could be the fastest way for discussion in written form. It is faster than email and you can see who is online/offline. A webcam is additional advantage to this. You can see the person to whom you are interacting. If org can afford then they can deploy there in house chat service like Jabber. You can organize it by creating room per team, per project or per office .Examples is Jabber/Yahoo/MSN/Gtalk.
11. Leverage VMware Virtualization technology/ Citrix for remote and branch office :-

Remote sites such as regional offices, retail stores and bank branches present unique challenges for IT organizations. Management complexity, inadequate infrastructure and a lack of administrative resources can make it difficult for companies to deliver consistent and scalable IT services to their remote offices in a timely manner. Virtualization is a great way to address these issues, and VMware offers solutions for remote and branch office management that will help you: http://www.vmware.com/solutions/remoteoffice/

12. Email Infrastructure/mailing lists: - Mail is the primary mode of communication in the corporate world now. Mailing lists are also time tested tool for communication. Organize mailing list per project/team and send updates. You can archive the communication as well. Ex. Exchange/Sendmail/MailMan
13. Code Sharing/Bug Database: - If the organization is in software filed then they could have a centralized repository of the source code the engineers are writing. Examples of software are , CVS/SVN. And for filling the bugs one can use Bugzilla/JIRA application.
14. Tools for Home Office Support:- You may need to give home office support as well, in that time pcanywhere/vnc/teamviewer tools are quite handy. You can login to user machine without VPN.