Como instalar MySQL, PostgreSQL, Apache y PHP en Windows y GNU/Linux
(openSUSE)
Ing. MsC (c) Yesid pacheco Cabana
En este artículo construiremos un entorno de trabajo para desarrollar páginas PHP en
ambiente Windows (Microsoft Windows XP Service Pack 2) y GNU/Linux
(openSUSE), por lo cual instalaremos de manera clara y concisa:
• MySQL
• PostgreSQL
• Apache
• PHP
La mayoría de las opciones de configuración las tomaremos por defecto. Si deseamos
más información sobre las posibilidades de configuración nos remitiremos a la
documentación técnica.
Apache para Windows
1. Ni idea de lo que tenemos que hacer
2. Instalamos primero Visual C++ Redistributable Package, que se utiliza para
implementar las bibliotecas de Visual C++, para ello descargamos vcredist_x86.exe
desde [Link]/downloads/[Link]?FamilyID=9B2DA534-3E03-
4391-8A4D-074B9F2BC1BF&displaylang=en y luego ejecutamos e instalamos
vcredist_x86.exe
3. Descargamos [Link] desde [Link]
[Link]/apache/
4. Descomprimimos el archivo [Link] en la carpeta c:\ (Se
creará la carpeta c:\apache2, la cual es el server root en el config)
5. En el explorador de windows vamos a c:\apache2\bin y ejecutamos [Link] ó
ejecutamos [Link] e ingresamos a la ventana intérprete de comandos de Windows
y digitamos cd \Apache2\bin\ y luego c:\Apache2\bin>[Link]. Lo anterior
ejecutará Apache en segundo plano (background)
6. Para comprobar que Apache funciona correctamente vamos con nuestro explorador
favorito a la dirección: [Link]
Apache para Linux
1. Ni idea de lo que tenemos que hacer
2. Descargamos [Link] desde [Link]
3. Descomprimimos el archivo [Link], suponemos que el archivo está en
/opt y como destino de la descompresión y para compilar usaremos el directorio /opt
# cd /opt
/opt # tar -xzvf [Link]
4. Configuramos los fuentes para que la compilación se adapte a nuestro entorno y
necesidades
/opt cd # cd httpd-2.2.11
/opt/httpd-2.2.11 # ./configure –-prefix=/opt/apache2 –-enable-so –-with-mpm=prefork
Con esto compilaremos Apache con las opciones por defecto y especificamos:
prefix: indica donde se instalará el Apache. Aunque /usr/local/apache2 es la opción
por defecto, lo especificamos para que quede claro. Si quisiéramos instalar Apache
en otro sitio, tendríamos que indicarlo aquí.
enable-so: indica que queremos hacer carga dinámica de los módulos. Esto sirve
para luego poder gargar el módulo de PHP.
with-mpm: mpm son las siglas de Multi-Processing Module. Esta opción sirve para
especificar el módulo encargado del multiproceso (de como trabajara el Apache
internamente). Aunque prefork es la opción por defeco para Linux, lo hemos puesto
para que quede claro que es necesario usar este modo para que PHP funcione
correctamente. Con el uso de otros modos no se asegura el correcto funcionamiento
de PHP.
5. Compilamos los fuentes
/opt/httpd-2.2.11 # make
6. Instalamos
/opt/httpd-2.2.11 # make install
7. Levantamos Apache:
/opt/httpd-2.2.11 # cd /opt/apache2/bin
/opt/apache2/bin # ./apachectl start
8. Para comprobar que Apache funciona correctamente basta con ir con en nuestro
explorador favorito a la dirección: [Link]
MySQL para Windows
1. Ni idea de lo que tenemos que hacer
2. Descargamos [Link] desde
[Link]
3. Descomprimimos el archivo [Link] en la carpeta c:\ (Se
creará la carpeta c:\mysql-5.1.32-win32)
4. Ejecutamos [Link] e ingresamos a la ventana intérprete de comandos de windows
cd \mysql-5.1.32-win32\bin
5. Ingresamos el siguiente comando para iniciar el servidor Mysql manualmente desde
la línea de comandos
c:\mysql-5.1.32-win32\bin>mysqld
Lo anterior ejecutará mysqld en segundo plano (background), para instalar mysqld
como un servicio
c:\mysql-5.1.32-win32\bin>mysqld --install
Para desinstalar mysqld como un servicio
c:\mysql-5.1.32-win32\bin>mysqld –remove
6. Nuevamente ejecutamos [Link] e ingresamos a la ventana intérprete de comandos
de windows
cd \mysql-5.1.32-win32\bin
7. Ingresamos el siguiente comando para conectarse al servidor Mysql desde la línea
de comandos
c:\mysql-5.1.32-win32\bin>mysql -u root
e ingresamos al monitor de Mysql
8. El siguiente comando detendrá al servidor Mysql
c:\mysql-5.1.32-win32\bin>mysqladmin -u root shutdown
MySQL para Linux
1. Ni idea de lo que tenemos que hacer
2. Creamos un usuario y un grupo para ejecutar MySQL.
# groupadd mysql
# useradd -g mysql mysql
3. Descargamos [Link] desde
[Link]
4. Descomprimimos el archivo [Link], suponemos que el archivo está en
/opt y como destino de la descompresión y para compilar usaremos el directorio /opt
# cd /opt
/opt # tar -xzvf [Link]
5. Configuramos los fuentes para que la compilación se adapte a nuestro entorno y
necesidades.
/opt cd # cd mysql-5-1-32
/opt/mysql-5.1.32 # ./configure --prefix=/opt/mysql --with-charset=utf8 --with-
collation=utf8_general_ci
6. Compilamos los fuentes
opt/mysql-5.1.32 # make
7. Instalamos
opt/mysql-5.1.32 # make install
8. Cambiamos al directorio /opt/mysql/bin
cd /opt/mysql/bin
9. Ejecutamos el script proporcionado para crear la base de datos del sistema, al final
crea el directorio /opt/mysql/var/ con las bases de datos necesarias. Este directorio
sirve como default para todas las bases de datos que se crearán
/opt/mysql/bin # ./mysql_install_db
10. Aseguramos el permiso de escritura en el directorio /opt/mysql/var/ para el usuario
mysql
/opt/mysql/bin # cd /opt/mysql
/opt/mysql # chown -R root .
/opt/mysql # chown -R mysql var
/opt/mysql # chgrp -R mysql .
11. Iniciamos el servidor Mysql manualmente
/opt/mysql # cd /opt/mysql/bin
/opt/mysql/bin # ./mysqld_safe
12. Conectamos al servidot Mysql desde otra ventana
/opt/mysql/bin # ./mysql -u root
13. Con el siguiente comando detendremos al servidor Mysql
/opt/mysql/bin # ./mysqladmin -u root shutdown
PostgreSQL para Windows
1. Ni idea de lo que tenemos que hacer
2. Descargamos [Link] desde
[Link]
3. Descomprimimos el archivo [Link] en la
carpeta c:\ (Se creará la carpeta c:\ pgsql)
4. Creamos la carpeta c:\pgsql\data
5. En variables de entorno ir a variables del sistema y verificar que:
PGDATA = c:\pgsql\data
PGLIB = c:\pgsql\lib
PGHOST = localhost
En la variable path adicionar la cadena c:\pgsql\bin;c:\pgsql\lib
6. Creamos el repositorio de datos inicial ingresando el siguiente comando desde la
línea de comandos
c:\pgsql\bin\initdb -D c:\pgsql\data
7. Iniciamos el servidor de base de datos
c:\pgsql\bin\pg_ctl -D \pgsql\data start
8. Creamos una base de datos (En nuestro caso la llamaremos prueba)
c:\pgsql\bin\createdb prueba
9. Paramos el servicio
c:\pgsql\bin\pg_ctl -D c:\pgsql\data stop
PostgreSQL para Linux
1. Ni idea de lo que tenemos que hacer
2. Descargamos [Link] desde [Link]
3. Descomprimimos el archivo [Link], suponemos que el archivo está
en /opt y como destino de la descompresión y para compilar usaremos el directorio
/opt
# cd /opt
/opt # tar -xzvf [Link]
4. Configuramos los fuentes para que la compilación se adapte a nuestro entorno y
necesidades.
/opt # cd postgresql-8.3.7
/opt/postgresql-8.3.7 # ./configure --prefix=/opt/pgsql --without-readline
5. Compilamos los fuentes
/opt/postgresql-8.3.7 # gmake
6. Instalamos
/opt/postgresql-8.3.7 # gmake install
7. Creamos un usuario
/opt/postgresql-8.3.7 # useradd postgres
8. Creamos un directorio como default para todas las bases de datos que se crearán
/opt/postgresql-8.3.7 # mkdir /opt/pgsql/data
9. Aseguramos el permiso de escritura en el directorio /opt/pgsql/data/ para el usuario
postgres
/opt/postgresql-8.3.7 # chown postgres /opt/pgsql/data/
10. Inicializamos la base de datos con el usuario postgres (Creamos el repositorio de
datos inicial)
/opt/postgresql-8.3.7 # su postgres
/opt/postgresql-8.3.7> cd /opt/pgsql/bin/
/opt/postgresql/bin> ./initdb -D /opt/pgsql/data/
11. Iniciamos el servicio
/opt/postgresql/bin> ./pg_ctl -D /opt/pgsql/data/ start
12. Para conectarnos con un servidor, se requiere, obviamente, un programa cliente.
Con la distribución de PostgreSQL se incluye un cliente, psql, fácil de utilizar,
que nos permite la introducción interactiva de comandos en modo texto.
/opt/postgresql/bin> ./psql
13. Paramos el servicio
/opt/postgresql/bin> ./pg_ctl -D /opt/pgsql/data stop
PHP para Windows
1. Ni idea de lo que tenemos que hacer
2. Descargamos [Link] desde [Link]
3. Creamos la carpeta c:\php5
4. Descomprimimos el archivo [Link] en la carpeta c:\php5
5. Para Apache2 necesitamos:
[Link]: Para cargar el módulo php5_module., esta dll la encontramos en el
directorio base donde descomprimimos PHP5 que en nuestro caso es c:/php5
[Link]: Copiamos el archivo [Link]-dist localizado en la carpeta c:\php5 y le
damos el nombre de [Link]
Editamos el archivo [Link] y buscamos la cadena 'doc_root =' y la sustituimos por
una cadena que indique la ruta hacia el directorio o carpeta donde Apache2 guarda
los sitios web, que en nuestro caso es: doc_root = "c:\apache2\htdocs"
Buscamos la cadena 'extension_dir' y la sustituimos por una cadena que indique
la ruta hacia el directorio o carpeta donde se encuentran las extensiones que
queremos incluir en el interprete de PHP5, así en nuestro caso tendremos:
extension_dir = "c:\php5\ext"
Buscamos las cadenas 'extension=php_mysql.dll', 'extension=php_mysqli.dll' y
'extension=php_pgsql.dll', No deben sustituirse por nada, solo borramos el punto y
coma que tienen al principio de la línea, para que se carguen las extensiones.
Si deseamos cargar alguna extensión más solo tenemos que quitarle el comentario y
cerciorarnos de que existe la dll correspondiente en c:/php5/ext. Finalmente
guardamos el archivo [Link]
Para que llamemos al intérprete de PHP5, incluimos en el archivo [Link], que
encontraremos en la carpeta C:\Apache2\conf las siguientes líneas (recomendamos
hacerlo al final del archivo):
LoadModule php5_module "c:/php5/php5apache2_2.dll"
AddType application/x-httpd-php .php .phtml
PHPIniDir "C:/php5"
De esta manera Apache2 ya sabe como cargar, su configuración y cuando utilizar
PHP5.
En variables de entorno ir a variables del sistema y en la variable path adicionamos
la cadena c:\php5; o en su defecto copiamos [Link] al directorio donde se
encuentra el archivo [Link].
6. Probamos con un archivo [Link] en /opt/apache2/htdocs, que tendría las
siguientes líneas:
<?php
phpinfo();
?>
7. Vamos con nuestro explorador favorito a la dirección: [Link]
Instalar el paquete libiconv en Linux
1. Ni idea de lo que tenemos que hacer
2. Descargamos [Link] desde [Link]
3. Descomprimimos el archivo [Link], suponemos que el archivo esta en
/opt y como destino de la descompresión y para compilar usaremos el directorio /opt
# cd /opt
/opt # tar -xzvf [Link]
4. Configuramos los fuentes para que la compilación se adapte a nuestro entorno y
necesidades.
/opt # cd libiconv-1.12/
/opt/libiconv-1.12 # ./configure --prefix=/opt/iconv
5. Compilamos los fuentes
/opt/libiconv-1.12 # make
6. Instalamos
/opt/libiconv-1.12 # make install
PHP para Linux
1. Ni idea de lo que tenemos que hacer
2. Descargamos [Link] desde [Link]
3. Descomprimimos el archivo [Link], suponemos que el archivo esta en /opt
y como destino de la descompresión y para compilar usaremos el directorio /opt
# cd /opt
/opt # tar -xzvf [Link]
4. Configuramos los fuentes para que la compilación se adapte a nuestro entorno y
necesidades.
/opt # cd php-5.2.9
/opt/php-5.2.9 # ./configure --prefix=/opt/php5 --with-mysql=/opt/mysql --with-
apxs2=/opt/apache2/bin/apxs --enable-sigchild --with-pgsql=/opt/pgsql --with-
iconv=/opt/iconv
5. Compilamos los fuentes
/opt/php-5.2.9 # make
6. Es opcional
/opt/php-5.2.9 # make test
Si algo no funciona lo analizamos en /opt/php-5.2.9/php_test_resultfecha.txt
7. Instalamos PHP
/opt/php-5.2.9 # make install
8. Copiamos el archivo de configuración de PHP, donde PHP pueda encontrarlo
/opt/php-5.2.9 # cp [Link]-dist /opt/php5/lib/[Link]
9. Necesitamos que Apache reconozca los archivos con extensión .php. Para esto
adicionamos en el archivo /opt/apache2/conf/[Link] la línea AddType
application/x-httpd-php .php
/opt/php-5.2.9 # cd /opt/apache2/conf
/opt/apache2/conf # vi [Link]
En nuestro caso en la linea 310 adicionamos
AddType application/x-httpd-php .php
Verificamos si en el archivo están las siguientes líneas:
LoadModule php5_module modules/[Link]
<Ifmodule dir_module>
DirectoryIndex [Link] [Link]
</IfModule>
10. Probamos con un archivo [Link] en /opt/apache2/htdocs, que tendría las
siguientes líneas:
<?php
phpinfo();
?>
11. Vamos con nuestro explorador favorito a la dirección: [Link]