Sea su propio host o instale Apache en la plataforma Windows. Agregar un directorio PHP a PATH en Windows. Uso del servidor y copia de seguridad de datos.

HTTPApache Server es un servidor web gratuito multiplataforma. Ganó popularidad gracias a operación confiable y gran flexibilidad. Puede utilizar un DBMS para la autenticación de usuarios, admite módulos y le permite modificar mensajes de error. El servidor se puede ejecutar en Windows, Linux, Mac OS, BeOS, BSD, Novell NetWare.

Como regla general, Apache se usa junto con otros módulos, especialmente la combinación con MySQL y PHP; elementos necesarios funcionamiento del servidor. Es posible instalar otros módulos que agreguen soporte diferentes idiomas programación. Pero primero necesitas descargar Apache HTTP Server gratis y al menos entenderlo.

El servidor Apache tiene buen nivel seguridad. Implementa la autorización del usuario a través de la autenticación HTTP, así como la autenticación implícita. Es posible restringir el acceso a ciertos tipos archivos en el servidor, así como simplemente para archivos específicos y carpetas. El acceso también se puede distribuir según las direcciones IP de los usuarios. El cifrado de datos utiliza el algoritmo SSL gracias a OpenSSL.

Instalación de un servidor web en Linux:

  • Si tiene Ubuntu, entonces el artículo “Cómo instalar el servidor web Apache con PHP 7, MariaDB/MySQL y phpMyAdmin (LAMP) en Ubuntu 16.10” es adecuado para usted.
  • Si tiene Arch Linux, entonces el artículo "Instalación de LAMP (Linux, Apache, MySQL/MariaDB, PHP7 y phpMyAdmin) en Arch Linux/BlackArch" es adecuado para usted.

servidor local Muy herramienta útil. Definitivamente será útil para webmasters, programadores PHP y evaluadores de penetración. Todos los programas incluidos en instalación típica Los servidores web son gratuitos, todos tienen abiertos. código fuente. Un servidor web local consume recursos mínimos y, en realidad, no es difícil de instalar y configurar.

Esta instrucción le dirá cómo instalar servidor web local sin usar ensamblajes listos para usar. Este método tiene sus ventajas. Los más importantes de ellos son: control total en lo que instales; oportunidad de aprovechar al máximo últimas versiones software.

Si sigues las instrucciones exactamente, ¡definitivamente todo funcionará para ti! Excepto para aquellos que tienen Windows XP, si te gusta esto Sistema operativo, entonces se han creado instrucciones especiales para usted.

Mostraré un ejemplo de instalación en Windows 10, pero si tienes uno diferente versión de Windows, entonces no dejes que esto te moleste: el procedimiento es idéntico en todas partes. Descargaré las versiones más recientes (más recientes) de los programas al momento de escribir este artículo. Si para cuando lea, se lanzarán nuevas versiones, descárguelas.

Pasos de instalación:

También te puede resultar útil:

1. Preparación (descarga de programas incluidos en el servidor, creación de la estructura del servidor)

Necesitamos:

  • apache(directamente servidor web)
  • PHP– ambiente de trabajo programas PHP(requerido por casi todos los sitios web)
  • mysql– sistema de gestión de bases de datos (requerido por la mayoría de los sitios web)
  • phpMyAdmin- Muy herramienta útil para la gestión de bases de datos

El sitio web oficial de los desarrolladores de Apache es httpd.apache.org. Puede descargar Apache desde este sitio. Pero versión oficial compilado usando un compilador antiguo, por esta razón no funciona con los nuevos Versiones PHP. Los autores de PHP recomiendan Apache desde apachelounge.com/download. Por lo tanto, para esta instrucción, descargamos Apache desde el sitio apachelounge.com/download.

Si tiene una versión de Windows de 64 bits, puede elegir versiones de componentes de 64 y 32 bits. La regla principal es que todos los componentes deben tener el mismo tamaño de bits. Si tiene una versión de Windows de 32 bits, todos los componentes deben ser de 32 bits. Esto no se aplica a phpMyAdmin, que está escrito en lenguaje PHP. Para los programas PHP, el concepto de profundidad de bits no es aplicable.

La versión gratuita de MySQL se llama Servidor comunitario MySQL. Se puede descargar en la página. Hay un instalador ejecutable en la misma página, pero recomiendo descargar el archivo ZIP. En la página de descarga se nos pide que nos registremos o iniciemos sesión en una existente. cuenta- pero esto no es necesario. Simplemente haga clic en el enlace " No gracias, solo inicia mi descarga." Preste atención a la profundidad de bits.

También necesitamos un archivo redistribuible en C++. estudio visual 2017, es decir Componente redistribuible de Visual C++ para Visual Studio 2017 (o cualquier otro posterior), puedes descargarlo en el sitio web oficial de Microsoft mediante el enlace (enlace directo para descargar la versión de 64 bits; enlace directo para descargar la versión de 32 bits). Este archivo es necesario para el servidor web. Y MySQL requiere paquetes redistribuibles de Visual C++ para Visual Studio 2015. Se puede descargar desde .

Entonces, descargué los siguientes archivos:

  • httpd-2.4.29-Win64-VC15.zip
  • php-7.2.0-Win32-VC15-x64.zip
  • mysql-8.0.11-winx64.zip
  • phpMyAdmin-4.7.6-todos-idiomas.zip
  • vc_redist.x64.exe
  • vcredist_x64.exe

Instalar archivos vc_redist.x64.exe Y vcredist_x64.exe.

2. Cree una estructura de servidor web

Creemos la estructura de directorios de nuestro servidor. La idea principal es separar archivos ejecutables y archivos de sitios web con bases de datos. Esto es conveniente para el mantenimiento del servidor, incluidas las copias de seguridad.

En la raíz del disco DO:\ crear un directorio Servidor. En este directorio, cree 2 subdirectorios: papelera(para archivos ejecutables) y datos.

Ir al directorio datos y crear subcarpetas allí D. B.(para bases de datos) y htdocs(para sitios web).

Ir al directorio C:\Servidor\datos\DB\ y crea una carpeta vacía allí datos.

3. Instalación de Apache 2.4

El contenido del archivo descargado (más precisamente, solo el directorio apache24), descomprimir en C:\Servidor\bin\.

Ir al directorio c:\Servidor\bin\Apache24\conf\ y abre el archivo httpd.conf cualquier editor de texto.

En él necesitamos reemplazar una serie de líneas.

Defina SRVROOT "c:/Apache24"

Defina SRVROOT "c:/Servidor/bin/Apache24"

#NombreServidor www.ejemplo.com:80

Nombre del servidor localhost

Raíz del documento "$(SRVROOT)/htdocs"

DocumentRoot "c:/Servidor/datos/htdocs/"

DirectoryIndex index.html

DirectorioIndex index.php index.html index.htm

# AllowOverride controla qué directivas se pueden colocar en archivos .htaccess.

# Puede ser "Todos", "Ninguno" o cualquier combinación de las palabras clave: # AllowOverride FileInfo AuthConfig Limit # AllowOverride Ninguno

# AllowOverride controla qué directivas se pueden colocar en archivos .htaccess.

# Puede ser "Todos", "Ninguno" o cualquier combinación de las palabras clave: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

#LoadModule rewrite_module módulos/mod_rewrite.so LoadModule rewrite_module módulos/mod_rewrite.so Guarde y cierre el archivo. Todo,

