Bueno instalarlo en Linux es diferente, pero la configuración es idéntica, excepto en las las rutas y algún otro parámetro más.
/usr/local/apache en vez de c:\Archivos de Programa\Apache Group.......
Te bajas el Apache:
http://www.ibiblio.org/pub/packages/infosystems/WWW/servers/apache/httpd/apache_1.3.28.tar.gz
tar -xvzf apache_1.3.28.tar.gz
cd apache_1.3.28
./configure --enable-module=so
make
make install
Podemos instalarlo en otro directorio, que por defecto es /usr/local/apache con:
./configure --prefix=/www
El php:
http://www.php.net/get/php-4.3.1.tar.gz/from/bg.php.net/mirror
tar -xvzf php-4.3.1.tar.gz
cd php-4.3.1
./configure --with-mysql --with-apxs=/usr/local/apache/bin/apxs
o bien:
./configure --with-mysql --with-apxs=/usr/local/apache/bin/apxs --with-gd --with-zlib
make
make install
ya ta. Recuerda que debes haber compilado el apcahe con module=SO, para poder compilar el PHP y la ruta del apxs correcta, sino tambien dara error claro. Yo he puesto la ruta por defecto, si has instalado el apache en otro sitio puedes hacer un "locate apxs" y ver dónde lo tienes.
Puedes editar el php.ini en/etc/php.ini o /usr/local/lib/php.ini
Por defecto PHP usa sendmail para enviar e-mails con la función mail() , pero si queremos usar qmail, tenemos que añadir la ruta del ejecutable:
/usr/lib/qmail/qmail-inject
Para arrancar el apache tienes varias maneras:
/usr/local/apache/bin/apachectl start
/etc/rc.d/init.d/httpd start
/usr/local/apache/bin/httpd
Todas son válidas y con cualquier usuario, ya que en el conf ya se incluye "User nobody" y "Group nogroup". Puedes comprobarlo haciendo un "ps aux".
Instalar el MySQL bajo Linux, tampoco tiene mucho misterio. Hay paquetes rpm o puedes instalarlo desde las fuentes.
Para arrancarlo:
/etc/rc.d/init.d/mysql start
Las Bases de datos se guardan por defecto en:
/var/lib/mysql
Si quieres editar algún valor del MySQL:
ves al /etc/my.cnf
y escribes:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
set-variable = max_connections=250
set-variable = max_connect_errors=100
set-variable = interactive_timeout=14400
set-variable = wait_timeout=14400
set-variable = connect_timeout=1
[mysql.server]
#muy importante como siempre ejecutar este proceso con un usuario con pocos privilegios
user=mysql
#dónde tenemos las bases de datos, por si queremos ponerlas en otra partición, por ejemplo.
basedir=/var/lib
[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
El max_connections por defecto es: 150, es mas que suficiente para según que cosas, pero en una máquina grande con muchas bases de datos, puede pasar que en un momento determinado hayan 150 conexiones simualtaneas. Entonces saldrá un error de "Too many connections".
También se pueden cambiar otros valores (variables):
variable = variable = nuevovalor
El MySQL lleva 3 archivos de configuración de ejemplo, para equipos pequeños (menos de 512 de ram), equipos medianos (más de 512 de ram) y para equipos grandes (1,2 Gigas de ram). Básicamente repercutirán en el consumo de ram del proceso MySQL, ya que los ejemplos de config varian el tamaño de la caché, de las consultas, etc.
# para equipos con =512 RAM
set-variable = key_buffer=256M
set-variable = max_allowed_packet=1M
set-variable = table_cache=256
set-variable = sort_buffer=1M
set-variable = record_buffer=1M
set-variable = myisam_sort_buffer_size=64M
set-variable = thread_cache=8
# Try number of CPU's*2 for thread_concurrency
set-variable = thread_concurrency=8
log-bin
server-id = 1
# para equipos con 1 o 2 GB de ram
key_buffer = 384M
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
myisam_sort_buffer_size = 64M
thread_cache = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8