Saltar al contenido principal.

Instalar apache y php en debian



Ciertos sistemas de administración de contenido no funcionan con la combinación nginx y php-fpm , y requieren un servidor web apache con el módulo php. La razón más común para esto es la necesidad de usar el módulo de reescritura para que el sitio funcione.



Instale los componentes básicos con un comando. Las dependencias se instalarán automáticamente.

  # aptitude install apache2-mpm-itk libapache2-mod-php5 php5-curl php5-mysqlnd php5-gd 

Contenido del artículo:

Configurar apache

Primero encienda mod_rewrite. Definitivamente lo necesitará si su sitio usará CNC.

  # a2enmod reescribir 

No será necesario incluir mod_php, ya que durante la instalación se habilitará automáticamente.



También recomiendo desactivar los siguientes módulos si no los necesita:

  # a2dismod -f autoindex deflate setenvif status 

Esto le permitirá reducir el consumo de memoria.

Abra el archivo /etc/apache2/conf-available/charset.conf y descomente la siguiente línea:


  AddDefaultCharset UTF-8 

Esta directiva indica que la codificación predeterminada será UTF-8. Si sus sitios utilizan una codificación diferente, por ejemplo, CP-1251, debe especificarla allí mismo o en los parámetros del host virtual.

Guarda los cambios.

Abra el archivo /etc/apache2/conf-available/security.conf y convierta la línea ServerTokens OS a ServerTokens Prod . Esto ocultará la versión de apache para los clientes.

ServerSignature On cadena ServerSignature On a ServerSignature Off .

Guarda los cambios.

Abra el archivo /etc/apache2/apache2.conf para editarlo y encuentre el parámetro KeepAlive On . Si, después de configurar Apache, instala nginx y procesa las solicitudes desde él, entonces este parámetro debe convertirse a KeepAlive Off , ya que esta función (manteniendo la conexión con el cliente) será realizada por nginx. Si planea usar Apache como su servidor web principal, esta función debe estar configurada.

MaxKeepAliveRequests : el número máximo de solicitudes para mantener una conexión permanente. Para un mejor rendimiento, se recomienda establecer un valor alto. Para empezar, el valor predeterminado es 100.

KeepAliveTimeout es el tiempo en segundos para esperar la próxima solicitud del mismo cliente.

Guarda los cambios y reinicia apache.

Abra el archivo /etc/apache2/mods-available/mpm_prefork.conf.

Los parámetros en este archivo se deben especificar según el tráfico del sitio y los recursos del servidor. Para comenzar, intente iniciar el sitio con una configuración mínima y ver cómo funciona. Si resulta que los recursos son insuficientes, aumentarlos.

Dar valores predeterminados a esta vista:

  Servidores de inicio 2
 MinSpareServers 2
 MaxSpareServers 6
 MaxRequestWorkers 32
 MaxConnectionsPerChild 0

StartServers : la cantidad de procesos de servidor secundarios creados al inicio.

MinSpareServers : el número mínimo de procesos inactivos.

MaxSpareServers : el número máximo de procesos inactivos.

MaxRequestWorkers : el número máximo de conexiones que se procesarán simultáneamente.

MaxConnectionsPerChild : el número máximo de conexiones, después del procesamiento de las cuales, se terminará el proceso secundario. Puede ser útil para tratar las fugas de memoria.

También guarde los cambios y reinicie apache: service apache2 restart .

Creando un host virtual

Un host virtual es un grupo de parámetros de configuración para un sitio específico. Incluye un dominio aceptado, administrador de correo electrónico, rutas de acceso a archivos de registro, conexión de manejadores de PHP, etc.

Me gusta alojar configuraciones de host virtual en un archivo: apache2.conf. Si necesita reemplazar masivamente un valor para todos los sitios, no necesitará abrir todos los archivos de configuración de los hosts virtuales a su vez.

Primero, deshabilite el sitio predeterminado.

  # a2dissite 000-default 

Al final del archivo /etc/apache2/apache2.conf, escriba la siguiente directiva:

  <VirtualHost *: 80>

 </ Virtualhost> 

Esta directiva agrupa todos los parámetros del sitio. Que ella es una anfitriona virtual. Los siguientes parámetros están escritos dentro de esta directiva.

ServerName - su dominio sin www. (Por ejemplo, example.com.)

ServerAlias - dominio con www (www.example.com)

DocumentRoot : el directorio donde se encuentran los archivos de su sitio. Por ejemplo, / var / www /.

ServerAdmin - correo electrónico del administrador del sitio.