configuración de apache ¡terminado! Puede encontrar una descripción de cada directiva modificada en esta página. Abierto línea de comando(Esto se puede hacer presionando las teclas Win+X simultáneamente). Seleccione allí

WindowsPowerShell

(administrador) y copie allí:

C:\Servidor\bin\Apache24\bin\httpd.exe -k instalar

Si se recibe una solicitud del firewall para Apache, haga clic en Permitir.

Ahora ingrese a la línea de comando:

C:\Servidor\bin\Apache24\bin\httpd.exe -k inicio

Y presione Entrar.

Ingrese root como nombre de usuario. Deje el campo de contraseña vacío. Si todo se hace correctamente, todo debería verse así: 7. Uso del servidor y copia de seguridad de datos. en el catalogo

c:\Servidor\datos\htdocs\

Para crear una copia de seguridad completa de todos los sitios y bases de datos, simplemente copie el directorio C:\Servidor\datos\.

Antes de actualizar los módulos, haga carpetas de respaldo papelera- En caso de problemas, puedes volver fácilmente a versiones anteriores.

En reinstalación servidor o al actualizarlo, necesita reconfigurar archivos de configuración. Si tiene copias de estos archivos, el proceso puede acelerarse significativamente. Es recomendable hacer una copia de seguridad de los siguientes archivos:

  • c:\Servidor\bin\Apache24\conf\httpd.conf
  • c:\Servidor\bin\mysql-8.0\my.ini
  • c:\Servidor\bin\PHP\php.ini
  • c:\Servidor\datos\htdocs\phpMyAdmin\config.inc.php

Todas las configuraciones se almacenan en ellos.

8. Configuración PHP adicional

PHP es ahora una herramienta muy poderosa, flexible y fácil de usar. En computadora local se puede utilizar para resolver una variedad de problemas que no necesariamente están relacionados con la generación de páginas web. Al resolver problemas extraordinarios, es posible que se encuentre con restricciones establecidas en la configuración. Estas configuraciones están contenidas en el archivo php.ini (c:\Server\bin\PHP\php.ini). Veamos algunas de ellas:

Límite_memoria = 128M

conjuntos cantidad máxima Memoria que el script puede utilizar.

Post_max_size = 8M

establece la cantidad máxima de datos que se aceptarán al enviar método POST

;default_charset = "UTF-8"

establece la codificación (de forma predeterminada, la línea está comentada)

Upload_max_filesize = 2M

el tamaño máximo de un archivo cargado en el servidor. Inicialmente instalado muy tamaño pequeño- sólo dos megabytes. Por ejemplo, al cargar una base de datos en phpMyAdmin, no podrá cargar un archivo de más de 2 megabytes hasta que se cambie este elemento de configuración.

Max_file_uploads = 20

Número máximo de archivos para cargar a la vez.

Tiempo_de_ejecución_máximo = 30

tiempo máximo de ejecución para un script

Cambiar estas configuraciones es completamente opcional, pero es útil conocerlas.

9. Configuraciones adicionales para phpMyAdmin

Ya hemos configurado phpMyAdmin y para la mayoría de las personas la funcionalidad básica es suficiente. Sin embargo, en pagina de inicio phpMyAdmin hay una inscripción: “Adicional Características de phpMyAdmin no está completamente configurado, algunas funciones han sido deshabilitadas."

Las nuevas características son:

  • mostrar relaciones entre tablas (relacionadas);
  • agregar información sobre tablas (a partir de la versión 2.3.0, puede describir en una tabla especial 'table_info' qué columna se mostrará en la información sobre herramientas al mover el cursor sobre la tecla asociada);
  • creando un diagrama PDF (a partir de la versión 2.3.0 puede crear páginas PDF, mostrando las relaciones entre sus tablas);
  • mostrar comentarios de columna (desde la versión 2.3.0 puedes hacer un comentario que describa cada columna para cada tabla. Y serán visibles en " avance para imprimir." Desde la versión 2.5.0, los comentarios se utilizan en paginas propias tablas y en el modo de visualización, que aparecen como información sobre herramientas encima de las columnas (tablas de propiedades) o incrustadas en el encabezado de la tabla en el modo de visualización. También se pueden mostrar en el volcado de la tabla);
  • crear marcadores (desde la versión 2.2.0, phpMyAdmin permite a los usuarios marcar consultas. Esto puede resultar útil para consultas utilizadas con frecuencia);
  • historial de consultas SQL (a partir de la versión 2.5.0 puede guardar su historial de todas consultas SQL, que se realizaron a través de la interfaz phpMyAdmin);
  • diseñador (a partir de la versión 2.10.0, la herramienta Diseñador está disponible; le permite gestionar visualmente las relaciones entre tablas);
  • información sobre tablas utilizadas recientemente;
  • personalizar la interfaz de tablas de uso frecuente;
  • seguimiento (a partir de la versión 3.3.x, hay disponible un mecanismo de seguimiento. Le ayuda a realizar un seguimiento de cada comando SQL ejecutado por phpMyAdmin. Se admite el registro de la manipulación de datos y el registro de comandos. Una vez habilitado, podrá versionar las tablas);
  • configuraciones de usuario (a partir de la versión 3.4.x, phpMyAdmin permite a los usuarios establecer la mayoría de las configuraciones y guardarlas en la base de datos);
  • menús personalizados (a partir de la versión 4.1.0, puede crear grupos de usuarios que solo tendrán acceso a los elementos del menú asignados. Un usuario puede ser asignado a un grupo y solo verá los elementos del menú disponibles para su grupo);
  • ocultar/mostrar elementos de navegación (a partir de la versión 4.1.0 puede ocultar/mostrar elementos en el árbol de navegación).
  • y otros

Ahora configuraremos estos características adicionales al máximo. Vaya al enlace http://localhost/phpmyadmin/chk_rel.php y haga clic en "Crear base de datos". Después de esto, se activarán todas las funciones nuevas.

Algunas capturas de pantalla de las nuevas funciones:

1) Diseñador

2) Seguimiento

10. Instalación de un enchufe de correo.

En el directorio C:\Server\bin\, cree nuevo catalogo con el nombre Sendmail. Ahora en este directorio cree un archivo sendmail.php con el siguiente contenido:

#!/usr/bin/env php

Abra el archivo de configuración de PHP, se encuentra aquí C:\Servidor\bin\PHP\php.ini. Y agregue una línea allí:

Sendmail_path = "C:\Servidor\bin\PHP\php.exe C:\Servidor\bin\Sendmail\sendmail.php --dir C:\Servidor\bin\Sendmail\emails"

Guarde el archivo y reinicie el servidor. Genial, ahora todos los correos electrónicos enviados se guardarán en el directorio. C:\Servidor\bin\Sendmail\emails\

Las letras tendrán la extensión .eml y pueden ser abiertos, por ejemplo, por el programa pájaro trueno. O un editor de texto normal.

11. Agregar un directorio PHP a PATH en Windows

Si no se hace esto, puede haber problemas con algunos módulos PHP, incluidos php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll y php_pgsql.dll. Al menos, cada vez que se inicia el servidor, aparece lo siguiente en los registros:

