My hobby suddenly got a lt more serious.
It is now my second job, I get paid for it, and now I've been granted my very own dedicated Drupal server for all my present and coming Drupal projects. The catch is that I allso was granted the reponsibility to administer the Drupal isntallation, and keep everything running.
In short: If we get downtime due to Drupal, I get the blame. So I'm going to do my best to allways install the latest security updates, and stay up to date on other issues and vulnerablilities.
To lessen the workload (This is after all a job #2, to be performed after my day job) I'm planning on setting up a multisite setup, with a single codebase, and centralize the basic modules and themes. And thus a number of questions arises:
- How many sites can be run of a single codebase? Are there any limitations I should be aware of (I think I've read something about the cron.php script becoming a heavy dutie script to run if there are too many sites)
- All of my sites are most probably going to have separate databases, is there any way of updating all of them with one single script, when I update the Drupal core. Or is there no way around logging into 20 ish different sites as admin, and run the update.php script.
- I've got absolutely no experience being a server administrator (server admin is not quite right though, I do not have responsibilities for the basic LAMP installation). Are there other issues / problems / challenges I should be aware of when I start running this server?
Any advice is received with great gratitude.
-Olegu
http://www.zbz5.net (And I finally get to move my site to a reliable host, ME :-D)
Comments
your server
Hi!
Well you have some exciting times ahead of you!
To enable us to assist you, I guess you need to tell us what hardware, OS, webserver, SQL base, etc, etc you are going to use for your server setup. You also need to mention if all your sites will be live sites.
With that info in, I for a start can assist you somewhat.
Regards
Server specs
As I'm only responsible for the Drupal part of the drifting, I'm not really sure of all the specifications, other than it's a Brand New Machine :-D. T
he company I work for have dedicated staff for hardware configuration and basic LAMP setup, so I feel that the backbone part of it is in good hands.
It's the Drupal specific challenges I'm worried about.
This is what I know thouhg:
Php: 4.3.10
Apache: 2.0.54
Mysql: 4.1.11
I asked the server guy If he could be bothered to upgrade the php version in accordance with the requirements section in the handbook, as this recommends v 4.3.3 or v 5.x. On secont thought, maybe I should have encourage php5 as this is the newest version, what is the recommended PHP version?
Other than that, I don't know. Is there something else I should ask for that are imperative for my Drupal administration activities?
-Olegu
http://www.zbz5.net/
Administration
OK, I see that your biggest problem is the administration side.
Let' start off with that then .... from your posting I am presuming you are using a Linux OS because you state you have a LAMP administrator. Thus I deduct that you are using Apache to do virtual hosting. You are not doing a VPS (virtual private servers) solution on your "new server". :-P
Ask your system admin to upgrade the LAMP system to latest Linux/Unix, Apache 2.2.2, PHP5.1.4 and MySQL5.0
Since you will want to administer a multiple of sites, ask the admin to grant you root access (or equivalent in a special group such as "sysadmins" he/she can create for you) to your directories. Then also ask for SSH login rights, which will allow you to manage your part of the server via a terminal window (Linux, Unix, BSD) or an application like Putty (Winslows).
Also add an "access" and "error" log file for each of your domains in the Apache config file. This will allow you to keep tight track on what is happening in each of the domains.
I would strongly suggest you ask for Webmin to be installed using SSH (for security reasons). This is an excellent tool to administer the Apache and MySQL servers, the MySQL databasis, execute SQL scripts easily, monitor your log files, etc etc from your browser. Will save you one heck of a lot of time and FRUSTRATION!
I think this is enough to chew on for now ... let me know of your progress. BTW I run the above config with Drupal 4.7 - no problems on a BSD box.
I seem to have a lot of reading to do
Thank you very much for a long and informative answer.
Obviously I need to educate myself quite a bit in server administration. Do you have anywhere I should start reading, like a server admin for dummies site?
Allso I would be very thankful If you could explain why I'd want the versions of LAMP you've given me, what I'm going to do with my root access and SSH login rights. What is the main difference between Webmin and PHPMyAdmin wich I will be getting.
I'm not just being lazy here, its just that I would very much liketo avoid a conversation like this:
I really appreciate your effort to help me out
-Olegu
http://www.zbz5.net/
It is do-able. Here is an
It is do-able. Here is an interesting read for different site admin profiles http://drupal.org/handbook/is-drupal-right-for-you and some of the general skills to look at.
For starting off you have a couple of avenues. One, read the best practices link in my sig. If you are paid for maintaining sites, the single most improtant thing for you is your confidence and ability to recover those sites in the event of a disaster. So you will want to practice backup and recovery to a different site. Now what you are looking at learning can and will at times seem over whelming so you don't get any hobbies for the next few months :D.
I strongly suggest you get XAMMP and load it to your local system and play with it. It will give you local exposure to Apache, MySQL and PHP. It will give you a place to test and try test sites and backup and restore stuff without risking your production site. I have some stuff on my iste (not all finished but there for the reading http://www.blkmtn.org/book/drupal on using XAMMP locally.
Don't worry so much about getting your php and Apache updated to the latest yet. You will probably want to at some point but it's not a rush this month. Sit back and start playing with a LAMP setup. If you don't have access to a *nix system locally and don't have the extra hardware for it, VMWare has Virtual players that you can download images such as Ubuntu and play with it locally in a virtual server.
You will have frustration and fun. So, pick up a php guide or work through the various web tutorials on it for the concepts. The MySQL manual also has a tutorial that's pretty good at working you through the basics as well. Frankly you can get by without knowing php, I do but if you want to get really fancy with your sites and be really good at what you do, you'll need to learn the basics.
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
link
sepeck, this link gives a "500 server error" - maybe check it out.
My firewall seems to have
My firewall seems to have died. Check back in a day or two. It'll be up again.
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
death in the family
ouch!!
wilco ...
olegu, you see how easily it is to encounter problems when you are a sysadmin ? It always happens when you least expect it and when you have the least amount of time on your hands and when EVERYBODY wants it done NOW ..... ;-)
start here
Hi,
Only a pleasure so far!
Seems your sys admin has a chip on his shoulder when it comes to his servers - and that is a good thing! Do yourself a favour.... start with your sys administrator and buy him/her a beer or coffee and discuss what you aim to do in detail. This will allow you to learn the concerns (and this always boils down to how to prevent a systems crash with the nasty recovery episodes) re sys admin. It will also allow you to meet the person behind the systems and let him/her feel part of your project. Keep on buying coffee and beers on numerous occations till you cannot learn any more.
Next thing - do not fret too much about the latest versions, BUT make sure that the LAMP combination is the lates working.
Third thing - start with Apache - their www site is good and start reading some of the docs on their site. Everything (from a sysadmin point of view) revolves around keeping that server up - and that must be your main aim - to ensure that your sysadmin has a superb confidence in you.
Re your question about Webmin and PHPMyAdmin - you actually need BOTH - as Webmin is not a PHP admin tool - I agree that you do not have to fret about PHP. You do need to understand SQL though and for a newbie, Webmin is IMOH the best tool around.
Also do not confuse SSH with SSL - Apache and SSL is something you would like to avoid at the moment!
Lastly - get yourself a test machine - do not use VMWare as this is yet another thing to learn. An old PIII will be fine to learn the basics - ask your sysadmin to give you all the parts from his parts bin and build it yourself.... obviously that will cost you another round of tea, coffee or lunch! :-) Load Ubuntu or FreeBSD on it - if your server is going to use Linux go Ubuntu, if Unix flavour go FreeBSD.
I guess that is enough to chew on again!! Be prepared to have lots of frustration and lots of questions - get yourself a notepad and write your questions down and as you find the answers write it down .... then ask a secretary to write us a book and lets publish it to help others!! Maybe keep it in the format we have going here :-D I like things with a touch of humour when I have to explain every painful step... so I guess, ask as much as possible!
Keep well!
sysadmin's spec sheet
here is a good spec sheet of a typical sysadmin - enjoy!!
http://www.bitshift.org/sysadmin-if.shtml
1000
I think I've heard that Bryght runs something like 1000 sites off of one code base. Don't quote that without checking it out.
More than 1000
I work for Bryght. Not to give too much away, let's just say the number is higher than that. :)
(Username formerly my full name, Richard Eriksson.)
Then that won't be a problem
Then that won't be my primary concern the first time.
-Olegu
http://www.zbz5.net/
A big thank you to everyone giving advice
I want to send a big thank you to everyone who has given me great advice regarding my new server. This is a little update on the current situation:
I had a little chat with my boss and the sysadmin to better define my responseblilities with regards to the running of the new server, and this is what came out of it:
- I am responsible for keeping drupal and and modules up to date, and to make sure I don't run unsafe modules, or modules that can crash the installation.
- Everything else is the sysadmins responsebility
- If I need something done, the sysadmin is at my disposal.
- If the sysamdin wishes to delegate some work to me, and feels condifent that I will be able to carry out the task, I will be given the nessesarry training.
We settled on a tripple drupal setup:
- one for developing and testing
- one for testing of release candidate websites, and for checking that updates of core or modules doesnt break anything. I will try to keep this install indentical with the live install
- one live install.
Any thoughts on that approach?
Allso I have my trusty ol' uniform server install on my laptop to do offline development.
-Olegu
http://www.zbz5.net/
Local CVS or Subversion working copies
There may be some hints in these two scripts to help manage your own CVS/svn working copy. You don't need to checkout HEAD and it would be fairly simple to add a live, but secured, staging area for testing. This may make it too complicated for you to manage, but it's a suggestion that could be useful.
http://drupal.org/node/71232
I'll second that!!!
I'm just about to embark on a similar situation so this thread has been very useful and straight into my bookmarks