XAMPP (Español)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Estado de la traducción: esta traducción de XAMPP fue revisada el 2020-03-10. Si existen cambios puede actualizarla o avisar al equipo de traducción.

XAMPP es una distribución de Apache fácil de instalar que contiene MariaDB, PHP y Perl.
Su contenido completo: Apache, MariaDB, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class, ncurses, mod_perl, FreeTDS, gettext, mcrypt, mhash, eAccelerator, SQLite and IMAP C-Client.

Instalación

Desde AUR

Instalar xamppAUR.

Manualmente

Descargue el instalador desde su página oficial.

El archivo descargado es un script de instalación. Hágalo ejecutable y arránquelo escribiendo:

# chmod +x xampp-linux-version-installer.run 
# ./xampp-linux-version-installer.run

Eliminación

Asegúrese de detener todos los servicios lampp.

# /opt/lampp/lampp stop

Todos los archivos que necesita Xampp para su instalación se encuentran en el directorio anterior /opt/lampp. Por tanto, para desinstalar Xampp:

# rm -rf /opt/lampp
Nota: Si ha creado enlaces simbólicos, también deberá eliminarlos.

Configuración

La configuración de las partes individuales de XAMPP se puede hacer editando los siguientes archivos:

/opt/lampp/etc/httpd.conf - Configuración de Apache. Por ejemplo, puede cambiar la carpeta con los archivos fuente de la página web.

/opt/lampp/etc/php.ini - Configuración de PHP.

/opt/lampp/phpmyadmin/config.inc.php - Configuración de phpMyAdmin.

/opt/lampp/etc/proftpd.conf - Configuración de proFTP.

/opt/lampp/etc/my.cnf - Configuración de MySQL.

Si desea configurar la seguridad del servidor, puede hacerlo de manera fácil con este comando:

# /opt/lampp/lampp security

Se le pedirá paso a paso que elija contraseñas para acceder a las páginas web, usuario "pma" para phpMyAdmin, usuario "root" para MySQL y usuario "nobody" para proFTP.

Autoarranque en boot

Para que se inicie Xampp desde el arranque, cree un servicio systemd para él (/etc/systemd/system/xampp.service):

[Unit]
Description=XAMPP

[Service]
ExecStart=/opt/lampp/lampp start
ExecStop=/opt/lampp/lampp stop
Type=forking

[Install]
WantedBy=multi-user.target

Habilite xampp.service.

Uso

Utilice los comandos siguientes para controlar XAMPP:

# /opt/lampp/lampp start,stop,restart

Si le aparece este error cuando lo inicia:

Starting XAMPP for Linux 1.7.7...
/opt/lampp/lampp: line 21: netstat: command not found
/opt/lampp/lampp: line 21: netstat: command not found
XAMPP: Starting Apache with SSL (and PHP5)...
/opt/lampp/lampp: line 241: /bin/hostname: No such file or directory
/opt/lampp/lampp: line 21: netstat: command not found
XAMPP: Starting MySQL...
/opt/lampp/bin/mysql.server: line 263: hostname: command not found
/opt/lampp/lampp: line 21: netstat: command not found
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

Instale net-tools y inetutils desde los repositorios oficiales.

Hospedar archivos fuera del directorio htdocs

El directorio raíz del documento (web root) se encuentra en /opt/lampp/htdocs/. Todos los archivos colocados en este directorio serán procesados por el servidor web.

Para alojar otros archivos en su sistema con XAMPP, puede configurar un alias con Apache.

  • Edite httpd.conf de Apache con su editor favorito.
# vim /opt/lampp/etc/httpd.conf
  • Find "DocumentRoot", verá algo parecido a:
DocumentRoot "/opt/lampp/htdocs"
<Directory "/opt/lampp/htdocs">
    ...    
    ...

</Directory>
  • En la siguiente línea después de "</Directory>" pegue esto:
<Directory "/yourDirectory/">
    Options Indexes FollowSymLinks ExecCGI Includes
    AllowOverride All
    Require all granted
</Directory>
  • Después encuentre el "<IfModule alias_module>":
<IfModule alias_module>

    #
    # Redirect: Allows you to tell clients about documents that used to 
    # exist in your server's namespace, but do not anymore. The client 
    # will make a new request for the document at its new location.
    # Example:
    # Redirect permanent /foo http://www.example.com/bar
  ...
</IfModule>
  • Y antes de "</IfModule>" pegue esto:
Alias /yourAlias /yourDirectory/
  • Y ahora no olvide reiniciar Apache:
# /opt/lampp/lampp restart

Esto le permitirá alojar archivos desde su directorio de inicio (o cualquier otro directorio) con XAMPP.

En el ejemplo anterior, puede acceder a los archivos apuntando su navegador web a localhost/yourAlias.

Depuración y creación de perfiles con Xdebug y Xampp

Para instrucciones detalladas vaya aquí.

Primero debe descargar las herramientas de desarrollo de Xampp desde la misma página de descarga, aquí.

Prepare esto en su directorio Xampp:

# tar xvfz xampp-linux-devel-x.x.x.tar.gz -C /opt

Debería poder ejecutar con éxito

/opt/lampp/bin/phpize

en su directorio xdebug.

Error: PhpMyAdmin 403 Access Forbidden

En caso de que su http://localhost/phpmyadmin devuelva "403 Access Forbidden", necesitrá editar la siguiente configuración /opt/lampp/etc/extra/httpd-xampp.conf:

<Directory "/opt/lampp/phpmyadmin">
	AllowOverride AuthConfig Limit
	#Order allow,deny
	#Allow from all
	Require all granted
</Directory>

Seguridad del servidor de prueba local

Apache y MySQL pueden configurarse para que solo escuchen las solicitudes de su propia computadora. Para la mayoría de los sistemas de prueba, esto está bien y reduce en gran medida el riesgo porque los servicios no son accesibles desde Internet.

Antes de iniciar XAMPP por primera vez, busque y edite estos archivos:

Para Apache edite los archivos /opt/lampp/etc/httpd.conf y /opt/lampp/etc/extra/httpd-ssl.conf. Busque líneas que empiecen por "Listen" tales como

Listen 80

y reemplácelas con

Listen 127.0.0.1:80

Para MySQL abra el archivo /opt/lampp/etc/my.cnf busque la sección "[mysqld]" y añada esta línea

bind-address=localhost

Después de iniciar los servicios, verifique el resultado yendo a una ventana de comandos e inicie y ejecute:

netstat -a -n

Para las entradas marcadas con LISTEN en la última columna, observe la columna Listen. Esta debe comenzar siempre por 127.0.0.1 ó ::1 pero nunca con 0.0.0.0.