Advertencia de PHP: Inicio de PHP: No se puede cargar la biblioteca dinámica "C:\\Server\\bin\\PHP\\ext\\php_curl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\ xbf\xbd\xef\xbf\xbd.\r\n en Desconocido en la línea 0 Advertencia de PHP: Inicio de PHP: no se puede cargar la biblioteca dinámica "C:\\Server\\bin\\PHP\\ext\\php_intl.dll " - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n en Desconocido en la línea 0 Advertencia de PHP: Inicio de PHP: no se puede cargar la biblioteca dinámica " C:\\Servidor\\bin\\PHP\\ext\\php_ldap.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r \n en Desconocido en la línea 0 Advertencia de PHP: Inicio de PHP: no se puede cargar la biblioteca dinámica "C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll" - \xef\xbf\xbd\xef\xbf \xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n en Desconocido en la línea 0 Advertencia de PHP: Inicio de PHP: no se puede cargar la biblioteca dinámica "C:\\Server\\bin\\PHP\ \ext\\php_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n en Desconocido en la línea 0

Para evitar estas advertencias, debe agregar la ruta a PHP a las variables de entorno de su sistema.

Haga clic en el botón Inicio (¿o como se llame en Windows 10?), comience a escribir " Cambiar las variables de entorno del sistema» y abra la ventana de configuración correspondiente.

Allí haga clic en " Variables de entorno»:

En la ventana " Variables del sistema» busque y haga clic en Camino y luego haga clic en " Cambiar»:

Mover la entrada a la parte superior:

Cierre todas las ventanas y guarde los cambios.

Reinicie el servidor.

12. Congelación, tráfico lento y/o error del servidor Error en AcceptEx asíncrono

Si su servidor se congela incluso sin carga, no muestra páginas web hasta que se reinicia y en los registros del servidor hay errores. Error en AcceptEx asíncrono:

AH00455: Apache/2.4.9 (Win64) PHP/5.5.13 configurado - reanudando operaciones normales AH00456: Servidor Apache Lounge VC11 construido: 16 de marzo de 2014 12:42:59 AH00094: Línea de comando: "c:\\Server\\ bin\\Apache24\\bin\\httpd.exe -d C:/Server/bin/Apache24" AH00418: Padre: proceso hijo creado 4952 AH00354: Hijo: iniciando 64 subprocesos de trabajo.

(OS 64) El nombre de red especificado ya no está disponible. : AH00341: winnt_accept: Error en AcceptEx asincrónico.

(OS 64) El nombre de red especificado ya no está disponible. : AH00341: winnt_accept: Error en AcceptEx asincrónico.

(OS 64) El nombre de red especificado ya no está disponible. : AH00341: winnt_accept: Error en AcceptEx asincrónico.

(OS 64) El nombre de red especificado ya no está disponible. : AH00341: winnt_accept: Error en AcceptEx asincrónico.

(OS 64) El nombre de red especificado ya no está disponible. : AH00341: winnt_accept: Error en AcceptEx asincrónico.

(OS 64) El nombre de red especificado ya no está disponible. : AH00341: winnt_accept: Error en AcceptEx asincrónico.

Luego agregue al archivo de configuración de Apache:

AcceptFilter http ninguno AcceptFilter https ninguno EnableSendfile desactivado EnableMMAP desactivado

13. Configurar cURL en el servidor web Apache en Windows

Si no sabes qué es cURL, entonces no lo necesitas. Aquellos. No dudes en saltarte este paso.

cURL es una utilidad de consola que le permite intercambiar datos con servidores remotos utilizando una gran cantidad de protocolos. cURL puede utilizar cookies y admite autenticación. Si una aplicación web requiere cURL, esto debe especificarse en las dependencias. Muchas aplicaciones populares no requieren cURL; por ejemplo, phpMyAdmin y WordPress no necesitan configurar cURL. C:\Servidor\bin\PHP\php.ini Si cURL no está configurado correctamente, recibirá errores: Error fatal: llamada a la función no definida curl_multi_init() en...

error de curl: problema con el certificado SSL: no se puede obtener el certificado del emisor local C:\Servidor\bin\. Estos son Apache, MySQL y PHP, es decir. programas que se encargan del funcionamiento del servidor, pero que podemos descargar desde webs oficiales y volver a configurar en cualquier momento.

Si desea hacer una copia de seguridad de ellos (por ejemplo, antes de actualizar el servidor), detenga los servicios:

C:\Servidor\bin\Apache24\bin\httpd.exe -k detener net detener mysql

Y copie la carpeta a un lugar seguro. C:\Servidor\bin\.

Por cierto, puedes copiar todo el servidor, es decir. carpeta C:\Servidor\– en este caso, obtendrá simultáneamente una copia de seguridad tanto de los archivos ejecutables como de los datos (bases de datos, sitios web).

Cuando se complete la copia, inicie los servicios nuevamente:

C:\Servidor\bin\Apache24\bin\httpd.exe -k inicio neto inicio mysql

15. Actualización del servidor

Todos los componentes que componen el servidor web se están desarrollando activamente y periódicamente se lanzan nuevas versiones. Cuando se lanza una nueva versión, puede actualizar un componente (por ejemplo, PHP) o varios a la vez.

Eliminar un servidor

Si ya no necesitas el servidor, o desea instalarlo nuevamente, detenga los servicios y elimínelos del inicio automático ejecutando secuencialmente en la línea de comando:

C:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k uninstall net stop mysql c:\Server\bin\mysql-8.0\bin\ mysqld --eliminar

Elimine los archivos del servidor; para ello, elimine la carpeta. C:\Servidor\. Advertencia, esto eliminará todas las bases de datos y sus sitios.

Cómo proteger su servidor web Apache contra piratería en Windows

Con PHP (con opción de versiones), con MySQL y phpMyAdmin. Este sitio está alojado exactamente en él: soporte técnico receptivo y calificado, instalación de WordPress y otras aplicaciones web con un solo clic, como regalo al pagar un año, transferencia gratuita del sitio. Al realizar el pedido de hosting + 1 mes gratis (código promocional b33e0e2f).

Haga clic en el título para abrir/cerrar una descripción detallada del proceso.

Nos dirigimos a la carpeta con el servidor instalado (para mí está ubicado en c:\Archivos de programa (x86)\Apache Software Foundation\Apache2.2\), abre el directorio allí htdocs y elimine completamente su contenido (si tiene instalado Apache 2.2, como yo, entonces esta carpeta contendrá solo un archivo - índice.html, es necesario eliminarlo). En el futuro, todos los proyectos actuales se instalarán en esta carpeta.

El siguiente directorio que nos interesa es confinar. Entremos en ello (camino completo c:\Archivos de programa (x86)\Apache Software Foundation\Apache2.2\conf), busque y abra el archivo en el bloc de notas httpd.conf. Estamos buscando una línea como (en mi expediente se encuentra en la línea 204).

Tenga cuidado: necesita una línea que indique exactamente la ruta a la carpeta htdocs(en el archivo de configuración también hay una línea similar que describe la ruta a la carpeta cgi-bin).

Justo debajo de la línea encontrada buscamos una entrada como Permitir anulación ninguna(aproximadamente línea 224) y cambiar el valor Ninguno al valor Todo(debería verse así - Permitir anular todo).

buscando una cuerda #LoadModule rewrite_module módulos/mod_rewrite.so(para mí esta es la línea 116), descomentarla (eliminar el hash al frente).

Guarde los cambios y reinicie Apache (en la ventana del monitor al lado del reloj, presione el botón Reanudar).

