I switched over from Windows a couple of years ago. I'm not a pro, but I found a few things that were frustrating for me as I switched distros or got a new machine.

Here's my advice that others have not already covered.
1) Take the time to figure out how to move your /home to another partition.

2) I use E_ALL | E_STRICT. Then you know you're good regardless of the production server settings.

3) Find a way to reproduce the environment on your machine. This caused me no end of headaches at first because it took me days to finally remember all of the applications I needed installed and figuring out how they were configured different.

I created two files. The first is a shell script that installs all of the applications I use, changes settings/permissions and makes copies of config files. Then you've always got your back covered. The second is instructions and information about how to manually change things that need to be manually changed. (config files, etc) . The only trick is being religious about updating the files every time you install/configure applications. However, this made my last hardware upgrade go wickedly fast.

So for LAMP I've got this:
(script)

   sudo tasksel install lamp-server
   #extensions
   sudo apt-get install -y sendmail php-pear php5-mysql php5-ldap
   php5-xsl php5-xdebug php5-curl php5-mcrypt
   sudo mkdir /var/lib/php5/session
   sudo chgrp www-data /var/lib/php5/session
   sudo chmod g+w /var/lib/php5/session


   sudo pear channel-discover pear.phpunit.de
   sudo pear install phpunit/PHPUnit
   sudo pear install phpunit/phpcpd
cd /etc/php/apache2
   sudo cp php.ini php.ini.original

   cd /etc/mysql
   sudo cp my.cnf my.cnf.original


(config)

   cd /etc/php5/apache2/
   gksudo gedit php.ini &
   # see php.ini.diff
   diff php.ini php.ini.original > ~/howtos/php.ini.diff

   cd /etc/mysql/
   gksudo gedit my.cnf &
   # see my.cnf.diff
   diff my.cnf my.cnf.original > ~/howtos/my.cnf.diff

Where php.ini.diff looks like this:
390c390
< error_log = /localhost/web_logs/php_errors.txt
---
> ;error_log = filename
1007c1007
< session.gc_maxlifetime = 14400
---
> session.gc_maxlifetime = 1440

HTH
J

[email protected] wrote:
Okay, one last batch of questions then I'll leave you guys alone for
another six months. ;-)

I recently set up my first LAMP stack using Ubuntu--it seemed like the
easiest option, and so far I love it. From now on this will be my local
testing server.

I've installed OpenSSH so I can practice "talking" to Linux & MySQL via
the command line from my primary computer. I intend to perhaps also
install up some sort of FTP & mail server, if for no other reason than
to understand how they work on the other end.

Aside from occasional shell access to remote servers and setting up cron
jobs I'm a total Linux noob, so this is a whole new world for me. I've
dealt with Apache .conf files a bit, and also with php.ini files. Not so
much with MySQL .cnf files.

At present, aside form having set passwords I'm still using the default
config files that were installed with Apache 2.2.11, PHP 5.26, MySQL
5.0.75, and phpMyAdmin 3.1.2. I'd like to turn off things that are
commonly disabled in shared hosting environments so that I don't
inadvertently use something that's not going to work on a production
server over which I have little or no control.

Do any of you have recommendations on configuration settings to use?

Which packages/extensions/modules should be installed/enabled?

Should I go ahead and turn off error reporting and enable it via my
scripts, or should I leave it on all the time? If I should leave it on,
at what level should I set it? E_ALL?

Are there any other settings or extensions that might be helpful someone
like me who's still prone to making rookie mistakes?

Would it be a good idea to use one php.ini file while I'm writing &
debugging my code, and then a second one for testing immediately prior
to moving to a production server? If so, how should they differ?

Would this be a good time to learn how to use CVS or Subversion?

As always, any advice is greatly appreciated.

Regards,
Bev

_______________________________________________
New York PHP User Group Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

http://www.nyphp.org/show_participation.php

_______________________________________________
New York PHP User Group Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

http://www.nyphp.org/show_participation.php

Reply via email to