Esto tal vez no le sirva a nadie pero bueno... es solo para uso personal en su computadora.
[fieldset][legend]Requisitos:[/legend]
- editor de texto como siempre les recomiendo notepad++ y les servirá para sus trabajos posteriores.
- Servidor web apache httpd
- Interprete php
- servidor mysql
- manejador de servidores de base de datos vía web phpmyadmin[/fieldset]
[fieldset][legend]Descarguemos lo necesario:[/legend]
desde acá pueden bajar notepad++ la última versión al día de hoy es 6.1.1
http://notepad-plus-plus.org/download/
el servidor web apache lo pueden bajar desde acá
http://apache.org/dyn/closer.cgi
Automáticamente les mostrara un repositorio cercano a su ubicación, en caso de no funcionar el enlace ubique uno acá
http://www.apache.org/mirrors/
una vez que ya estén en un repositorio, naveguen por el vallan a
httpd / binaries / win32 busquen la última versión al día de hoy es httpd-2.2.22, y si solo usaran el servidor web para ustedes elijan el sin ssl.
El intérprete php se puede descargar acá
http://windows.php.net/download/
La última versión al día de hoy es 5.4.1, descarguen el zip con más peso.
el servidor mysql lo bajan desde acá
http://www.mysql.com/downloads/
Elijan la versión community que es la gratuita la última versión al día de hoy es 5.5.23 hay versiones de 32 y 64 bits según las arquitecturas de sus pc, descarguen el instalador msi, ojo les pedirá registro y verificación de unos datos para descargar.
Pueden descargar phpmyadmin desde acá
http://www.phpmyadmin.net/home_page/downloads.php
la última versión al día de hoy es 3.5.0, bajen la all-languages que incluye el español o si lo prefieren la que tiene solo inglés.[/fieldset]
[fieldset][legend]Instalación y/o configuración:[/legend]
Notepad++
instalen notepad++ (esto no tiene ninguna ciencia)
servidor web apache
esto solo tiene 2 observaciones, en esta pantalla ponen a los primeros 2 localhost, lo demás igual, claro hay pongan cualquier corre inventen algo con @ xd...
en esta pantalla es opcional yo lo recomendaría que cambien la carpeta de instalación a c:\apache porque algunas veces cuando programan tienen que poner la ruta donde está un archivo en el servidor y es más fácil escribir c:\apache a escribir c:\program files(x86)\apache software fundation\apache2.2\ si quieren no más, xd...
ok terminen de instalar al terminar tendrán el lindo apache service monitor que los acompañara el resto de su vida...
para comprobar que todo está ok, abran su navegador y escriban en la url localhost y entren debería salirles its work o algo así.
Interprete PHP
bien veamos ahora añadir el intérprete php acá es donde mueren la mayoría xd...
vallan a la ubicación donde se instaló apache creen una carpeta llamada php, ubiquen la descarga de php y descompriman el zip en la creada carpeta php, ahora diríjanse a la carpeta de instalación de apache / conf
ubique el archivo httpd.conf, edítenlo con el notepad++ para que lo descargamos xd...
lo primero cargar php como modulo apache
añaden estas líneas al texto para mantener el orden agréguenlo donde se cargan los otros módulos
LoadFile c:/apache/php/php5ts.dll
LoadModule php5_module c:/apache/php/php5apache2_2.dll
coloque las rutas correctas usando el mismo formato.
indicar el directorio donde se encuentra el archivo de configuración de php
<IfModule php5_module>
PHPINIDir "C:/apache/php/"
</IfModule>
ahora deben agregar la configuración para que el servidor web reconozca y procese php, añadiendo su tipo de archivo.
AddType application/x-httpd-php .php
ahora para que index.php sea reconocido como indice valido de directorios
busquen
DirectoryIndex index.html
cambien por
DirectoryIndex index.php index.html
ven agregan index.php si prefieren que html tenga "Jerarquía" coloquen lo después y no antes
Añadir
Código:
LoadFile c:/apache/php/php5ts.dll
LoadModule php5_module c:/apache/php/php5apache2_2.dll
<IfModule php5_module>
PHPINIDir "C:/apache/php/"
</IfModule>
AddType application/x-httpd-php .php
Modificar
Código:
DirectoryIndex index.php index.html
ya tenemos configurado apache para que ejecute php como uno mas de sus módulos y reconozca y pueda trabajar con archivos .php, ahora vamos a configurar php.
Nos vamos a la carpeta de instalación de php, (si siguieron mi ejemplo será c:\apache\php) y buscan un archivo llamado php.ini-development copien y peguen hay mismo para que les cree una copia, renombren la copia a php.ini pasen a editar el archivo con notepad++, comencemos buscan
engine por defecto el valor es
on esto indica si esta encendido o apagado el interprete de php, ahora busquen
short_open_tag y cambian su valor por
on, esto les permite habilitar la etiqueta de apertura corta de php (<?) claro que les recomiendo que usen siempre la etiqueta completa (<?php) mas aun porque leía por hay que en futuras versiones de php será eliminada la etiqueta de apertura corta.
asp_tags y ponen su valor en
on, esto sirve para permitir el uso de etiquetas de apertura y cierre de php con el formato asp ósea <% %> es poco usado pero en algunos proyectos o tutoriales viejos pueda ver esto.
pongan atención en el archivo les indicare solo las que considero más importantes, aclarado esto busquen
memory_limit aquí pueden configurar cual es el límite de memoria que podrá usar php yo lo configure a
128M, ahora buscamos
error_reporting esta configuración es el que se encarga de mostrar los mensajes de error, esos simples que nunca entienden xd, por ejemplo Parse error. syntaxis error unexpected etc, etc. el valor por defecto es E_ALL, que indica mostrar todas las advertencias, aunque no todos los avisos son críticos como los tipo notice y deprecated, notice indica avisos acerca de rendimiento o mejores métodos de usos de funcione o similares, deprecated indica que la forma de usar una función o la misma función está obsoleta y no será soportada en futuras versiones. con esta configuración solo mostrara los errores críticos que detienen el funcionamiento.
E_ALL & ~E_DEPRECATED & ~E_NOTICE | E_STRICT
ahora
post_max_size esta configuración se usa para definir el tamaño máximo de información que se puede enviar mediante post, ojo esto no se refiere a tamaño de archivos a enviar o subir al servidor sino a todo el formulario. yo lo tengo en
128M
acá pasamos a uno de los pasos cruciales, buscamos
doc_root acá debe indicar la dirección de la carpeta htdocs (donde trabajaremos con nuestras páginas webs la parte publica)
c:\apache\htdocs
extension_dir acá es donde se configura la dirección de la carpeta donde se encuentran las extensiones de php (son fundamentales acá están los manejadores de bases de datos, librerías de compresión etc...)
c:\apache\php\ext fíjense en el formato de la dirección fíjense que es con \ no /.
upload_tmp_dir acá pueden configurar la carpeta temporal donde se guardaran los archivos mientras son procesados al subir, yo lo tengo en
c:\apache\tmp tal vez tengan que crear la carpeta.
upload_max_filesize a esto me refería antes acá pueden configurar cual es el tamaño máximo de los archivos que pueden subir usando un formulario post. yo lo tengo también en
128M
ahora pasamos a habilitar las extensiones que usaremos, en el servidor web, para habilitar una extensión borren él ; antes de la extensión.
Estas son las extensiones que deberían activar.
php_bz2.dll esta extensión es de compresión bzip
php_fileinfo.dll como deducirán por su nombre esta extensión es para obtener información de archivos
php_gd2.dll Librería para trabajar con imágenes
php_gettext.dll estas no se exactamente su uso pero son necesarias
php_gmp.dll
php_imap.dll
php_mbstring.dll casi lo mismo anterior pero sé que es requerida por phpmyadmin
php_exif.dll
php_mysql.dll estas librerías son para trabajar con bases de datos mysql
php_mysqli.dll esta librería es la más actualizada la librería mysql está abandonado su desarrollo
php_pdo_mysql.dll
php_sockets.dll
php_pdo_odbc.dll
php_pdo_sqlite.dll estas extensiones son para trabajar con bases de datos
php_sqlite.dll
php_sqlite3.dll
php_soap.dll
php_tidy.dll
php_xmlrpc.dll estas no se su uso, pero son necesarias.
pasemos ahora las configuraciones de la zona horaria
date.timezone, date.default_latitude y date.default_longuitude. estas también son opcionales pueden ponerle cualquier dato de preferencia verídicos ya que pueden afectar la función date que se usa para obtener fechas y horas.
Finalmente,
session.save_path esta configuración es para configurar la carpeta donde se guardaran temporalmente las sesiones (las que se usan para identificarse) usaremos la misma carpeta temporal de la configuración anterior "c:\apache\tmp"
eso es todo, recapitulemos lo colocar en el php.ini
Código:
engine = On
short_open_tag = On
asp_tags = On
memory_limit = 128M
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE | E_STRICT
post_max_size = 128M
doc_root = "c:\apache\htdocs"
extension_dir = "c:\apache\php\ext"
upload_tmp_dir = "c:\apache\tmp"
upload_max_filesize = 128M
extension=php_bz2.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_imap.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_pdo_sqlite.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_sqlite3.dll
extension=php_tidy.dll
extension=php_xmlrpc.dll
date.timezone = America/Santiago
date.default_latitude = 33.1
date.default_longitude = 71.38
session.save_path = "c:\apache\tmp"
Recuerden que esto es solo para que comparen y solo coloque las configuraciones a modificar no copien y peguen esto ya que faltan configuraciones y de una versión a otra pueden variar.
Probemos si funciona o no, ahora en la barra de tareas de su Windows verán el icono del apache monitor, abran la ventana, normalmente deberían ponerle reiniciar pero en mi experiencia es mejor detener el servicio y luego reiniciarlo, espero que no les marque ningún error, hay si les da alguno pregunten o usen google xd... bueno si no les dio ningún error y se inició, cierren el apache monitor y ábranlo nuevamente y debería mostrarle abajo también la versión de php.
Probemos si realmente funciona vallan a la carpeta htdocs borren index.html, creen un nuevo archivo index.php edítenlo con el notepad++ escriban
Código:
<?php
phpinfo();
?>
ok si todo va bien tenemos la mitad del trabajo echo...
Servidor de base de datos MySQL
Instalación de Mysql, la instalación es normal, inmediatamente al terminar de instalar saldrá el asistente de configuración del servidor mysql, al lanzarse la configuración, eljan configuración detallada / developer machine / Multifuncional database, añadido, desactiven strict mode para que no les detenga ante errores leves (con plugins) añado cap para que vean,
(gracias a cluster por notarlo), lo demás pónganle siguiente hasta llegar a la parte de configurar el password para la cuenta de administrador, pongan una contraseña facil, yo tengo 1234, next y luego execute y ya estará listo el servidor mysql, solo nos falta phpmyadmin y listo.
Instalar phpMyAdmin
instalaremos phpmyadmin como módulo de apache fuera de la carpeta htdocs, para que no moleste o accidentalmente la modifiquemos, diríjanse a la carpeta de instalación de apache creen una nueva carpeta llamada phpmyadmin, extraigan el contenido del archivó de phpmyadmin, vallan a la configuración de apache recuerden, c:\apache\conf\httpd.conf al final del archivo agreguen esto
Código:
<IfModule mime_module>
Alias /phpmyadmin "c:/apache/phpmyadmin/"
<Directory "c:/apache/phpmyadmin">
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
</IfModule>
recuerden la importancia de la ruta de las carpetas, distingue mayúsculas de minúsculas, detengan el servidor web con el apache monitor, y luego vuélvanlo a iniciar, vallan a la carpeta de instalación de phpmyadmin creen una nueva carpeta con el nombre config, bien para iniciar la instalación y configuración de phpmyadmin entren a la siguiente dirección en su navegador web.
http://localhost/phpmyadmin/setup/
deberían ver esta página.
pinchen en nuevo servidor, en nombre del servidor extendido pongan localhost, en tipo de conexión elijan socket, mas abajo marquen conectar sin contraseña (donde dice intentar conectar si contraseña)
Gracias a cluster por el aviso al marcar esto conectara bien, pasen a la pestaña autentificación, coloquen usuario y contraseña y guarden volverán a la página anterior y tendrán la configuración creada, ahora abajo cambien el idioma predeterminado de inglés a español, presionen guardar, vuelvan a la carpeta de instalación e phpmyadmin ahora ala carpeta config encontraran el archivo config.ini.php, muévanlo a la carpeta phpmyadmin borren config, borren o renombren setup y ya han terminado.
servidor web instalado completo.
[/fieldset]
Se que pueden tener esto en 5 minutos bajando xampp u otro servidor pre instalado pero creo que aprender algo nuevo vale el tiempo que perdieron espero a alguien le sirva.
Añadidos
[fieldset][legend]Activar Mod_Rewrite:[/legend]
el Mod_Rewrite es un modulo de apache, que permite reescribir y redireccionar urls, este modulo ya viene instalado en apache pero por defecto esta deshabilitado, (este modulo si adivinaron es para modificar urls como por ejemplo en mybb las urls amigables o el google seo) abramos el httpd.conf (configuracion de apache) busquen
Código:
LoadModule rewrite_module modules/mod_rewrite.so
o similar, adelante tiene un # que indica comentario osea que no influye en la configuracion, borrenlo y listo ahora donde termina de cargar los modulos agreguen
Código:
<IfModule mod_rewrite.c>
RewriteEngine on
</IfModule>
y listo modulo de reescritura activado...[/fieldset]
[fieldset][legend]Mensajes de error y configuración de lenguaje:[/legend]
Pues cuantas veces no les salen mensajes de error y no entendemos absolutamente nada de lo que es, bueno ahora veamos esto, seguimos con el conf de apache busquen ErrorDocument acá personalizan las paginas de error (si ya han personalizado los errores en sus foros ya entendieron aunque aquí afectaran a todo el servidor)
500 = error interno del servidor, puede ser un fallo del servidor, pero en la mayoría de los casos es por una mala configuración y/o un mal .htaccess
404 = este error indica que no se encuentra el documento u objeto que buscan normalmente es cuando escriben mal una url o el administrador del sitio borra el contenido asociado
402 = no estoy seguro de este error la info en la web es confusa, aparentemente este error esta relacionado con un sistema de pago, no estoy seguro si se refiere a apache.org, o un sistema propio del administrador del servidor.
403 este no sale en la configuración no se si sera personalizable, este error esta relacionado con la autentificacion, (la de apache con .htpassword, no el login de sus foros) al fallar la autentificacion se desplega un eror 403, también al tratar de acceder a un objeto que el administrador no dejara como publico. aunque también lo he visto cuando los hosting bloquean cuentas o incluso en fallos de los mismo.
ya esta la explicacion para personalizar estos errores borren los # al principio de la linea y entre las comillas ("") pongan las direcciones de las paguinas de error, (es recomendable usar html estático, ya que en caso de un error 500 es probable que el interprete php no este disponible)
ahora para poner los errores (los default) en español busquen "Multi-language error messages" quiten el # de la linea que sigue.
configuraciones de idiomas de apache busquen "Language settings" y lo mismo quiten el # de la linea que sigue, guarden el httpd.conf si lo prefieren pueden personalizar m,as el idioma dirijiendose a conf/extras en la carpeta de iunstalacion de apache abren httpd-languagues.conf buscan DefaultLanguage cambian por es, y borran el # al principio de la linea, ahora busquen LanguagePriority y pongan es antes de en, guarden y vallan al apache monitor y detengan el servidor e inicienlo nuevamente.
el resultado seria este...
antes...
despues
eso es todo[/fieldset]
[fieldset][legend]Modificar la configuración del servidor MySQL:[/legend]
Esta modificación es para que no les detenga las consultas ante algunos valores incorrectos por ejemplo no poner valores enteros donde corresponde esto no significa que introducirá valores erróneos sino que transformara el valor incorrecto en 0 si no puede darse un mejor valor,
busquen el archivo de configuración de mysql my.ini generalmente debe estar en c:\archivos de programa\mysql busquen sql-mode, tiene un formato similar a est
Código:
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
agregen un # para indicar que es un comentario y esta linea no afecta a la configuracion.
Código:
# sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
ahora reinicien el servidor mysql vallan al panel de control / herramientas administrativas / servicios mysql detengan el servicio y luego inicienlo nuevamente, asi ya no les debería salir x is not integer value, etc, si no encuentran el my.ini lancen nuevamente el asistente de configuración, editen la misma configuración dentro de la carpeta bin encontrara MySQLInstanceConfig.exe seleccionen reconfigure instanse y podrán editar la configuración.
[/fieldset]