Acabamos de conectar el módulo. reescritura mod y permitió el uso del archivo .htaccess. Al usar .htaccess en el futuro será más fácil administrar la configuración del servidor sin reiniciarlo y sin acceder a los archivos de configuración. Bueno, ya que es tan maravilloso, creémoslo y escribamos algo en él.

Abra el bloc de notas, cree un nuevo archivo en él y guárdelo en la carpeta c:\Archivos de programa (x86)\Apache Software Foundation\Apache2.2\htdocs(si recuerdas, esta es nuestra carpeta de trabajo) con el nombre .htaccess(se requiere un punto antes del nombre). A continuación, en el archivo recién creado, escriba las siguientes líneas:

Opciones Índices FollowSymLinks DirectoryIndex index.php

Guarde los cambios.

Línea DirectorioIndex index.php especifica qué archivo se abrirá de forma predeterminada al acceder a la carpeta. En otras palabras, si subimos a la carpeta htdocs archivo llamado index.php y escribe en la barra de direcciones "host local", entonces el contenido del archivo se mostrará en la pantalla index.php, ubicado en el directorio htdocs. En esta directiva, puede enumerar cualquier número de archivos con diferentes extensiones separados por espacios (por ejemplo, DirectorioIndex index.php index.html index.htm). Al acceder a una carpeta, el servidor buscará en orden cada uno de los archivos especificados hasta encontrar uno de ellos.

Si sucede que Apache no encuentra ninguno de los archivos especificados por defecto, se refiere a la directiva Opciones y busca un parámetro en él Índices. Si el parámetro se especifica como está ahora ( Índices), luego el servidor nos lanza a la carpeta (muestra su contenido en la pantalla). Si el parámetro se escribe así: -Índices(menos Índices), entonces no se nos permitirá ingresar a la carpeta y aparecerá un mensaje de error (403) en la pantalla Prohibido. Esto puede resultar útil si el desarrollo del proyecto ha finalizado y necesita cerrar el acceso al contenido de la carpeta raíz.

Otro parámetro de la directiva Opciones, que indicamos ( SeguirEnlaces simbólicos) sirve para garantizar el correcto funcionamiento del módulo mod_reescritura. Sin él, es imposible generar hermosas URL (URL), a las que los expertos en SEO conceden una importancia casi primordial en la indexación de sitios.

Descargar Distribución del servidor web Apache 2.2 Puede hacerlo aquí: httpd-2.2.20-win32-x86-openssl-0.9.8r.msi. Este artículo fue escrito en base a la instalación de esta distribución. Todas las versiones del servidor Apache HTTP inferiores a 2.2.20 están sujetas a una vulnerabilidad grave, cuya información se puede leer mediante el enlace en la parte inferior de la página. Hoy en día, la rama anteriormente popular y considerada más estable, Apache 1.3, ya está desactualizada y los desarrolladores del servidor HTTP Apache recomiendan instalar la última versión estable de Apache 2.2. Las versiones más recientes de Apache están disponibles en el sitio web oficial: Apache HTTP Server. En el artículo se publica información sobre cómo elegir una distribución de Apache.

Instalación de Apache 2.2 en Windows

Instalación y ejecución del servidor Apache 2.2 en Windows XP usar una distribución binaria con un instalador integrado no es difícil (las instrucciones del artículo son en su mayor parte aplicables para la instalación en Windows Vista y Windows 7, las pruebas se realizaron exclusivamente para instalar Apache en Windows XP).

Tenga en cuenta que si la computadora está conectada a una red local/Internet, los sitios que ejecutan Apache, de forma predeterminada, pueden ser accesibles para todos los usuarios de la red local o Internet.

Después de ejecutar el archivo de instalación de Apache 2.2 "httpd-2.2.20-win32-x86-openssl-0.9.8r.msi", haga clic en el botón "Siguiente" y acepte el acuerdo de licencia. En los campos "Dominio de red" y "Nombre del servidor", ingrese "localhost" (sin comillas). "Dirección de correo electrónico del administrador": correo electrónico del administrador, por ejemplo: admin@localhost. Dejamos el campo predeterminado seleccionado "Para todos los usuarios, en el puerto 80, como servicio - Recomendar", lo que hace que Apache esté disponible para todos los usuarios del sistema en el puerto 80 como un servicio iniciado automáticamente cuando se inicia Windows.

El siguiente paso del asistente (Tipo de instalación) es seleccionar el tipo de instalación: típica (Typical) y personalizada (Custom). Seleccione "Personalizado" y haga clic en "Siguiente". A continuación, debe cambiar la ruta de instalación a "C:\apache2.2.20" haciendo clic en el botón "Cambiar" y dejar los componentes predeterminados seleccionados como están. Después de hacer clic en "Siguiente" e "Instalar", se instalará el servidor Apache HTTP.

Durante el proceso de instalación aparecerán 2 ventanas negras, que se cerrarán automáticamente (no puedes cerrarlas manualmente). Si la instalación se realiza correctamente, aparecerá un nuevo icono junto al reloj del sistema de Windows. Si el ícono tiene un triángulo verde (Apache se está ejecutando), un cuadrado rojo indica que el servicio no se ha iniciado por algún motivo.

Al escribir la dirección http://localhost/ en la barra de direcciones del navegador, debería aparecer una página con una inscripción grande y en negrita: "Funciona", lo que indicará que Apache está funcionando como se esperaba. Si Apache se está ejecutando, pero no aparece el mensaje "Funciona", debe buscar el motivo en el firewall y leer la sección de este artículo: "Errores al iniciar Apache".

Puede averiguar la causa del fallo, o más bien ver el mensaje de error al iniciar Apache, utilizando la consola de Windows ("Inicio" -> "Ejecutar" -> cmd -> "Ok"), iniciando manualmente el servicio. Comandos de administración de Apache a través de la consola:

    httpd.exe -k inicio (Inicio)
    httpd.exe -k detener (Detener)
    httpd.exe -k reiniciar (Reiniciar)

Para evitar que Windows arroje un error:

"httpd.exe" no es interno ni externo
comando, programa ejecutable o archivo por lotes.

Es necesario registrar la ruta al directorio bin de Apache en Windows como la variable Ruta, que luego puede resultar útil para iniciar rápidamente las utilidades de línea de comandos de Apache, por ejemplo, htpasswd.exe. Esto se puede hacer abriendo el menú "Inicio", buscando "Mi PC" y haciendo clic derecho sobre él, seleccionando "Propiedades" de la lista que aparece. A continuación, seleccione la pestaña "Avanzado" y haga clic en el botón "Variables de entorno". En la ventana "Variables del sistema", seleccione la variable "Ruta" y haga clic en el botón "Editar". Al principio del campo "Valores variables", agregue la ruta al directorio bin de Apache:

Agregar la ruta a la variable Ruta de Windows al directorio bin de Apache

C:\apache2.2.20\bin;

Para que los cambios en la ruta surtan efecto, debe reinicia tu computadora.

Errores al iniciar Apache

Iniciar el servidor Apache manualmente será muy útil para identificar errores al conectar PHP como módulo y su configuración posterior. Al iniciar y reiniciar Apache usando la consola estándar, desafortunadamente no se muestran mensajes de error.

Uno de los errores más comunes que se producen al ejecutar Apache es que el puerto 80 está ocupado por otro programa, como Skype o ISS. Como resultado, al iniciar el servidor con el comando httpd.exe -k start recibimos el siguiente mensaje:

