RETRO.COM.ES

Web sobre informática retro y vintage

Herramientas de usuario

Herramientas del sitio


crux24:web

Web con PHP

Utilizando el comando pkgadd, hay que instalar los paquetes libpcre, apr, apache, php, php-gd, mod_php y opcionalmente php-ftp (que no tienen dependencias externas).

En la carpeta /etc/php/ se copia php.ini-development o php.ini-production a php.ini. Se edita y en la línea ;date.timezone = se le quita el comentario y se pone date.timezone = Europe/Madrid (o la que corresponda).

En el archivo /etc/apache/httpd.conf se busca la línea que incluye la configuración de Virtual hosts #Include /etc/apache/extra/httpd-vhosts.conf, y antes se añade lo siguiente

# PHP web appl
Include /etc/apache/extra/httpd-php.conf

Si se desea que arranque tanto http como https hay que eliminar el comentario # en la línea #Include /etc/apache/extra/httpd-ssl.conf que se encuentra casi al final. Tener en cuenta que el certificado por defecto es autofirmado (self signed), lo que da mensajes de advertencia en los navegadores.

Se crea el arhcivo info.php en /var/www/htdocs/, con el contenido siguiente:

info.php
<?php phpinfo(); ?>

Se arranca apache con /etc/rc.d/apache/start, se apunta un navegador al servidor y aparece la lista de ficheros, en concreto info.php. Si todo ha ido bien al hacer clic deberá aparecer la página con información de PHP.

Servidores virtuales

Para el uso sencillo de servidores virtuales se propone la configuración siguiente.

Editar el archivo httpd.conf y añadir el contenido en rojo entre las líneas indicadas, asegurándose que la línea que invoca a la configuración extra/httpd-ssl.conf esta comentada (con '#' al inicio):

# Secure (SSL/TLS) connections
#Include /etc/apache/extra/httpd-ssl.conf

Include /etc/apache/ssl.conf

#
# Note: The following must must be present to support
#       starting without SSL on platforms with no /dev/random equivalent

Luego se copiar este archivo en /etc/apache:

ssl.conf
#===============================================================================
# ssl.conf
#-------------------------------------------------------------------------------
 
#--- Secure (SSL/TLS) connections ----------------------------------------------
 
<IfModule ssl_module>
  Listen 443
  AddType application/x-x509-ca-cert .crt
  AddType application/x-pkcs7-crl    .crl
  SSLPassPhraseDialog  builtin
  SSLSessionCache        "shmcb:/var/run/apache/ssl_scache(512000)"
  SSLSessionCacheTimeout  300
  SSLMutex  "file:/var/run/apache/ssl_mutex"
</IfModule>
 
#--- Virtual Hosts -------------------------------------------------------------
 
<IfModule vhost_alias_module>
  NameVirtualHost *:80
  <VirtualHost _default_:80>
    # 400: Bad Request
    # 401: Authorization Required
    # 403: Forbidden
    # 404: Page not found
    # 500: Internal server Error
    #ErrorDocument 403 /index.html
    #ErrorDocument 404 /index.html
  </VirtualHost>
  <IfModule ssl_module>
    NameVirtualHost *:443
    <VirtualHost _default_:443>
      #ErrorDocument 403 /index.html
      #ErrorDocument 404 /index.html
      SSLEngine on
      SSLProtocol all -SSLv2 -SSLv3
      SSLCipherSuite \
         ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
      SSLCertificateFile "/etc/ssl/certs/apache.crt"
      SSLCertificateKeyFile "/etc/ssl/keys/apache.key"
      BrowserMatch ".*MSIE.*" \
        nokeepalive ssl-unclean-shutdown \
        downgrade-1.0 force-response-1.0
    </VirtualHost>                                  
  </IfModule>
  Include /etc/apache/vhosts/*.conf
</IfModule>
 
#===============================================================================

A continuación se crean los directorios siguientes:

mkdir /etc/apache/vhosts /var/www/vhosts

Como ejemplo, se creará el host www.virtual.box forzando el uso de https (es decir el http se redirecciona al https). Es imprescindible que www.virtual.box se resuelva con la IP correcta en el servidor DNS.

Copiar este archivo en /etc/apache/vhosts:

www.virtual.box.conf
#===============================================================================
# www.virtual.box.conf
#-------------------------------------------------------------------------------
 
<IfModule ssl_module>
  <VirtualHost *:80>
	ServerName www.virtual.box
	Redirect / https://www.virtual.box/
  </VirtualHost>
  <VirtualHost *:443>
	ServerName www.virtual.box
	DocumentRoot "/var/www/vhosts/www.virtual.box"
	<Directory "/var/www/vhosts/www.virtual.box">
		Options FollowSymLinks
		AllowOverride All
		Order allow,deny
		Allow from all
	</Directory>
#	ErrorDocument 403 /forbidden.html
#	ErrorDocument 404 /notfound.html
  </VirtualHost>
</IfModule>
 
#===============================================================================

Crear contenido en /var/www/vhosts/www.virtual.box/ para diferenciarlo del host por defecto. Por ejemplo un archivo index.html con el contenido <html><body><h1>www.virtual.box</h1></body></html>.

Reiniciar el servidor con /etc/rc.d/apache restart.

Si se desea cambiar el certificado, hay que tocar las líneas SSLCertificate, incluidas al archivo ssl.conf.

©2017-2024, jCæsar Contacto

Herramientas de la página