Apache HTTP Server (Español)

From ArchWiki
Revision as of 17:58, 23 July 2005 by Klapmuetz (Talk | contribs)

Jump to: navigation, search

(This wiki post copied from: http://bbs.archlinux.org/viewtopic.php?t=2409)

(This is going to be the translation of this Document to Spanish) (Esta será la traducción de este documento al español)

Apache, PHP, y MySQL

Este documento describe como configurar el servidor web Apache en un sistema Arch Linux. Además explica como, optionalmente, instalar PHP y MySQL e integrarlos con Apache.

Instalar Paquetes

  # pacman -Sy
  # pacman -S apache
  # pacman -S php
  # pacman -S mysql

Si lo deseas, puedes instalar solo Apache, Apache y PHP, o los tres. Este documento asume que instalaras los tres, pero si quieres, puedes detenerte luego de cualquiera de las secciones.

Configurar Apache

  • Añade la siguiente linea a
    (Si el fichero no existe debes crearlo)  localhost.localdomain   localhost

Nota: Si deseas un hostname diferente, añadelo al final de la linea:  localhost.localdomain   localhost myhostname
  • Edita

Si defines un hostname en el paso 2, la variable HOSTNAME debe ser igual. Si no, solo deja localhost:

  # Networking
  • Ejecuta en una terminal (como root):
# /etc/rc.d/httpd start
  • Apache deberia ahora estar corriendo. Verificalo visitando http://localhost/ en un navegador web. Deberias ver una pagina simple de Arch Linux.
  • Edita
    (para iniciar Apache en el arranque):
Daemons=(varios daemons ahora adiciona httpd)
O añade esta linea a
# /etc/rc.d/httpd start
  • Si quieres activar los directorios de usuarios (ie: ~/public_html en la maquina es accesible como http://localhost/~user/) para estar disponibles en la web, descomenta las siquientes lineas en /etc/httpd/conf/httpd.conf:
UserDir public_html


  <Directory /home/*/public_html>
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch ExecCGI
      Order allow,deny
      Allow from all
      Order deny,allow
      Deny from all

Configurar PHP

PHP ahora esta disponible practicamente al instalarlo.

  • Descomenta esta linea en
#LoadModule php4_module /usr/lib/apache/libphp4.so
  • Reinicia el servidor Apache para que los cambios tengan efecto (como root):
# /etc/rc.d/httpd restart
  • Prueba PHP con un simple, pero muy informativo script:
  This is Arch Linux, running PHP.
Guarda este archivo como "test.php" y copialo en
o en
si lo permitiste en la configuracion.
  • Prueba PHP:
 http://localhost/test.php o http://localhost/~myname/test.php

Configurar MySQL

Haz esto solo si quieres activar el soporte para MySQL

  • Edita
    (esta en
    en sistemas viejos) para descomentar las siquientes lineas:

Los dos siquiente pasos debes hacerlos la primera vez que inicies /etc/rc.d/mysql. Hecha un vistazo a este archivo, si no estás seguro.

  • Puedes necesitar configurar una contraseña y un grupo para mysql:
  • Añade un grupo llamado mysql
# groupadd -g 89 mysql
  • Añade el usuario mysql
# useradd -u 89 -g mysql -d /var/lib/mysql -s /bin/false mysql
  • Run in a root terminal (you don't need the --user option and chown if you let it run as root):
  # mysql''install''db --user=mysql
  # chown -R mysql.mysql /var/lib/mysql

If you trust the script, go on here:

  • Test mysql (as root):
# /etc/rc.d/mysqld start
  # mysql
  • Create root password for mysql (at terminal, as root):
# mysqladmin -u root password 'roots_password'
  • Add
    to the list of daemons in
    (as for httpd above)
Or add this line in
# /etc/rc.d/mysqld start
  • To login to mysql, type (at terminal, >hostname< as used in /etc/hosts)
# mysql -u root -h >hostname< -p
  • You can add minor privilegued users for your web scripts by editing the tables found in the "mysql" database. You have to restart mysql for changes to take effect.

Don't forget to check the mysql/users table. If there's a second entry for root and your hostname left with no password set, everybody from your host probably could gain full access.
Perhaps see next section for these jobs.

Setup PHPMyAdmin

If you or your users want to use PHPMyAdmin to access the database, you might like to go on:

  • Install the package
  # pacman -S phpmyadmin
  • Edit the configuration file to setup your needs:

Insert the according string to the PmaAbsoluteUri variable, so that it looks like follows

$cfg[['PmaAbsoluteUri']] = 'http://>hostname</phpMyAdmin/';

Fill in your mysql server's information. In PHPMyAdmin, multiple servers can be defined in the Servers array. To access your single mysql database, you have to edit the first entry; you can ignore the following ones.

On a regular system you only have to set auth_type to http. This means that phpMyAdmin directly uses the entered user and password to communicate with the mysql server, so it can't do stuff not allowed to the according mysql user.

$cfg[['Servers']][[$i]][['auth_type']]     = 'http';

Be aware of that other auth methods or writing any password to this file can seriously damage your database security. Per default this file is world-readable.

  • You can reach PHPMyAdmin with your webbrowser: