XAMPP (Español)

From ArchWiki
Esta traducción de XAMPP fue revisada el 2020-03-10. Si existen cambios puede actualizarla o avisar al equipo de traducción.

XAMPP[enlace roto 2022-09-23] 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í[enlace roto 2022-09-23].

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.