httpd.exe: no se pudo determinar de manera confiable el nombre de dominio completo del servidor, usando 192.168.1.2 para ServerName
(OS 10048) + svўey YorchЁх°рхЄё yufeyu shoyayuy №chutreshkh rfёkher yoyukhЄr (yayoyoyuy/yohёhtyushchrfyokhyo/yayyoyo). : make_sock: no se pudo vincular a la dirección 0.0.0.0:80 no hay enchufes de escucha disponibles, apagándose
No se pueden abrir registros
Tenga en cuenta los errores o mensajes anteriores y presione la tecla para salir. 30...

El mensaje "no se pudo vincular a la dirección 0.0.0.0:80 no hay sockets de escucha disponibles" indica que el puerto 80 ya está ocupado. Puede ver qué proceso está ocupando el puerto 80 ejecutando lo siguiente en la línea de comando de Windows: netstat -anb y esperando unos minutos hasta que se muestre la lista completa. Ahora necesita configurar el software que interfiere con Apache en un puerto diferente (en la configuración del programa), eliminarlo o reconfigurar Apache en un puerto diferente.

Para eliminar el error no crítico pero molesto: "httpd.exe: No se pudo determinar de manera confiable el nombre de dominio completo del servidor, usando 192.168.1.2 para ServerName", debe descomentar la línea en httpd.conf:

Nombre del servidor localhost:80

También puede iniciar y detener un servicio de Windows utilizando los siguientes comandos desde la línea de comandos de Windows:

    inicio neto apache2.2 (Inicio)
    parada neta apache2.2 (Detener)

Pero en este caso los mensajes de error al iniciar Apache no serán informativos.

También puede ver el estado del servidor HTTP Apache utilizando los servicios de Windows: "Inicio" -> "Panel de control" -> "Administración" -> "Servicios" -> "Apache 2.2". Aquí también puede detener e iniciar el servidor HTTP.

configuración de apache

Básico Archivo de configuración httpd.conf de Apache se encuentra de forma predeterminada en el directorio conf, que se encuentra en la raíz del directorio de instalación de Apache (si Apache se instala de acuerdo con las instrucciones del artículo, el directorio de Apache: C:\apache2.2.20). Puede acceder al archivo de configuración de Apache a través de: “Inicio” -> “Todos los programas” -> “Apache HTTP Server 2.2” -> “Configurar el servidor Apache” -> “Editar el archivo de configuración Apache httpd.conf”.

Todo líneas de comentarios en el archivo httpd.conf, que no son comprendidos por el servidor HTTP Apache y sirven sólo como explicaciones textuales para el administrador, comienzan con el carácter "#". Al eliminar todos los comentarios del archivo de configuración de Apache, puede simplificar significativamente la percepción y edición de la configuración del servidor. Antes de eliminar comentarios, es recomendable guardar el httpd.conf original en la misma carpeta donde estaba con un nombre diferente, por ejemplo: httpd.conf.original.

Al eliminar comentarios en el archivo de configuración de Apache, debe tener cuidado de no eliminar elementos innecesarios. Sólo se debe eliminar la línea que comienza con el carácter "#". Por ejemplo, en el siguiente ejemplo, dejaría todas las líneas que no comiencen con el carácter "#": .

Una parte arbitraria del archivo de configuración httpd.conf de Apache

#
# Esto debe cambiarse a lo que haya configurado en DocumentRoot.
#

# La directiva de Opciones es complicada e importante. por favor vea
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# para más información.
#
Opciones Índices SeguirSymLinks
#
# AllowOverride controla qué directivas se pueden colocar en archivos .htaccess.
# Puede ser "Todos", "Ninguno" o cualquier combinación de las palabras clave:
# Opciones FileInfo Límite AuthConfig
#
Permitir anulación ninguna

Antes de comenzar a configurar el servidor HTTP Apache, debe tenerse en cuenta que todos rutas a archivos en httpd.conf deberia estar separado barra diagonal "/", en lugar del "\" inverso que se utiliza en Windows. Esto es necesario para evitar algunos problemas.

Ejemplo de uso de una barra diagonal "/" "adecuada" en rutas de archivos en httpd.conf

Raíz del servidor "C:/apache2.2.20"

Además, debes saber que Para que la configuración cambiada en httpd.conf surta efecto, cada vez que la edite, debe reiniciar o detener y reiniciar el servidor Apache..

Conexión de PHP como módulo de Apache

Encontramos en httpd.conf muchas líneas comenzando con LoadModule y después de la última insertamos:

LoadModule php5_module "c:/php5.2.17/php5apache2_2.dll"
PHPIniDir "c:/php5.2.17"

La primera línea carga el módulo php5apache2_2.dll, la segunda línea le dice al intérprete de PHP dónde buscar el archivo de configuración principal de PHP: php.ini. En versiones anteriores de PHP, era necesario mover php.ini al directorio principal de Windows, lo que causaba cierta confusión al configurar PHP.

