When I took over doing support while we look for someone to replace our network admin, I was excited, for a moment, about playing with Mac OS X Server. For a quick moment. The first thing I know, I get a phone call from a remote user who cannot reach the server with ftp. I fire up Workgroup Manager and Server Admin to make sure the user’s account is active, and that ftp is in fact running, and that the firewall is not blocking any of the ftp ports. Everything is a go. I reset the password, and think that was the problem. I ask the user (on the phone) to try and log in, but no luck. I then bust out Cyberduck (my new favorite FTP client..thanks Ken!) and try to connect. No go. “Server shut down” Wild. I stop and start the service a few times, look at the logs…everything looks fine. I start to remember how much I love Mac OS X Server. Don’t worry, I am sure “it will be fixed in 10.4”. Right.
At this point I decided to look at other ftp servers out there, but then I realize how much of a pain it will be to add 50+ users, and I am not one to let Mac OS X Server to win so I forge on. I do a search at Apple’s support web site in seach for an answer to why the ftp process is not running, but Server Admin says it is. Not too much in the mailing lists (for once) nor google, so I head off to my last resort, the Apple Discussions before I write into the macosx-server list. Thankfully I found someone with the exact problem, and a solution which also fixes my problem. I still cannot figure out the miscommunication between Server Admin and the actual process, but at least it is working.
Again with my refrain…how do you screw something up like that when ftp (like httpd) is so straightforward in Mac OS X Client?
Time to learn Solaris, yeah. Time to get a PC, no. 😉 I finally got a Sun Ultra 10 lined up for me, and should hav eit some time next week. I am not looking for speed or anything much, just something to play around with, learn Solaris, and get serious about high availabilty servers. If all goes well, I will have a Sun Blade 1500 someday. On another note, Fedora FC3 is working out well, and I am enjoying learning the ins and outs of it.
Now that I am no longer doing any Linux/UNIX training, I thought it would be best to have a Linux machine running so I can stay on top of what I learned. After trying out Mandrake Linux (now Mandiva), considering Yellow Dog, etc, I decided to give Fedora FC3 a try. Why? Well, there is a lot of movement with Red Hat Linux, and I decided to go with something that was built by the same community. I wanted to get familar with a widely used flavor of Linux. Yeah, I would get better performance with Yellow Dog if I ran it on my G5, but I wanted to make sure I chose something that I could use on various platforms…and get active in the development community, or at least the listservs.
I grabbed the images, read some information on installing it for PPC, and took off with it. I decided to install Fedora via FTP which worked like a charm. (I used this method with NetBSD way back in 2000). I had some problems getting the X environment up and working, but now I am rocking and rolling. I am impressed to see that so many applications come with the basic install. During my second install, I decided to do a custom install to see all of the options, and again I was very impressed. Good work developers. Perhaps I will post more later.
PS. Get well soon Susan!
Here I am…thinking (dreaming) about replacing my Apple G4 Cube with a sweet Sun Solaris set up, since all my web development work at home is done with text editors and gimp.app. It is definitely time to learn Solaris, but I do not want to put out the $$ for Sun hardware (and yet I do not want to buy PC hardware either). Ken turned me on to Shuttle hardware which is a SFF (small form factor) maker, and their hardware looks pretty decent…and is something I am not used to…it is cheap. I built a complete computer for under $700 (I have a hardrive for it already) which Ken assures me would be a killer game machine if I actually put W on it. Yeah that’s right, I will not spell it out 😉 . This is very tempting for me (a cheap solution running Solaris), but now it is time to make sure everything will work nicely with Solaris. I will say I am very happy with Apple for making hardware purchasing so easy, but it is really quite wild to me to have so many options. Choose your poison I suppose. Back to Sun’s web site to check out the forums.
PS, while searching for “SN95G5, Solaris” I came up with something crazy (the umrella part of the post). Can’t get too much mroe random than that.
[tags]Solaris 10, Sun[/tags]
Finally…I finished up my last two Perl projects, and now am officially certified by the University of Illinois and O’Reilly as a Linux/UNIX Administrator. A big thanks to Ben for putting up with me and my frustration with Perl…which I kind of like now 😉 .
A few UNIX hints for today:
- Did you ever want to know how much free disk space you have on your *NIX server/desktop? Use the command
df. I usually use
df -hto get a more friendly output.
- Perhaps you want to display disk usage statistics. Use the command
du. I use the command
du -hto once again get a more friendly output. * -c will show you the total disk space used, while another favorite of mine:
du -d [0-9](ex. du -d 1 to see disk space used one directory level in). This is helpful if you do not want to see all your directories listed.
- Read the man pages!
It has been a few months since I first posted about configuring ipfw on Mac OS X. Since then I have had a few random issues with startup that may have been related to my firewall settings, but I was never able to really hone in on the exact problem (because the problem was not constant, and the logs were not useful). After MacDevCenter recently posted an article on configuring ipfw I took a few minutes to see how they had everything configured and set up, then tweaked my firewall. To my pleasure, I have my new configuration running on my computers and have had no problems.
What I changed:
ipfw.conf: add 02000 allow ip from any to any via lo0 to add 02000 allow ip from any to any via lo*
/Library/StartupItems/ipfw/ipfw: my new file.
/Library/StartupItems/ipfw/StartupParameters.plist: my new file
- new syntax in the ipfw.conf (rules are still the same, ecept for my noted change above): my new file
Why did I change my files? I figured O’Reilly knew what they were talking about, and I liked their code better than what I orginally found. Now I am confident in my setup and can recommend it for everyone who is interested in customizing their firewall rules more than Apple allows with their GUI.
I have been looking for good Mac (not MAC) OS and UNIX training opportunities and think I finally came up with the missing piece, Big Nerd Ranch. Over the years, I have looked for good training for Mac OS X/Mac OS X Server, Apache, PHP, and other web technologies, but have often come up empty handed or less than satisfied. So if you are looking for some decent training, here is what I would recommend:
- Hands on training for Mac OS client or Mac OS X Server and want to get certified: http://training.apple.com/
- Hands on training for UNIX or advanced Mac OS X:http://www.bignerdranch.com/
- Web based UNIX/Linux training: http://oreilly.useractive.com/courses/sysadmin.php3
- Web tutorials on HTML, XML, SOAP, XSL, SQL, etc: W3Schools (where I learned XTHML and CSS)
What is going on here? Adobe announced http://opensource.adobe.com/ which allows the open source community to have access to some of Adobe’s great C++ libraries in the past few days. I am, for the first time in my life, installing a non Apple OS on my PowerBook…Mandrake Linux 10.1. Wow. Sun…your turn…and please do not forget about us PPC users 😉 . What is next? Oh that’s right, I am also installing my friend Mac OS X Server on my PB too. I am never quite sure why, but at this point…why not?
I recently went through my bookmarks and realized I had some cool stuff bookmarked, but forgot about it and wanted to share.
- A History of Apple’s Operating Systems (http://www.kernelthread.com/mac/oshistory/).
- Apple’s Pro-IT Resources (http://www.apple.com/itpro/resources.html).
- Mac OS X FAQ (http://www.osxfaq.com/tips/unix-tricks/).
UNIX Tools/Tips/Tech Resources
- Mail Relay Testing (http://www.abuse.net/relay.html).
- Snort (Network Intrusion Dectection) (http://www.snort.org/).
- UNIX Tutorials (http://www.unixcities.com/).
- Streaming DJ Mixes (http://www.d-i-r-t-y.com/).
- DJ DoBoy Mixes (free, legal downloads) (http://www.djdoboy.com/mixes/mixes.html).
- The Vault of Seinfeld Sounds (http://www.accsoft.com.au/~quantum/SEINFELD.HTM).
- Common Errors in English (http://www.wsu.edu/~brians/errors/errors.html).
- Clientcopia (http://www.clientcopia.com/top.php).
- Rasterbator (awesome picture creation tool) http://homokaasu.org/rasterbator/).
- Office Space Movie Fan Site (http://www.bullshitjob.com/officespace/).
If you find yourself developing more than one web site at home, or anywhere with a *NIX machine with Apache, and want to be able to access all the sites for testing, it is time to set up Virtual Hosts. By using Virtual Hosts, you can access all your web sites easily (especially if you use absolute links) and separately by typing in:
http://other. How does this work? Like I mentioned before, the first step is to set up Virtual Hosts. The second step is to edit your /etc/hosts file so you can assign names to your localhost address (jappler for http://jappler/)
Setting up Virtual Hosts
- To set up virtual hosts, you will need to edit your Apache configuration (
sudo pico /etc/httpd/httpd.conf). You can make a number of changes in the Apache configuration to set up an environment that is right for you, but for now, all you are concerned about is located at the end of the standard config file.
- Uncomment the line:
NameVirtualHost *:80(delete the number sign in front of the line)
- Add in your Virtual Hosts information:
ServerAdmin [email protected]ver.com
CustomLog /Volumes/www/Sites/jappler.com/logs/access_log common
To break it down line by line:
- ServerAdmin: your email address, not really too important for local testing.
- DocumentRoot: where your site files are located.
- ServerName: This is the name you want to use when to test the web site in your browser (ex. I use jappler for http://jappler/)
*This will also match the name you will add to your /etc/hosts file)
- ErrorLogs: Location of your error logs. You can create separate log files for each hostname, or use one log file for all errors.
- CustomLog: Location of your access logs. You can create separate log files for each hostname, or use one log file for all access information.
Modifying the /etc/hosts file
- You will need to edit the /etc/hosts file (
sudo pico /etc/hosts).
- Your /etc/hosts file will look like:
# Host Database
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
You will need to add in the site names you want, after the 127.0.0.1 localhost line. You can add in as many as you want, but know these will only work on your local machine. More on the /etc/hosts file. Using pico or any other editor, add the hostnames you want to use locally to the /etc/files so it will now look like this (see changes in bold):
*Make sure your hostnames match the names you used in your Apache Virtual Host section
Once you have your Virtual Host information in place, and you have editted your /etc/hosts file, it is time to start up Apache. To start, stop, or restart Apache, you can use
apachectl in the command line. On Mac OS X, this is located:
/usr/sbin/apachectl and in most UNIX/Linux distributions, it is located:
/usr/local/apache/bin/apachectl. To use it, you can type in (on Mac OS X)
sudo /usr/sbin/apachectl stop (to stop Apache). To start Apache type in:
sudo /usr/sbin/apachectl start. If you have any syntax errors, Apache will display them after you type in that command, if not and everything is ok, you will get the message:
/usr/sbin/apachectl start: httpd started.
Now you are all set to serve your web projects on your local machine with unique names for testing purposes! Questions? Just ask.
[tags]Mac OS X, web development, apache, vhosts[/tags]