ErrorLog : ubicación del archivo de registro de errores. Como regla general, se encuentran en el directorio / var / log / apache2 /. El alias $ {APACHE_LOG_DIR} se utiliza para ello. Ejemplo:

  ErrorLog $ {APACHE_LOG_DIR} / example.com .error.log 

LogLevel warn . No cambiamos nada, lo registramos así. Establece el nivel de registro de errores.

CustomLog - Ubicación y tipo de sitio de registro de acceso. El tipo predeterminado es combinado. Aunque hay otros tipos. Ejemplo:

  CustomLog $ {APACHE_LOG_DIR} /example.com.access.log combinado 

En ambos ejemplos, example.com se reemplaza con su dominio sin www.

Agregamos configuraciones para mpm-itk, ya que instalamos este módulo en particular. ¿Qué da él? Le permite manejar scripts php en nombre del usuario que posee el sitio.

  <IfModule mpm_itk_module>
 Grupo de usuarios AssignUserId
 </ IfModule> 

Aquí debe reemplazar al usuario con el nombre de usuario y al grupo con el nombre del grupo en cuya carpeta de inicio se encuentran los sitios.

Definimos ajustes para directorios.

  <Directorio />
 Opciones + FollowSymLinks
 AllowOverride Ninguno
 Requerir todo otorgado
 </ Directorio>
 <Directorio / var / www>
 Opciones -Indexes + FollowSymLinks 
 AllowOverride All
 Orden permitir, negar
 permitir de todo
 </ Directorio> 

Reemplace el directorio / var / www con el sitio donde se encuentran sus sitios.

Conectamos el controlador php-scripts.

  <IfModule mod_php5.c>
 php_admin_flag engine on
 php_admin_value open_basedir "/ var / www: / tmp / session: / tmp / upload_tmp"
 php_admin_value upload_tmp_dir / tmp / session
 php_admin_value session.safe_path / tmp / upload_tmp
 php_admin_value sendmail_path "/ usr / sbin / sendmail -t -i -fmail@example.com"
 </ IfModule> 

open_basedir como valor, especificamos los dos puntos del directorio a los que tendrá acceso php: un directorio con un sitio, un directorio para almacenar archivos de sesión, un directorio para descargar archivos temporales.

upload_tmp_dir - directorio para almacenar archivos temporales. Cuando carga una imagen (o algo más) en el sitio, el archivo descargado se coloca primero en este directorio y luego en la ubicación final.

session.safe_path - directorio para almacenar sesiones.

Por razones de seguridad, estos dos directorios no deben mantenerse en un lugar público. Créalos en el directorio de inicio del usuario donde se encuentran sus sitios. Permitir el acceso a ellos solo a este usuario (derechos 0750).

sendmail_path - ruta y parámetros de sendmail_path . Como regla general, sendmail se encuentra en el directorio / usr / sbin. Después del parámetro -f, debe especificar un correo electrónico, sin separar con un espacio.

Guarde el archivo de configuración apache2.conf, reinicie apache:

  servicio apache2 reinicio 

Prueba de paquetes personalizados

En el directorio del sitio, crea un archivo index.php. Escribe el código en él:

  <? php phpinfo ();  ?> 

Luego abra su sitio web en un navegador y vea si se muestra la información de php. Si es así, entonces el servidor está configurado correctamente y puede colocar el sitio en el directorio destinado a él.

De lo contrario, debería analizar los registros de errores y verificar los ajustes en los archivos de configuración.



¿Cómo calificas el artículo?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 ( 2 calificaciones, promedio: 5.00 de 5)
Cargando ...

” 2 Comentarios “ Instalando apache y php en Debian

  1. Gracias Mi nombre es Sergey. 65 años de edad. uch el doctor SPb. Tengo VDS hosting. En él se estableció el sitio: egmontgroup.ru
    Según tu artículo: php7. También postgreSQL 9.4 y Apache 2.4
    Básicamente normal. En la computadora local Debian 8.6 jessey (en VDS es el mismo). Instalé todo lo mismo. Pero ya los días y las noches no puedo empezar a apache. En los registros no me queda claro, no pasó nada en el VDS.
    ¿Y qué pasa con el alojamiento VDS (solo hay ssh (yo uso masilla)?) Copie algunas configuraciones, y de hecho. ?
    Saludos Gracias Mi correo electrónico es sergeygsd@yandex.ru
    También me gustó cambiar el trabajo entre las versiones php.

Añadir un comentario

Su correo electrónico no será publicado.