A continuación, le indicamos a Apache que el archivo index.php también es un archivo de índice que se lanza cuando un cliente lo solicita (por ejemplo http://www.. Para ello cambiamos los parámetros de la directiva Índice de directorio a:

DirectorioIndex index.php index.html

Después de guardar el archivo de configuración, necesita reiniciar apache para que los cambios surtan efecto. Es recomendable ni siquiera reiniciar, sino apagar y encender Apache usando la línea de comando, de modo que si ocurren errores, verá un mensaje de error.

Ahora debe asegurarse de que se ejecuten los scripts PHP. Para hacer esto, en el directorio C:\apache2.2.20\htdocs\ necesita crear un archivo phpinfo.php con el siguiente contenido:

phpinfo();

Después de eso, al abrir una página en el navegador en http://localhost/phpinfo.php, aparecerá una página con información sobre la configuración del intérprete PHP. Si, en cambio, se muestra el código del script, entonces el módulo PHP no está conectado.

archivos de registro de apache

En los archivos de registro de Apache, puede encontrar muchas cosas interesantes, por ejemplo, ¿por qué no se inició Apache? De forma predeterminada, los archivos de registro principales se almacenan aquí: C:\apache2.2.20\logs. Puede cambiar su ubicación configurando los parámetros httpd.conf apropiados:

  • Registro de errores- ruta al registro de errores.
  • Registro personalizado- ruta al registro de acceso.

Servidor virtual Apache

Los hosts virtuales Apache permiten que un servidor Apache ejecute varios sitios web diferentes. Información detallada sobre la directiva VirtualHost: " ". A continuación veremos un ejemplo de cómo abrir soporte para múltiples sitios en Apache instalado en Windows.

Primero, debes crear una carpeta principal en la que se almacenarán los archivos de todos los sitios: C:\www. En este directorio crearemos dos subcarpetas: mysite.lc y phpmyadmin.lc, que contendrán archivos Apache y configuraciones para los sitios: http://mysite.lc y http://phpmyadmin.lc. A continuación, en cada una de las carpetas mysite.lc y phpmyadmin.lc, creamos tres subcarpetas más: conf, log y public. Como resultado, debería obtener la siguiente estructura:

La zona de dominio "lc" (abreviatura de inglés "local") servirá como definición de que el sitio que se abre está ubicado en la computadora local. Para que el sistema operativo Windows redirija todas las solicitudes a sitios locales donde deberían, debe editar archivo de hosts(por ejemplo, usando el bloc de notas), ubicado en el directorio: C:\WINDOWS\system32\drivers\etc\. Después de "127.0.0.1 localhost" (aunque, esencialmente, la ubicación de las líneas agregadas en el archivo puede estar en cualquier lugar), debe agregar dos líneas y guardar los cambios:

127.0.0.1 misitio.lc
127.0.0.1 phpmyadmin.lc

Ahora ingresamos la dirección http://mysite.lc y http://phpmyadmin.lc en la barra de direcciones del navegador, después de lo cual se abrirá una página con una inscripción grande y en negrita: "Funciona".

El sistema sondea el archivo de hosts cada vez que intenta conectarse a cualquier dominio, por lo que los cambios realizados en él no requieren un reinicio para que surtan efecto. Otra cuestión es si intentas abrir el dominio http://mysite.lc antes de guardar los datos en los hosts. Al mismo tiempo, lo más probable es que el navegador escriba en la caché DNS información de que el dominio no existe, y cuando se vuelva a abrir esta página, con el archivo de hosts ya modificado, el resultado no cambiará. En este caso, para lograr el resultado deseado, debe intentar restablecer el caché de DNS: "Inicio" -> "Ejecutar" -> "cmd" -> ipconfig /flushdns. Si esto no ayuda, intente abrir sitios en otros navegadores. El último recurso que funciona al 100% es reiniciar el ordenador.

Es hora de "explicarle" a Apache que cada sitio tiene sus propios directorios, razón por la cual se necesitan directivas de contenedores . Pero antes de eso, necesitas crear y editar dos archivos llamados index.php, que serán sitios de prueba, y colocarlos en las subcarpetas "públicas".

Texto del archivo index.php para C:\www\mysite.lc\public\

echo "Mi sitio";

Texto del archivo index.php para C:\www\phpmyadmin.lc\public\

eco "Phpmyadmin";

Ahora en las carpetas conf creamos los archivos de configuración vh.conf de los hosts virtuales:

vh.conf para mysite.lc en el directorio C:\www\mysite.lc\conf\


# Nombre principal del sitio
Nombre del servidor mysite.lc

# Nombres adicionales para sayia
# *.mysite.lc: todos los subdominios de mysite.lc están disponibles
ServerAlias ​​*.misitio.lc

DocumentRoot "c:/www/mysite.lc/public"
Administrador del servidor [correo electrónico protegido]

# Rutas a los registros del sitio
Registro de errores "c:/www/mysite.lc/log/error.log"
CustomLog "c:/www/mysite.lc/log/access.log" combinado

# Configuración del directorio del sitio

Orden permitida, denegada
Permitir de todos

vh.conf para phpmyadmin.lc en el directorio C:\www\phpmyadmin.lc\conf\


Nombre del servidor phpmyadmin.lc
ServerAlias ​​​​*.phpmyadmin.lc
DocumentRoot "c:/www/phpmyadmin.lc/public"
Administrador del servidor [correo electrónico protegido]
Registro de errores "c:/www/phpmyadmin.lc/log/error.log"
CustomLog "c:/www/phpmyadmin.lc/log/access.log" combinado

Orden permitida, denegada
Permitir de todos

En httpd.conf, desde abajo, iniciamos hosts virtuales y cargamos el archivo de configuración vh.conf para cada sitio:

Configurando hosts virtuales en httpd.conf

# Conexión de hosts virtuales
NombreVirtualHost *:80

Para aplicar la nueva configuración, reinicie el servidor Apache.

Artículo actualizado por última vez: 2011/09/08

Apache: instalación y configuración.

Todo está bien. Apache se está ejecutando en la computadora local. Apache funciona en la red local. Pero no se puede acceder al servidor Apache desde Internet.

Toda la red local está conectada a Internet a través de un servidor proxy UserGate 4.
Se ha creado una regla para publicar un servidor web, pero no se puede acceder a Apache desde Internet.

Para cualquier valor del puerto de escucha en httpd.conf, en Inicio, se muestra "Normalmente solo se permite un uso de cada dirección de socket: make_sock: no se pudo vincular a la dirección... no hay sockets de escucha disponibles, al apagar No se puede" en un ventana negra durante 30 segundos para abrir registros"
Escuchar dirección...
80 0.0.0.0:80
8080 0.0.0.0:8080
1234 0.0.0.0:1234
127.0.0.1:80 127.0.0.1:80
Al mismo tiempo, cuando escribe http://localhost/ en la barra de direcciones de su computadora, aparece "¡Funciona!" en la pantalla.
Por favor dígame qué hacer. (Windows7, Internet Explorer9)

“Para cualquier valor del puerto de escucha”: lo más probable es que tenga alguna otra aplicación colgada en el puerto 80. Encuéntrelo y desactívelo/elimine/muévalo a otro puerto. Cómo hacer esto está escrito en el artículo. Alternativamente, mueva Apache a un puerto diferente.

Escribes en el artículo "Si, en cambio, se muestra el código del script, entonces el módulo PHP no está conectado". Esto es exactamente lo que me está pasando a mí, aunque hice todo según lo escrito. ¿Puedes decirme cuál podría ser la razón?

La razón es la misma: PHP no está conectado. Verifique lo que está escrito en los registros de Apache, también observe atentamente el archivo de configuración de Apache, la sección responsable de conectar el módulo PHP. Si hace todo como está escrito en los artículos, la combinación Apache + PHP + MySQL se iniciará la primera vez. El material de los artículos ha sido probado en instalaciones reales y exitosas.

Tu pregunta no me queda clara.

Las instrucciones omitieron con tacto lo que se debe agregar a httpd.conf

Esta línea es opcional: PHP funcionará sin esta directiva.

Varios hosts virtuales no funcionan. Llevo tres meses luchando, intentaré una cosa y luego otra. Todos los ajustes se realizan como se describe aquí. Un host local funciona. Si "empuja" la carpeta localhost/www en algún directorio y va allí a la dirección localhost/directory, funciona. Y nada más (((((
¿Cuál podría ser la razón? Sistema operativo Windows XP SP3, pero edición ZverCD: ¿podría ser esta la razón?
Ayuda por favor...

La razón definitivamente no está en la versión de Windows. Después de haber hecho todo según las instrucciones, ¿qué error da el navegador después de acceder a mysite.lc y phpmyadmin.lc?

El primer sitio es localhost, el segundo es site.ru. En el archivo de hosts de Windows, ambos se bloquean en 127.0.0.1.
Cuando intento ir a site.ru, busca un host durante mucho, mucho tiempo y luego escribe "No se puede mostrar la página". En la raíz del directorio hay un archivo index.php e index.html y, en cualquier caso, si vas a la dirección localhost/site.ru (el html simple está duplicado allí), todo se abre allí. O si comenta el host predeterminado (localhost) en Virtualhosts, cuando escriba localhost se abre el sitio web site.ru.
¿Quizás en lugar de localhost deberías usar un nombre diferente?

Después de cambiar el archivo de hosts, intente reiniciar su computadora. Si primero intenta abrir site.ru en el navegador y solo luego cambia el archivo de hosts, el sitio no se abrirá. A continuación, ejecute el comando ping en cmd en localhost y site.ru. Si site.ru hace ping (127.0.0.1), el problema está en la configuración de Apache. Además, intente desactivar todos los antivirus/firewalls durante la prueba; el problema puede estar en ellos. Si todo lo demás falla, reinstale Apache nuevamente, siguiendo completamente todas las instrucciones del artículo (orden de acciones, nombres de los sitios de prueba, etc.); todo debería funcionar. Y después de que todo esté funcionando, comience a intentar ajustar las configuraciones usted mismo.



PHPIniDir "c:/php"
el mensaje de error es "El servicio APACHE2 no se pudo iniciar en la computadora local. Los detalles están contenidos en el registro de eventos del sistema. Si este servicio no fue desarrollado por Microsoft, comuníquese con el desarrollador del servicio e informe el código de error 1 específico de este servicio".
al eliminar las líneas anteriores todo funciona nuevamente

¡Muchas gracias! ¡Todo funciona!

Mi página PHP comenzó a interpretarse sólo después de agregar
Aplicación AddType/x-httpd-php .php

"Mi página PHP comenzó a interpretarse sólo después de agregar
Aplicación AddType/x-httpd-php .php"
Lo mismo, reinicié 10 veces hasta que me conecté y vi que todavía necesitaba escribir esta línea. Lo agregué y todo funcionó de inmediato en Windows 7.

Instalé Apache (httpd-2.2.20-win32-x86-no_ssl) en Windows 7, se inicia, pero Firefox no abre la página de inicio con: ¡Funciona! Ping 127.0.0.1 pasa localhost, se han verificado la configuración de NOD 32, Skype, el archivo vhosts.conf, como está escrito en las recomendaciones. ¿Cuál es el problema? ¡Ayuda por favor!

¿Es cierto que la línea "#ServerName localhost:80" en el archivo htpd.conf debería estar comentada? Creé un archivo CreateDB.php en el que escribí la esencia: "crear una base de datos de prueba". creó la base de datos, como descubrí más tarde en la propia consola mysql, pero en el navegador dice "servidor remoto o archivo no encontrado". Al mismo tiempo, archivos como phpinfo.php y todo tipo de "¡hola!" trabajado sin ningun comentario

Hola.
El problema es este. Instalé Apache2.2.20, PHP5.2.17.
Parece que el módulo PHP está conectado, pero cualquier intento
contactar http://localhost/phpinfo.php no resulta
al resultado. Citaré el texto del archivo de error/registro.
Apache/2.2.20 (Win32) PHP/5.2.17 configurado - reanudando operaciones normales
Servidor construido: 30 de agosto de 2011 21:54:15
Padre: proceso hijo creado 8012
Niño 8012: el proceso secundario se está ejecutando
Niño 8012: adquirió el mutex de inicio.
Niño 7488: se liberó el mutex de inicio
Niño 8012: Iniciando 64 subprocesos de trabajo.
Niño 7488: Todos los subprocesos de trabajo han salido.
Niño 8012: hilo inicial para escuchar en el puerto 80.
No sé qué hacer. Quizás puedas decirme.

Buen artículo, pero olvidaste mencionar que al conectar php como módulo, también debes agregarle configuración:

Después de las líneas "
LoadModule php5_module "c:/php5.2.17/php5apache2_2.dll"
PHPIniDir "c:/php5.2.17"
"

Necesitas escribir algo como "

Agregar tipo texto/html .php

Corrección (las etiquetas están deshilachadas)

"signo menor que"IfModule php5_module"signo mayor que"
"signo menor que"Ubicación/"signo mayor que"
Agregar tipo texto/html .php
Aplicación AddHandler/x-httpd-php .php
"signo menor que"/Ubicación"signo mayor que"
"signo menor que"/IfModule"signo mayor que"

Apache (httpd-2.0.64-win32-x86-no_ssl.msi) funciona en la computadora. Después de instalar PHP - php-5.2.17-Win32-VC6-x86.zip todo funciona. Pero después de insertar en httpd.conf:
LoadModule php5_module "c:/php/php5apache2_2.dll"
PHPIniDir "c:/php"

El error es "Error al iniciar el servicio php5apache2_2.dll
y en consecuencia Apache no arranca, ¿cuál podría ser el motivo????
PD: ¡No encontré la respuesta aquí!

a alex
Lamento que sea tarde, pero tal vez a alguien le resulte útil. En el parámetro de la directiva LoadModule debe especificar un dll que corresponda a la versión de Apache. Aquellos. en tu caso debería ser php5apache2.dll

Aquí está, grande y terrible. A lo largo de su vida, ha arruinado a muchos desarrolladores web novatos que perdieron la vida configurando sus archivos de configuración. 🙂 Pero tú y yo somos personas con nervios fuertes y estómagos de acero, así que vamos.

Instalación y configuración inicial

Desempaquete el archivo de distribución en el directorio C:\Apache2.

Abra el archivo “C:\Apache2\conf\httpd.conf” en un editor de texto, que es el archivo de configuración principal del servidor Apache.

Bueno, ahora espera. Se ruega a las mujeres, las personas mayores y los niños que no sigan leyendo. Los autores no son responsables del estado mental de las personas que lean el artículo hasta el final. 🙂

Editando el archivo httpd.conf

  1. Para cargar el módulo mod_rewrite, busque y descomente (elimine el símbolo “#” al principio de la línea) esta línea:
    LoadModule rewrite_module módulos/mod_rewrite.so
  2. Para cargar el intérprete PHP, debe agregar la línea al final del bloque de carga del módulo:
    LoadModule php5_module "C:/php/php5apache2_2.dll"
  3. Defina el directorio que contiene el archivo de configuración de PHP agregando la siguiente línea a continuación:
    PHPIniDir "C:/php"
  4. Busque y descomente la línea:
    Nombre del servidor www.ejemplo.com:80
    Edítelo de la siguiente manera, configurando el nombre del servidor original:
    Nombre del servidor localhost:80
  5. Encuentra la línea:
    Raíz del documento "c:/Apache2/htdocs"
    Asigne un directorio de administración del sitio raíz (crearemos uno un poco más adelante):
    Raíz del documento "C:/apache"
  6. Encuentra este bloque:

    Opciones SeguirEnlacesSym
    Permitir anulación ninguna
    Orden denegar, permitir
    Negar de todos

    Y reemplácelo con lo siguiente:

    Opciones Incluye índices FollowSymLinks
    Permitir anular todo
    Permitir de todos
  7. Elimine o comente el bloque de control de directorio original (no lo necesitaremos), que sin comentarios se parece a esto:

    Opciones Índices SeguirSymLinks
    Permitir anulación ninguna
    Orden permitida, denegada
    Permitir de todos
  8. Encuentra el bloque:

    DirectoryIndex index.html

    Reemplácelo con:

    DirectorioIndex index.html index.htm index.shtml index.php
  9. Encuentra la línea:
    ErrorLog "registros/error.log"
    Reemplace con lo siguiente (en este caso será más conveniente ver el archivo de error del servidor global):
    Registro de errores "C:/apache/error.log"
  10. Encuentra la línea:
    CustomLog "logs/access.log" común
    Reemplazar con:
    CustomLog "C:/apache/access.log" común
  11. Para operar SSI (habilitación del lado del servidor), las siguientes líneas se encuentran en el bloque , necesitas buscar y descomentar:
    Agregar tipo texto/html .shtml
    AddOutputFilter INCLUYE .shtml
  12. Añadir abajo en el mismo bloque , dos líneas:
    Aplicación AddType/x-httpd-php .php
    Aplicación AddType/x-httpd-php-source .phps
  13. Finalmente, busque y descomente las líneas:
    Incluir conf/extra/httpd-mpm.conf
    Incluir conf/extra/httpd-autoindex.conf
    Incluir conf/extra/httpd-vhosts.conf
    Incluir conf/extra/httpd-manual.conf
    Incluir conf/extra/httpd-default.conf

Guarde los cambios y cierre el archivo "httpd.conf"

Ahora abra el archivo “C:\Apache2\conf\extra\httpd-vhosts.conf” y realice los siguientes cambios en él.

Es necesario eliminar los bloques de ejemplo de host virtual existentes y solo insertar lo siguiente:
NombreVirtualHost *:80


Raíz del documento "C:/apache/localhost/www"
Nombre del servidor localhost
Registro de errores "C:/apache/localhost/error.log"
CustomLog "C:/apache/localhost/access.log" común

Guarde los cambios y cierre el archivo "httpd-vhosts.conf"

La configuración de los archivos de configuración está completa, ahora necesita instalar el servicio Apache2.2.

Instalación del servicio Apache2.2 en imágenes

Inicie la línea de comando e ingrese "C:\Apache2\bin\httpd.exe -k install"

Esto es lo que deberíamos ver cuando el servicio Apache2.2 se instale correctamente.

Si todo salió bien, continuamos: configuramos el inicio manual del servicio Apache2.2, para lo cual seguimos la ruta: "Inicio" → "Panel de control" → "Herramientas administrativas" → "Servicios", en la administración de servicios ventana que se abre, seleccione la línea "Apache2.2" y haga doble clic en ella, luego en la pestaña "General" seleccione el inicio manual del servicio - "Tipo de inicio: Manual" "(Tipo de inicio: manual). Esto debe hacerse para evitar que servicios innecesarios carguen el sistema. Teniendo en cuenta que una computadora doméstica se usa no solo para el desarrollo web, sino también para muchas otras necesidades, lo más apropiado es iniciar y detener manualmente los servicios utilizados de forma intermitente.

Crear una estructura de directorio de host virtual

En la raíz del disco, debe crear el directorio "apache"; contendrá sus hosts virtuales (dominios), el archivo de registro de errores global "error.log" (creado por el programa cuando lo inicia por primera vez, automáticamente), el archivo de acceso global “access.log” (creado automáticamente). En el directorio "apache" creamos otra carpeta vacía: "localhost", en la cual, a su vez, creamos la carpeta "www", es en esta última donde necesitaremos guardar nuestras cosas en forma de scripts locales. Esta estructura de directorios aparentemente extraña está dictada por una estructura de directorios similar en los sistemas Unix y pretende simplificar su comprensión y uso en el futuro.

Ejemplo de creación de un host virtual

Si necesita instalar sus propios hosts virtuales, haga lo siguiente:

Abra el archivo “httpd-vhosts.conf” y cree un bloque con aproximadamente el siguiente contenido:

# La carpeta donde estará la raíz de tu host.
raíz del documento "C:/apache/test.ru/www"
# El dominio mediante el cual puede acceder al host virtual.
Nombre del servidor test.ru
# Alias ​​(nombre adicional) del dominio.
ServerAlias ​​​​www.test.ru
# El archivo donde se escribirán los errores.
Registro de errores "C:/apache/test.ru/error.log"
# Archivo de registro de acceso al host.
CustomLog "C:/apache/test.ru/access.log" común

Luego, en el directorio "apache", cree la carpeta "test.ru" (así, con un punto), en la que, a su vez, cree la carpeta "www".

El siguiente paso para crear un host virtual es modificar el archivo C:\WINDOWS\system32\drivers\etc\hosts del sistema operativo. Abra este archivo y agréguele dos líneas:
127.0.0.1 prueba.ru
127.0.0.1 www.test.ru

Ahora inicie el servidor Apache ejecutando “C:\Apache2\bin\httpd.exe -k start” en la línea de comando, abra el navegador, ingrese “test.ru” o “www.test.ru” en la barra de direcciones y Te encontrarás en tu anfitrión virtual. Solo tenga cuidado, ahora puede acceder al sitio original con el nombre del host virtual (“www.test.ru”, si existe) solo comentando o eliminando la línea: “127.0.0.1 www.test.ru " en el archivo " hosts " mencionado anteriormente.

La documentación de Apache, con el servidor en ejecución, está disponible en http://localhost/manual/

Puede detener Apache ejecutando “C:\Apache2\bin\httpd.exe -k stop” en la línea de comando. Si necesita reiniciar Apache, ejecute “C:\Apache2\bin\httpd.exe -k restart” en la línea de comando.

Se completa la instalación y configuración del servidor web Apache.

Crear archivos por lotes para iniciar y detener servicios

Acepte que editar manualmente el archivo "hosts" cada vez que inicia los servicios no es conveniente, por lo que para un inicio más conveniente y simultáneo de los servicios Apache, MySQL y cambiar el archivo "hosts", crearemos dos archivos por lotes: para iniciar y deteniéndose, que realizará todo el trabajo de rutina automáticamente.

Cuando utilice hosts virtuales, debe crear dos archivos en el directorio C:\apache: vhosts-off.txt, que contiene el contenido inicial del archivo "hosts", y vhosts-on.txt, que contiene todos los hosts virtuales. Tenga en cuenta que al crear nuevos hosts virtuales deberá agregarlos al archivo vhosts-on.txt y no a C:\WINDOWS\system32\drivers\etc\hosts. Mire los ejemplos a continuación.

Archivo vhosts-off.txt (puede contener una sola línea):
127.0.0.1 servidor local

Ejemplo de un archivo vhosts-on.txt con hosts virtuales www.test.ru y test.ru:

127.0.0.1 servidor local
127.0.0.1 www.test.ru
127.0.0.1 prueba.ru

En el mismo directorio C:\apache, cree dos archivos por lotes: start-webserver.bat – para iniciar los servicios y reemplazar el archivo “hosts”, y stop-webserver.bat – para detener los servicios y borrar el archivo “hosts”.

Ejecute el archivo start-webserver.bat:

@echo apagado eco. si no existe C:\apache\vhosts-on.txt, vaya a no_vhosts echo Cree hosts virtuales: copie /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts echo. :no_vhosts NET inicia Apache2.2 NET inicia MySQL

Detener el archivo stop-webserver.bat:

@echo apagado eco. si no existe C:\apache\vhosts-off.txt, vaya a no_vhosts echo Restaurar el archivo de hosts: copie /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts echo. :no_vhosts NET detiene Apache2.2 NET detiene MySQL

Si no utiliza hosts virtuales o desea iniciar servicios sin reemplazar el archivo “hosts”, simplemente elimine los archivos vhosts-on.txt y vhosts-off.txt del directorio C:\apache.

Simultáneamente con los servicios, es conveniente ejecutar el programa Apache Monitor, que muestra el estado del servidor Apache en la bandeja del sistema, para lo cual puede crear otro archivo por lotes "start-webserver-monitor.bat", cuyo contenido son similares al archivo “start-webserver.bat” con la adición del final de la siguiente línea:

iniciar "" "C:\Apache2\bin\ApacheMonitor.exe"

Ahora, para ejecutar todo el kit de herramientas, deberá ejecutar el archivo “start-webserver-monitor.bat” o “start-webserver.bat” y detenerlo “stop-webserver.bat”. Si lo desea, puede cambiar el nombre de estos archivos, moverlos a cualquier otra ubicación de la carpeta “C:\apache” o crear accesos directos a estos archivos, por ejemplo, al escritorio.

Artículo original: http://php-myadmin.ru/learning/instrument-apache.html




Arriba