|
Posted by NC on 02/15/06 19:44
joelbyrd@gmail.com wrote:
>
> I was looking at jobs on craigslist and saw several postings saying
> something like "2+ years experience developing for a LAMP
> (Linux/Apache/MySQL/PHP) platform...". Now, I've been working
> with PHP and MySQL a few months now, but here's my question:
> where does the Linux part and Apache part come in?
OK, let's imagine a simple situation... You have a script that does
some memory-intensive work. The default 8M memory limit is not enough;
you want to increase it. So you need to know where to find php.ini and
what directive(s) to change once you find it. You also need to
remember to restart Apache to make sure your changes are activated...
Now, a more complicated situation... You are building an in-house
application for a company. The testing runs are going great, now it's
time to deploy. The application is supposed to run on a dedicated
Linux server installed on premises. The company bought a brand-new
server; it just arrived to the office. Now you need to get it ready it
to host your application... This may include having to configure
Apache, as well as installing, configuring, and fine-tuning MySQL.
It's also possible you may want to throw in a Samba server, so that you
can work with your scripts from your Windows development workstation.
Good knowledge of the underlying OS can also help a lot if you are
developing command-line scripts.
> What should I know?
The more, the better... Simple tidbits (say, "HTTP authentication is
only available when PHP is running as an Apache module, not as a CGI
executable", or "Apache 2 with a threaded MPM is not to be used in a
production environment; the prefork MPM should be used instead"),
intermediate things (say, use of mod_rewrite to beautify URLs or use of
cron for scheduling application maintenance tasks), advanced things
(performance tuning, load balancing, etc.)... You may not want to
become a fully-grown system administrator, but it won't hurt to be able
to maintain a sensible conversation with one...
> In other words, I don't think I've ever had to deal with anything
> specific to Linux or Apache, so in what circumstances would
> knowledge of these need to come in?
In any situation where you are responsible not just for developing your
application, but for deploying and operating it...
Cheers,
NC
[Back to original message]
|