...more recent posts
Just got my IP addresses. Server goes in tomorrow. My goal is just to get it up and running and to be able to SSH in using an IP address. Then over the weekend I will hope to get DNS working and to make Apache respond to a domain name. If that all works I will pull the trigger on the new server next week. Not sure how long that will take build and arrive. I'm hoping about a week.
Volunteer needed. Here's your chance to be part of the empire! :-)
The colocation facility has the usual high tech key card security. I want to list someone else to be issued a second key card. Responsibilities would be minimal, and include taking one trip down there with me so I can show you how to reboot the server (just flip the switch - going down there is just so you know where it is and where the switch is,) and then actually going down there and rebooting the server if it ever needs to be and I am not in town. Most likely this would never happen, in large part because I am almost always in town. Still, it is nice to have a backup.
Eventually, if the business side of things works out, this would be something I would pay someone for. For now though I won't be moving any business accounts to the server (until I know it is stable,) and the only thing that will be there will be digitalmediatree. As such I am looking for a volunteer.
Not really a big deal - I'm sure I can add someone later. And I am certainly not going to be out of town in the near future since I am trying to get everything going. But if this sounds not so horrible to someone here let me know and I will get you a card. Thanks!
Just committed verbally to the colocation arrangement. Waiting for faxed documents. Hopefully the test server will go in over the next few days.
I have restarted talks with the colocation facility here in NYC. Getting close.
After many many reinstalls today I have finally made a little more progress. The server comes up on my local network and I can ssh in to it from my laptop. Plus Apache is set up and running and will serve files over the local network. Again, this is all pretty easy, but that dosen't mean it doesn't feel good the first time you see a page from your server load up in a browser on a different machine. It's alive!
Notes for myself (so I remember when setting up the real server.)
Install minimal system from disc, then:
rpm --import /usr/share/doc/centos-release-4/RPM-GPG-KEY
yum upgrade
yum install perl-DBD-MySQL mysql-server mysql php-mysql mod_auth_mysql openssl-devel openssl mod_ssl php-devel php httpd rpm-build rpm-devel gcc perl-CPAN autoconf automake
Make sure apache and mysql start on every reboot:
chkconfig httpd on
chkconfig mysqld on
And start them both now (since we don't want to reboot):
/etc/init.d/mysqld start
/etc/init.d/httpd start
Finally have a local network set up here behind the cable modem (I had just been switching the one ethernet cable back and forth between machines depending on what I was working on.) Wireless too, although that is just a little bonus. Anyway, now I can test my server setup more easily, using the laptop as a client. Quiet weekend here, so hopefully I can get a lot done.
I found this ridiculously helpful site of Johnny Hughes which has a bunch of tutorials for setting up a CentOS server. Johnny Hughes is one of the principal maintainers of CentOS. It's very cool that he seems to care so much about helping newbies like myself.
With support like that it really is pretty easy. To set it up at least. I guess the problem is just if something goes wrong. Do you know enough then to fix it? To not lose data? To get back up again quickly? I'm trying to learn as much as I can at this point so as to move the answers to those questions towards yes if anything ever does go wrong.
The last non technical hurdles have been cleared. It has been a strange experience interfacing with the government and the banking industry. These are things I do not have a lot of experience with, and so I was very nervous and kept putting everything off. Turns out it's all pretty easy. Go figure.
Also, I finally have a desk set up at World HQ, so I am no longer sitting on the couch and trying to work. That ought to triple my productivity right there (wouldn't take much, but hey....) Still need a chair though.
Was looking at servers again last night, and of course now that I have waited and thought about it for a while I am tempted to upgrade to the next level. But it's hard to figure. Seems stupid to buy something and then run out of storage right away. On the other hand there isn't much point in buying storage ahead of time since the prices keep dropping so rapidly.
Someone left a slightly larger and much nicer Dell Trinitron monitor in the world headquarters' garbage area. Thanks! I'm taking it as a good sign (after just taking it.)
I am really enjoying learning so much more about linux. What an amazing thing. Has anything else ever been built that is so vast, and at the same time so transparent? The more I learn the more it boggles my mind. All the information you need to learn about the system is an integral part of the system itself.
Every command has a corresponding manual page. You read these manual pages from the command line by typing 'man [command]'. So to read the manual page for, say, the command ifconfig you just type 'man ifconfig' and it spits out a page detailing the proper syntax for this command, a brief description of what it does, and a list of all options. And everything has a man page.
Of course, if you're rather new to the whole thing like I am, and you really don't know what a command does, the man page might be a bit terse. No problem though, that's what google is for. The amount of information is just staggering. Sharing information about the system is built into the social fabric of the community much the way man pages are built into the fabric of the system.
It's very cool. But that's not to say it's easy. People who know how to do things tend to answer questions in a way that puts you on the right track, rather than just telling you exactly how to do it. It's a "teach a man to fish" philosophy. It's not always what the newbies think they want (myself included when I am really stuck,) but it is a great way to learn. It forces you to learn.
But even beyond man pages and google (and mailing lists which I will talk about later,) more serious adepts have the best learning tool of all - the actual code itself. If you don't know why a certain command option isn't working like you thought it would, and the man page is no help, and you can't find the answer in google, you can just open up the source code for that command and start reading. Even if you don't understand the code itself, it will be heavily marked up with human readable comments.
I guess this is the ultimate source of the transparency. Good programmers document their code as they go so that other people, without access to the original programmers mind, can look at the source code and understand it. Documentation is not an after thought, but is, like I said before, an integral part of the thing itself. And this philosophy extends from the source code ground up.
You can drive a car your whole life and never understand how a carburetor works; but if you administer a computer running linux you are going to eventually get a sense of how the internals work. You almost have no choice. Because of the transparency, learning how to do things is the same as learning how things work.
To me this is fascinating, but it also means that there is a lot to digest. Here's an example. I am beginning to think very concretely about how to organize the file system on the future server. Like many things in this world, there is no "right" way to set it up. Linux is very flexible which allows you to do almost anything, including shooting yourself in the foot in an almost infinite number of ways. In order to insure I don't shoot myself in my foot - *for my given situation* - no one can give me a foolproof recipe for success.
Instead, the people who have the knowledge tend to lay out how they do it, and more importantly *why* they do it that way. They explain the underlying considerations that made them choose a certain path, and by elucidating those underlying conditions (by teaching you about how it works at a more fundamental level,) you can then come to a conclusion for your given situation.
This, again, is the transparency. There are no right answers, except to explain how things work on the next level down. So when looking for answers you are quickly sucked many levels deeper than you might have originally thought you needed to go. And hence you end up learning a lot.
Here is where I ended up in researching file system layout. I don't really need to know all that (nor do I even begin to understand all that!) What I am trying to do is not overly mission critical (lives aren't going to be hanging in the balance,) and it is also not going to have to scale very much, nor will it really be in danger of taxing modern computer hardware. But still I am reading stuff like this, and slowly beginning to get a fuzzy picture of these deeper levels. And that seems to be the linux way. It's turtles all the way down.
Less abstractly (sorry to make you slog through all that,) I could imagine the test server going to the colo here in NYC at the beginning of week of the 18th (about a week from now.) And then the new server will follow quickly after that.
The old Penguin server has been pulled out of deep storage, I have acquired a very old Viewsonic 14 inch monitor, and they are set up and ready to go at the new secret Datamantic world headquarters. I am now waiting for my Powerbook to burn disc 1 of CentOS 4.1 i386 (that is a specific distribution and flavor of Linux,) so I can load it into the server and begin to configure this thing.
It is exciting and also a little scary. Like walking around in the dark. I really don't know what is going to happen. I've been studying the very active CentOS mailinglist for the last few weeks and there seems to be an awful lot of community support around this distribution. Hopefully that will be enough to get me up and running.
For the record, I am most scared of Bind, followed by email services.
Here goes...