What's the difference between a novice and a professional? One word summation...training. There is a classic line that I love in the Denzel Washington movie Man on Fire when he is training Dakota Fanning's character on improving her swimming times:
"There is no such thing as tough. There is trained and untrained. Now which are you?"
It is a good statement and an excellent question. Which are you in the world of Linux? Training is defined by Webster's as:
- the act, process, or method of one that trains.
- the skill, knowledge, or experience acquired by one that trains.
- the state of being trained.
The other day I wrote about Linux certifications. In that article I gave my opinion that although a certification was not a necessity nor requirement, it was not a bad idea for someone who wanted to gain a good foundation in what Linux was all about. However, my primary point was that "Linux affords you the level of "certification" you desire to achieve just by being Linux. You essentially gain your certification by being involved with Linux and using it".
The keyword is involved. Without being involved and actively using Linux you will never gain any aptitude. You are left being untrained. I watch forums and read questions from people who's only desire is to have someone do their work for them. They are not gaining any useful skills or knowledge because they just click and configure based on someone else who spoon fed them the answer. In a sense they are stuck in "Windows" mode, meaning they just want to double click and have the machine install and be done. There is not anything wrong with that per se, but training in Linux means doing. The act of doing equates to experience. One cannot be hesitant to try things and fail in Linux. If doing leads to experience, then the experience will lead to judgment, which will make you a more effective system administrator, engineer or developer. Putting it another way, good judgment comes from experience and experience comes from bad judgement. But ultimately that experience comes from you training yourself.
Gaining the experience takes time in training. You have to consistently be willing to explore the file system and do things over and over. There is a saying in the Army that was drilled into us that slow is smooth and smooth is fast. What that means is if you put the time in your training to do it right, to learn from your actions and your failures, your experience grows and makes you ultimately faster. Developers don't just learn C and write out the next latest and greatest kernel overnight. They hone and sharpen their skills by doing and gaining the experience. They train in their art of C.
Just remember, training never stops. I learn new things and techniques almost daily. My advice to those new to Linux is never be afraid to fail. It takes time and effort to train, but remember that the penguin rewards your training. There is nothing more satisfying than installing and configuring a system that is reliable, flexible and rock solid...and knowing that it was your experience and training that made it possible.
If you are serious about the Linux craft here are some great links that will help you train yourself (the links will open in a new browser, check your pop-up blocker if it does not work):
- Easiest Linux Guide You'll Ever Read / htttp://www.linux-books.us/suse_0002.php / Designed especially for those who are in an early transition from Windows to Linux. Specifically written from the SUSE distribution use.
- Linux Professional Institute LPI 101 and 102 course instruction materials / http://www.ledge.co.za/software/lpinotes / Licensed under the GNU documentation license, these are professionally developed study guides that are distribution neutral. They were developed for those wishing to sit for the LPI entry level certification and an excellent reference.
- The Cathedral and the Bazaar / http://www.catb.org/~esr/writings/cathedral-bazaar/ / If you want to understand what open source is all about and what Linux means from the open source perspective this is a must read. There are multiple translations if English is not your mother tongue.
- Linux Device Drivers / http://lwn.net/Kernel/LDD3/ / Are you a developer and want to know everything about Linux Device Drivers and such? This is an excellent starting point.
- Loads of Linux Links / http://loll.sourceforge.net/linux/links/ / A central repository of over 5000 links that are specifically related to Linux and all the aspects of the environment (system administration, engineering, developing, security, magazines etc).
So the challenge question to you is which are you...trained or untrained? I challenge you to keep training and don't get discouraged about how quickly you might or might not pick things up. Remember...slow is smooth and smooth is fast.
Cheers - Kryptikos
Cacti is a GPL-licensed, scalable, RRDtool-based monitoring program with flexible graphing options. This article describes the process of installing and configuring Cacti on CentOS 5.2.
Useful links to this installation were BXtra and TechDB.
Per the Cacti documentation, Cacti requires:
RRDTool 1.0.49 or 1.2.x or greaterI'd also recommend installing vim, net-snmp, net-snmp-utils, php-snmp, initscripts, perl-rrdtool, and any dependencies.
MySQL 4.1.x or 5.x or greater
PHP 4.3.6 or greater, 5.x greater highly recommended for advanced features
A Web Server e.g. Apache or IIS
To perform this install, I am logged into Gnome as a normal user, and opened a terminal that is switched to the root user using the su command. I had already installed apache, mysql, and PHP during the original install process of CentOS 5.2.
I added a new repository to facilitate this install. To do this, I created a file
(/etc/yum.repos.d/dag.repo) containing Dag Wiers repository, which contains rrdtool, among other things.
[dag] name=Dag RPM Repository for Red Hat Enterprise Linux baseurl=http://apt.sw.be/redhat/el5/en/i386/dag gpgcheck=1 gpgkey=http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt enabled=1
You can create this file by typing vim /etc/yum.repos.d/dag.repo and copying and pasting the above information into the file. Be warned that the above text containing the repository is version and architecture-specific.
I then typed yum update to update CentOS and the repository list before installing additional software.
I installed everything but cacti through yum. You can verify that you have the packages in question (or the version numbers of installed packages) by attempting to install them, as yum will remind you that you already have the latest version installed, as well as the version status of the packages, like shown here:
# yum install php httpd mysql mysql-server php-mysql vim-enhanced net-snmp net-snmp-utils php-snmp initscripts perl-rrdtool rrdtool initscripts
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: pubmirrors.reflected.net
* updates: mirror.fdcservers.net
* addons: chi-10g-1-mirror.fastsoft.net
* extras: mirror.fdcservers.net
Setting up Install Process
Parsing package install arguments
Package php-5.1.6-23.2.el5_3.i386 already installed and latest version
Package httpd-2.2.3-22.el5.centos.1.i386 already installed and latest version
Package mysql-5.0.45-7.el5.i386 already installed and latest version
Package mysql-server-5.0.45-7.el5.i386 already installed and latest version
Package php-mysql-5.1.6-23.2.el5_3.i386 already installed and latest version
Package 2:vim-enhanced-7.0.109-4.el5_2.4z.i386 already installed and latest version
Package 1:net-snmp-188.8.131.52-5.el5_3.1.i386 already installed and latest version
Package 1:net-snmp-utils-184.108.40.206-5.el5_3.1.i386 already installed and latest version
Package php-snmp-5.1.6-23.2.el5_3.i386 already installed and latest version
Package initscripts-8.45.25-1.el5.centos.i386 already installed and latest version
Package perl-rrdtool-1.3.7-1.el5.rf.i386 already installed and latest version
Package rrdtool-1.3.7-1.el5.rf.i386 already installed and latest version
Package initscripts-8.45.25-1.el5.centos.i386 already installed and latest version
Nothing to do
Download the latest version of Cacti (0.8.7e, as of the writing of this article) from here. I downloaded it to my desktop and unzipped it by right clicking it and selecting "Extract here". I also renamed the cacti-0.8.7e directory by right clicking and selecting "Rename". You could do this in the command line, if you wanted to:
[your root shell] # tar xzvf cacti-0.8.7e.tar.gz Move the entire cacti directory to /var/www/html/ :
[your root shell] # mv cacti-0.8.7e cacti
[your root shell] # mv cacti /var/www/htmlI chose to create a 'cactiuser' user (and cacti group) to run cacti commands and to have ownership of the relavent cacti files. It was here that I noticed that my install did not have any of the /sbin directories in its $PATH , so I simply typed the absolute path:
[your root shell] # /usr/sbin/groupadd cacti
[your root shell] # /usr/sbin/useradd -g cacti cactiuser
[your root shell] # passwd cactiuserChange the ownership of the /var/www/html/cacti/rra/ and /var/www/html/cacti/log/ directories to the cactiuser we just created:
[your root shell] # cd /var/www/html/cacti
[your root shell] # chown -R cactiuser rra/ log/
Create a mysql root password, if you haven't already (password in this example is samplepass:
[your root shell] # /usr/bin/mysqladmin -u root password samplepass
Create a MySQL database for cacti:
[your root shell] # mysqladmin --user=root --password=samplepass create cacti
Change directories to the cacti directory, and use the cacti.sql file to create tables for your database:
[your root shell] # cd /var/www/html/cacti
[your root shell- cacti] # mysql --user=root --password=samplepass cacti < cacti.sql
I also created a MySQL username and password for Cacti:
[your root shell] # mysql --user=root --password=samplepass
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 28
Server version: 5.0.45 Source distribution
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'samplepass';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
Edit /var/www/html/cacti/include/config.php with your favorite editor, and update the information to reflect our cacti configuration (you can leave the other text in the file alone):
/* make sure these values refect your actual database/host/user/password */Create a cron job that polls for information for Cacti (I'm choosing to use /etc/crontab here):
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "samplepass";
$database_port = "3306";
[your root shell] # vim /etc/crontab
Add this line to your crontab:
*/5 * * * * cactiuser /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1Edit your PHP config file at /etc/php.ini to allow more memory usage for Cacti. It is a relatively large text file- using vim, I search for "memory_limit" by typing /memory_limit in command mode.
[your root shell] # vim /etc/php.iniBefore I check to see if Cacti works, I want to check and see if mysqld and httpd
I changed memory_limit = 8M to memory_limit = 128M
are running using the service command.
[your root shell] # /sbin/service mysqld status
[your root shell] # /sbin/service httpd status
If mysqld and httpd are running, great. If not, type:
[your root shell] # /sbin/service mysqld start If you're an "I need to see what the output looks like" type, here is an example of the previous command:
[your root shell] # /sbin/service httpd start
[your root shell] # /sbin/service mysqld status
mysqld is stopped
[your root shell] # /sbin/service mysqld start
Initializing MySQL database: Installing MySQL system tables...
Filling help tables...
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
The latest information about MySQL is available on the web at
Support MySQL by buying support/licenses at http://shop.mysql.com
[ OK ]
Starting MySQL: [ OK ]
You should now be able to access cacti at http://localhost/cacti from the local computer or from any computer within your LAN network at http://your.internal.IP.address/cacti .
There should be a Cacti Installation Guide window that shows up, giving licensing info and the like. Click "Next".
Select "New Installation", since this is a new installation.
The next window to pop up should tell you whether Cacti could find the paths to all of the elements that Cacti needs to run, such as RRDtool, PHP, snmp stuff, etc. If everything but Cacti was installed via yum, you should be good here. Click "Finish" to save the settings and bring up the login window.
Below is a screenshot of the login window. The default user name is admin. The default password is admin. It should prompt an automatic password change for the admin account when you log in the first time.
If you successfully log in, I'd recommend taking a break here. Depending on how fast you are, your cron job may not have had enough time to run the poller program and create data for your graphs. I'd suggest taking a deep breath, or brewing a cup of tea (or coffee) for yourself.
The localhost machine should have some graph templates that are already created, but you can click the "Create Additional Devices" link to add graphs for any other machines on your network. I added my FreeNAS box (tutorial for that to follow).
After having consumed your beverage of choice, press the "Graphs" button. Cacti should have a graph showing you a couple minutes of data for the machines you have added. The longer your machine is on, the more informational the graphs will be. Also, if you click on a particular graph, Cacti will Congratulations! You're now monitoring!
View the Cacti documentation page for more information on how to take advantages of Cacti.
Below are some graphs that were made using Cacti.
for more blog posts!
It´s a real story. My mom don´t like Linux, because think it´s ugly. She don´t know nothing about design, programing, user experience or high resolution things. She simply don´t like what she sees.
She likes to use Windows 7, because it´s look, not because it´s resources. And her opinion it´s so important, because the greater part of computer users are like her, not like the developers. And, to make a OS to be sucessfull, it´s in this kind of user the developers must to be focused.
It´s simple: you have to adapt your product to satisfy the greater number of people.
Knowing what people want
I don´t have all the answers, but I can tell one thing: The resolution of the monitors are getting greater and greater. The HD era is a reality and, if you can´t see that, you can´t create a satisfactory product. The fonts, the icons, and other little things in Gnome and KDE, aren´t good enough for the new monitors, for high resolutions.
When you develop a product, you need to watch, not only your competitors... But you need to know how the consumers will use your products. And make it, thinking in the non-specialists users.
Unless you´re making oil drilling equipments!
Linux...The Final OS. These are the voyages of the Linux distributions. Its 5-year mission: to explore strange new commands, to seek out open source and new freedoms, to boldly go where no Microsoft developer has gone before!
Who here remembers the original Star Trek? Yeah, that's right, the original James Tiberius Kirk makin' it with the green ladies while Spock stared into some tiny optical view master and the Enterprise running full speed ahead with photon torpedos and phasers blasting away Star Trek. Each episode usually placed the crew into some new frontier, planet or gaseous expansion (gaseous...a humorous word) that forced them to analyze, communicate, learn and deploy a new method to overcome some challenge. Now I can't say that Linux has defeated any hissing green Gorn lizards, but I can say that I really have come to the conclusion that Linux is alot like Star Trek. Here's why...
Star Trek blasted onto the scene in the 1966...to not much fan fare. Well I should say visible fan fare. In a way when Linus released his 1991 kernel it too released with not much fan fare. Again...I should say visible fan fare. Linus himself was particular low key by stating "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones." The big corporate cigar-smoking fat cats at NBC ultimately dismissed Star Trek just after three seasons, never realizing the huge fan base that quickly developed around the concepts of freedom, exploration, peace through strength, the prime directive and the aspect that everyone can contribute to the success of the community. Microsoft too ultimately dismissed Linux as a tinker toy. Just as NBC missed the realization of what Star Trek was, most of the IT industry missed what Linux was about.
Linux has become the Genesis Device. It exploded and has created not just a revolutionary new operating system, but also a methodology of community. Just like Star Trek, the Linux fan base has exploded into a community that believes exploration, freedom and that any person can/should contribute is the way of advancing man's technical capabilities. As Linux has matured and more users, developers, and corporate sponsors have joined the "Linux Federation", our favorite operating system has mushroomed into various distributions.
So we now have Linux TOS, Linux the Next Generation, Linux Deep Space 2.6, Star Trek: Linuxager, Star Trek: Penguinprise. Ok, maybe that sounds a bit silly. But think about it. We now have Red Hat, Debian, Ubuntu, SUSE, Slackware and the list goes on as more and more fans begin to create their own distribution.
This is the only concern I have at the moment about my beloved OS. I've begun to notice that as more corporate entities have begun to get involved, the direction of the starship has begun to drift. The marks and bearings change depending on who the perceived captain is at the moment. Although I hear talk (and efforts are in place) of standardizing directory structure and libraries, it is slow at best in adoption. In fact I'd say with corporate entities jumping into the pool (think of them as the necessary but bureaucratic Starfleet Command) things have begun to retard actually and slow us engineers down. I am currently fighting with very large companies who say they support Linux, but in actuality they have only half heartedly decided to support the OS. Even more so, they have decided that they support only one distribution and that if you cannot instantly get their software to run on your other distro, well then it just can't be done cost effectively.
Example? I was recently told that a particular 32 bit application from Cisco would only run on 32 bit Red Hat. Period. No way could it run on a 64 bit Red Hat let alone any other distribution their support people said. Well, after looking at some code and where the application was looking for libraries, a few work around links that did not require hacking original code and poof, proof of concept shows you can get said application to run on a 64 bit OS.
The problem are the business units. Those who do not understand Linux are beginning to make technical decisions that they have no business making. Essentially by BUs making decisions they are pitting Linux distributions against each other. It's just like that classic fight between Kirk and Spock in "Amok Time" (yeah yeah, I know...I'm a geek). The music kicks in and you have two Starfleet officers...best friends...being forced to fight each other.
In the back ground while that music is playing (dun-dun DA DA DA DA DA DAH DAH DAH DA dun-dun-dun-dun-dun) I'd offer that the community needs to do a better job of educating the business managers of our companies we work for and interact with daily. They are forgetting that Linux is the kernel. The distribution is the various packages wrapped around the kernel. Think of it like the warp engine. Even though the class of ship and purpose of the ship changes...it is still powered by the same warp engine.
Star Trek recently released a new movie that has proved to be immensely popular and has reignited interest in the space adventure. My hope is that somehow we can engineer a marketing campaign that not only ignites even more interest by the corporate world in the superiority of Linux and the community method, but passes along an understanding of what Linux is and what it can do. Windows did not dominate the world's IT infrastructure by being the better OS...it did it by effective marketing. Google wrote good, smart code...but they effectively marketed themselves. Watch how they will market Chrome. We need to do this with Linux.
Now before you claim "Damnit Kryptikos, I'm an engineer not a marketer!" just stop and think about it. It's our job as engineers and developers to guide the starship safely to destinations. We do that by telling the captain what the ship can and cannot do. It's the classic conversation between Scotty and Kirk: "Scotty, you're as good as your word." -- Kirk, "Aye sir, the more they overtech the plumbing, the easier it is to stop up the drain." We need to do a better job of marketing our OS (regardless of distribution...although like everyone I have my favorites) and keeping the business units from overteching. The overteching stops up the drain which then causes the end user to think the starship is not worth its weight.
Ultimately I think Linux will continue to grow and build muscle. It may be a while before IT shops change out all of the blue screens for the penguin, but with effective marketing and proof of concepts we'll have our little bird at lightspeed in the time it takes Linus to say "Make it so".
Cheers - Kryptikos
I use Debian extensively and Shorewall as my preferred firewall.
I have more than a couple dozen of these boxes in production, in a health care environment with thousands of rule sets.
Recently while working with a noob on setting up a new FW, I became aware that the 2.6.20+ kernels do not have bridging as a default. Ouch..
Using a Bridge firewall methodology, without bridging, becomes alot more difficult to set up and secure.
I really try to keep things as simple as possible, and now I am faced with a few not-so-desirable choices.
FYI I am a working manager, terribly understaffed, and in process of training unfamiliar, entry level staff on the hows and whys of Linux firewalls.
The workarounds provided by Tom Eastep look complete, however I have given em a go on a couple of "fit pc" boxes, but havent produced a working firewall yet. This looks fairly complex. I am not happy!.
Choices I see:
Build future firewalls with older versions of Debian, pre 2.6.20 kernels, and keep doing things the same way.
Follow the instructions provided by T. Eastep's regarding "workarounds" for Shorewall. (complex, easy to get it wrong, hard to know if it's wrong)
Put together a custom kernel *ugh*
Switch firewall software altogether (lost training investment)
Am I missing something obvious? Is there an appeal process to the Debian Gods?
I'm sure that the title is confusing to many. This article is meant to help users in a very specific workflow: administrators who have to frequently test applications as other users remotely. If that's not you, you probably won't get much use out of this posting.
This week I had the pleasure of running a Webex session directly from my Ubuntu Desktop.
It was the first time I didn't have to hop into a VM via rdesktop in order to connect. The webex client uses Java and was working fine, untill I tried to resize the screen (that failed miserably and gave me a very nastily distorted view).
But in all cases, with the excpetion of a few bumps here and there I have to admit that I'm spending more and more time on Linux, even during work hours, and I am only getting on Windows VM's to do office work or support work (as our software isn't running on Linux yet - and I can only dream that'll happen one day)!
Just few days have passed since my registration at linux.com and I have already got the very first spam e-mail. Very nice! ;-)
Over the past four years, I've seen GNU/Linux grow and mature in ways most people just wouldn't have expected. With corporate-backed projects such as Fedora and community distributions such as Ubuntu making such headway, it'd be wrong to say that Linux has miles and miles to go to achieve desktop adoption. From wifi support to interoperability to numerous projects on integrating FOSS drivers with the kernel itself, Free Software on the Desktop has made major headway.
However, there is a bit of a shortcoming: while distributions constantly get easier to install, remix, and redistrubute, there are only a handful of providers that even support GNU/Linux as an option. Granted, there are scores of dev teams out there for many distros that gladly dedicate their time to ensure that your machine of choice supports their distribution. It's a handy practice to have, but a problem remains in the sense that many O.E.Ms still ship Windows by default.
Another problem is that many GNU/Linux users are too tech savvy for their own good. It's been a common practice of installing a distribution on one's own hardware, and heading out to buy components for upgrade. Let's face it, it's a sensible practice for enthusiasts that like to tailor their machines to suit their own needs.
However, it doesn't change the fact that many O.E.M.s simply don't ship GNU/Linux at all. A lack of demand for machines causes manufacturers to scale back and ship what they've always shipped...Windows.
So, what distributors ARE out there to sell customized GNU/Linux machines? Below is a short list.
Dell - Dell is known for supporting Linux for quite some time, however their number of available models seems to fluctuate every now and then. Currently, Dell supports the Ubuntu distribution.
System76 - System76 has made a name for themselves by fully supporting Ubuntu across their entire product line. They have a nice lineup of laptops, although they're a little on the pricey side. Still, I've heard that they get great reviews.
Los Alamos Computers - LAC is officially supported by both the FSF and the GNU project for shipping one of the few truly free distributions, gNewSense.
HP - Last I can remember, HP shipped some machines running OpenSuSE. Anyways, HP has a dedicated R&D team for Free Software systems, and makes every effort to make their products compatible with GNU/Linux.
Lenovo - Lenovo, the old PC arm of once-computing giant IBM, has a lengthy list of machines that they sell preinstalled with various GNU/Linux distributions.
Emperor Linux - While not necessarily an OEM per se, EmperorLinux takes existing laptop and desktops and preinstalls...you guessed it! Different GNU/Linux distro of your choice.
LinuxCertified - See above.
The list goes on. Here and there, little distributors pop up with some customized laptops. GNU/Linux is growing in the sense of commercial viability, and companies are warming up to GNU/Linux Offerings.
First I would like to say that I am not a fan of just about any Microsoft product and I loath the iPhone. That being said it will be a little easier for you to understand my frustration with the way the day plays out.
Here is the basic gist of the call I received. "Mr. Important at the Big Company got a new iPhone and he knows from the bills he pays that he also has an Exchange server and he read somewhere that they can sync, so he wants us to make them sync his calendar and contacts without him plugging in his phone." Never mind the fact that they have a Cisco PIX between their Exchange server and the Internet.
Never mind the fact that their Exchange server is five years old and the only reason they use it is to share calendars. We will just schedule it as a four hour job and send me over to "make it happen". All kinds of red flags were going off in my head, but I googled it before I left to make sure it was possible and sure enough there was more than one tutorial on how to set it up.
So here I arrive at the client and I sit down and explain to the only computer savvy person what I plan to do and make sure I have a firm grip on what the main goal is. Pretty simple. Make the bosses iPhone sync his calendar and contacts without him having to come in and plug it in. First I look into Apple's MobileMe solution. It looks like it would do what I want. They don't tell you until after you install it and try to use it that it doesn't work with Exchange. I guess they figure if you can afford an Exchange server that you must have an IT person and they will know how to set it up. That IT person being me. Scratch that Idea. Next I look at using push mail like what we use with my work phone. About all I know is that it works when it wants to work and my boss had a bitch of a time setting it up and not having certificate security warning on either the phones or the 07' Outlook clients.
So I ssh into the PIX and open up https and http to the exchange server and try hitting the outlook web access from the outside and it works!! Hell Jeah! About this time I'm thinking that this might not take all day and I might be about to whup a four hour job in two! It worked fine with just http and I read online that your could tell the iPhone not to use SSL so I thought I might be in luck. So I went and got The Big Man's iPhone and said let me try something for a minute. I got his phone hooked it up Via USB and did one last sync in case I screw things up. Then I went through the steps to get calendar and contact with an exchange account and it went through. Then there was that part where it asks if I'm sure because It will over write all contacts and calendar entries. I thought, "well shit that's the whole point right?" I accepted and it looked like it was starting to sync....
Then his phone rang. It was a random number he didn't recognize. He want ahead and answered. It WAS somebody he knew! He said where are you calling from? His buddy was like "my cell?!?!" Aha! All his contacts were gone. He handed his iPhone back to me with wide eyes and said "um what happened to all my contacts?" I said "uh oh don't worry they are all on the server, I was syncing. Ah hem, I'll fix it."
I blew it off mentally and told myself that surely it must be syncing over the air.... slowly. But No. After waiting 20 mins and nothing showing up I began to do some research. And then some more research. Finally I read a post that says your Exchange server must be at least service pack 2. I goto the server and look and sure enough it is only service pack 1. Great!! This I can fix! I go and download service pack 2 and while I'm waiting I turn that crap off on the guys iPhone and re-sync with his USB and get his contact and calendar back to at least the way it was before I started. The service pack is done downloading so I goto the server and try to install it. It Fails. Nice. Love you Microsoft!
I did some research and checked some random box in some obscure tab of some settings menu and try again. This time it works! I restart all the exchange services and just as I am about to start feeling happy somebody sticks their head in the door and says "hey I just got kicked out of my email, are you messing with the server?" I said "Yeah I'm doing some maintenance it should be back up in a bit". I restart all the services again and head over to make sure they can get in. They can't. I try a bunch of stuff with no luck. Then Another person comes in and says they can't get into their email. Hmmm I begin to wonder weather this isn't a server problem related to the Service Pack install. Sure enough it is and now nobody can get into their email in the entire building!
Crap! At this point I have broken more stuff than I have fixed and its already 2:30pm. I got here at 9am. I feel special. After an hour of research and trying different things I finally give up and tell everybody that I have to reboot the server and they need to get out of all their special software and things will be down for a few minutes. I shut the server down for a reboot and cross my fingers. The reboot takes no less that 15 minutes. This is an old server. People are getting impatient. People are standing over my shoulder. Joking even when they are pissed because surely I am a smart guy who has come to fix problems and not create them right?
Finally the server comes back up. People can miraculously get back in their email. People are happy. Life is good for a time. Then I talk to the guy in charge of IT money and we realize that even after hours of hard work and plenty of ups and downs that I still didn't accomplish what I came to accomplish. Luckily he has had computer problems in the past and understands that even though we didn't accomplish our goal that we did get service pack 2 installed and get a firmer grip on what needs to be done. I need an FQDN and a SSL cert. Then I can come back and give it another try.
Spent 7 hours on a 4 hour job and couldn't bill a damn thing. Not only that but try to explain it to anybody who isn't IT and they wouldn't even begin to understand. I love my job!