javoaxian cambió a: javoaxian.me
Este blog se mantendrá como histórico del nuevo javoaxian.me. Por tal motivo, sólo serán creados post que harán referencia a los del nuevo blog. Si hay dudas y comentarios, favor de hacerlos en javoaxian.me.
Mostrando entradas con la etiqueta Apache. Mostrar todas las entradas
Mostrando entradas con la etiqueta Apache. Mostrar todas las entradas

viernes, 20 de marzo de 2009

Configurar Apache para usar URL's amigables

Dado que en el proyecto en el que estoy participando en mi trabajo requieren que generemos URL's amigables, me dí a la tarea de investigar sobre este tema. Este artículo describirá de forma breve los pasos que necesitamos para que Apache cree las URL's correctamente e interprete los valores de las variables que se envían. Al finalizar mostraré con un ejemplo sencillo en PHP el valor de las variable que se envía por el URL.

El primer paso que deberemos hacer es instalar Apache. Para no volver a explicar como instalarlo dado que ya lo postié en otro artículo dejo AQUÍ la liga. En este artículo tendremos que hacer unos cambios pequeños que a continuación describiré y también para que funcione bien el ejemplo deberemos instalar PHP como indico AQUÍ TAMBIÉN.
Cuando en el artículo de instalación de Apache lleguen a la línea:

$ cp /ruta/donde/se/bajo/httpd-2.2.8.tar.bz2 /usr/local/src/
$ cd /usr/local/src/
$ tar -jxvf httpd-2.2.8.tar.bz2
$ cd httpd-2.2.8
$ ./configure --prefix=/usr/local/apache --enable-module=so
o
$ ./configure --prefix=/usr/local/apache --enable-so

Deberemos agregar la opción --enable-rewrite=shared la cuál nos permitirá reescribir para poder generar nuestras rutas.

La opción quedaría similar a lo siguiente:

$ cp /ruta/donde/se/bajo/httpd-2.2.8.tar.bz2 /usr/local/src/
$ cd /usr/local/src/
$ tar -jxvf httpd-2.2.8.tar.bz2
$ cd httpd-2.2.8
$ ./configure --prefix=/usr/local/apache --enable-module=so --enable-rewrite=shared
o
$ ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite=shared

Después de esto, continuaremos con la instalación que se describe en el artículo de instalación de Apache.

Una vez que ya se tiene instalado Apache deberemos editar como usuario root el archivo /usr/local/apache/conf/httpd.conf y deberemos buscar las líneas donde encontremos la palabra AllowOverride None y deberemos cambiarla por AllowOverride All, por ejemplo, y la encontré en dos lugares:

<Directory />
Options FollowSymLinks
#AllowOverride None
AllowOverride All
</Directory>

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit Indexes
#
#AllowOverride None
AllowOverride All

En el artículo menciono que podemos crear alias como el siguiente:

    # If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a section to allow access to
# the filesystem path.

Alias /javoaxian "/home/javoaxian/htdocs"
<Directory /home/javoaxian/htdocs>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

Y para poder usar también los URL's amigables deberemos cambiar la opción AllowOverride.

    # If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a section to allow access to
# the filesystem path.

Alias /javoaxian "/home/javoaxian/htdocs"
<Directory /home/javoaxian/htdocs>
#AllowOverride FileInfo AuthConfig Limit Indexes
AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

Recuerden que una vez que hayan guardado estos cambios necesitarán reiniciar su Apache en caso de que este iniciado.

Con ésto ya tenemos casi configurado nuestro Apache, ahora lo que falta es crear el archivo .htaccess el cual nos permitirá crear las reglas que necesitamos para que se interprete el URL.

El archivo .htaccess deberá crearse dentro del directorio htdocs de nuestro sitio o en alguno de los directorios dentro de este directorio. Yo crearé un directorio llamado urls dentro del directorio /usr/local/apache/htdocs y en este directorio colocaré el archivo .htacces.

javoaxian@darthmaul:~$ su -
Password:
root@darthmaul:~$ cd /usr/local/apache/htdocs
root@darthmaul:~$ mkdir urls

El contenido del archivo será el siguiente:

<ifmodule mod_rewrite.c>
RewriteEngine On
Rewriterule ^nota/(.+)/(.+) nota.php?id=$1&titulo=$2
</ifmodule>

Ahora explicaré el archivo .htaccess.
Las etiquetas <ifmodule mod_rewrite.c> </ifmodule> indican que si está instalado el módulo mod_rewrite haga lo que está entre esas etiquetas.

La línea RewriteEngine On indica que vamos a habilitar el modo de reescritura de las URL's.

La línea: Rewriterule ^nota/(.+)/(.+) nota.php?id=$1&titulo=$2 crea una expresión regular donde le decimos que el URL será formado de la siguiente manera: http://localhost/urls/nota/numero/titulo-nota donde en este URL /nota representa el nombre del archivo, /numero equivaldría a la variable id=$1 que se especifíca en la expresión regular y /titulo equivale a la variable &titulo=$2. Por tal motivo, si yo pongo el siguiente URL amigable:

http://localhost/urls/nota/1/mi-primer-noticia

será lo mismo que si hubieramos escrito:

http://localhost/urls/nota.php?id=1&titulo=mi-primer-noticia

Hay muchas forma de crear nuestras expresiones regulares, aquí puse una muy sencilla y para fines prácticos.

Ahora bien, si ustedes estuvieran poniendo el archivo .htaccess dentro de un alias que hubieran creado, como es el caso del artículo que mencioné y en donde el alias está dirigido a http://localhost/javoaxian, crearíamos el directorio urls dentro del directorio /home/javoaxian/htdocs.

javoaxian@darthmaul:~$ javoaxian@darthmaul:~$ cd /home/javoaxian/htdocs
javoaxian@darthmaul:~$ mkdir urls

Y el contenido del archivo .htacces variará un poco ya que en lugar de poner ^nota/(.+)/(.+) colocaremos ^nota.php/(.+)/(.+). Esto quedaría así:

<ifmodule mod_rewrite.c>
RewriteEngine On
Rewriterule ^nota.php/(.+)/(.+) nota.php?id=$1&titulo=$2
</ifmodule>

Ahora por último crearemos nuestro programa de PHP el cual nos mostrará el valor de las variables. Por tal motivo crearemos el archivo nota.php y el contenido de este será:

<?php echo "ID: " . $_GET['id'] . " TITULO: " . $_GET['titulo'] ?>

Guardaremos el archivo y ahora en nuestro navegador entraremos a:

http://localhost/urls/nota/1/titulo-de-la-nota

o si están probandolo con el alias:

http://localhost/javoaxian/urls/nota/1/titulo-de-la-nota

A lo cual el programa les mostrará:

ID: 1 TITULO: titulo-de-la-nota

Listo, con esto ha quedado configurado nuestro Apache para interpretar URL's amigables.

viernes, 20 de junio de 2008

Instalar Subversion (SVN) desde su código fuentes con Apache2 en Debian y Ubuntu

En un post anterior ya había explicado como instalar Subversion desde los repositorios de Debian y Ubuntu, pero el día de hoy voy ha explicar como podemos instalar este software atravéz de su código fuente y además habilitaremos Apache para que se puedan consultar nuestros repositorios desde la Web.

Primeramente nos convertiremos en el usuario root.

javoaxian@darthmaul:~$ su -

Instalaremos los paquetes: zlib1g, zlib1g-dev, openssl, libssl-dev, libxml2, libxml2-dev, libexpat1 y libexpat1-dev.

root@darthmaul:~# apt-get install zlib1g zlib1g-dev openssl libssl-dev libxml2 libxml2-dev libexpat1 libexpat1-dev

Ahora deberemos tener instalado nuestro servidor Apache desde su código fuente. Aquí dejo este artículo de cómo instalarlo, nada más deberemos agregar las siguientes opciones en el comando ./configure para que la línea del comando quede de la siguiente manera:

./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared="most ssl dav"

Ya que contamos con nuestro servidor web instalado, vamos a crearle un certificado de prueba. Supondré que siguieron el artículo que mencioné anteriormente (con la modificación del comando ./configure) e instalaron apache en /usr/local/apache.

root@darthmaul:~# cd /usr/local/apache/conf/
root@darthmaul:~# mkdir ssl.crt
root@darthmaul:~# mkdir ssl.key

Ahora generaremos el certificado:

root@darthmaul:~# openssl req -new -x509 -days 365 -keyout ./ssl.key/server.key -out ./ssl.crt/server.crt -subj '/CN=Certificado JavoAxian'

Este comando nos solicitará el PEM pass Phrase y su confirmación. Este nos será solicitado cada vez que iniciemos nuestro servidor web, pero para efectos de este artículo, lo eliminaremos.

Generating a 1024 bit RSA private key
....................++++++
.......................++++++
writing new private key to './ssl.key/server.key'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----

Ya que ingresamos los datos anteriores, eliminaremos el PEM pass phrase que ingresamos de la siguiente manera:

root@darthmaul:~# cp ssl.key/server.key ssl.key/server.key.org
root@darthmaul:~# openssl rsa -in ssl.key/server.key.org -out ssl.key/server.key

Nos pedirá la PEM pass phrase que ingresamos:

Enter pass phrase for ssl.key/server.key.org:
writing RSA key

Ahora le cambiaremos los permisos al archivo server.key:

root@darthmaul:~# chmod 400 ssl.key/server.key

Con esto ya tenemos nuestro certificado. Ahora nos encargaremos de instalar subversion, para esto, lo descargaremos de su página. La versión vigente en el momento de hacer este post es la 1.4.6, por lo que bajaremos los siguientes archivos: subversion-1.4.6.tar.bz2 y subversion-deps-1.4.6.tar.bz2.

La instalación de subversion la haré en el directorio /usr/local.
Copiaremos los archivos de subversion que descargamos al directorio /usr/local/src.

root@darthmaul:~# cp /ruta/de/descarga/subversion-1.4.6.tar.bz2 /usr/local/src/
root@darthmaul:~# cp /ruta/de/descarga/subversion-deps-1.4.6.tar.bz2 /usr/local/src/

Hecho lo anterior, nos moveremos al directorio /usr/local/src y descomprimiremos los 2 archivos.

root@darthmaul:~# cd /usr/local/src/
root@darthmaul:~# tar -jxvf subversion-1.4.6.tar.bz2
root@darthmaul:~# tar -jxvf subversion-deps-1.4.6.tar.bz2

Esto creará un directorio llamado subversion-1.4.6 al cual ingresaremos.

root@darthmaul:~# cd subversion-1.4.6

Ahora ya tenemos todo listo para compilar el paquete de subversion, el cual lo vamos a instalar en el directorio /usr/local/subversion. Vamos a suponer, que si siguieron las instrucciones para instalar apache de este post. Apache deberá estar instalado en /usr/local/apache y abremos creado el usuario apache y el grupo apache.

root@darthmaul:~# ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apache --with-apr-util=/usr/local/apache --with-ssl

El comando configure nos mandará un WARNING el cual dice lo siguiente:

You don't seem to have Berkeley DB version 4.0.14 or newer
installed and linked to APR-UTIL. We have created Makefiles which
will build without the Berkeley DB back-end; your repositories will
use FSFS as the default back-end. You can find the latest version of
Berkeley DB here:
http://www.sleepycat.com/download/index.shtml

Éste nos dice que no tenemos instalada la base de datos de Berkeley, pero no la vamos a instalar, en su lugar vamos a usar la base de datos fsfs.
Continuaremos con la instalación ejecutando los siguientes comandos:

root@darthmaul:~# make
root@darthmaul:~# make install

Si desean, pueden agregar las siguientes líneas en el archivo /etc/profile para que los comandos de subversion funcionen sin tener que especificar su ruta completa.

export SVN=/usr/local/subversion
export PATH=$PATH:$SVN/bin

Para que funcione este cambio, deberán reiniciar su ambiente gráfico o su máquina.

Con esto tenemos instalado subversion. Ahora configuraremos un repositorio para que se pueda acceder por medio de nuestro servidor web.

Crearemos el repositorio especificando el tipo de base de datos fsfs en el directorio /usr/local/repositorio y le daremos permisos de escritura al usuario apache para que pueda escribir sobre el repositorio:

root@darthmaul:~# mkdir /usr/local/repositorio
root@darthmaul:~# /usr/local/subversion/bin/svnadmin create --fs-type=fsfs /usr/local/repositorio/
root@darthmaul:~# chown -R apache.apache /usr/local/repositorio/

Creado el repositorio, procederemos a crear una cuenta (javoaxian) para acceder a éste. Esto se hace usando el comando htpasswd que se encuentra en el directorio bin donde fue instalado apache y crearemos el archivo que guarda los passwords y lo pondremos en el directorio /usr/local/apache/svn.

root@darthmaul:~# mkdir /usr/local/apache/svn
root@darthmaul:~# /usr/local/apache/bin/htpasswd -cm /usr/local/apache/svn/svn_auth.txt javoaxian

La opción "c" indica que deberá crear el archivo de las contraseña, cabe destacar que si van a agregar otro usuario omitan esta opción ya que borrará el archivo ya existente.
La opción "m" indica que deberá generar las contraseña con el algoritmo MD5.
Se nos pedirá el password del usuario y que lo volvamos a ingresar:

New password:
Re-type new password:
Adding password for user javoaxian

Por seguiridad cambiaremos el dueño al directorio /usr/local/apache/svn y le cambiaremos los permisos:

root@darthmaul:~# chown -R apache.apache /usr/local/apache/svn/
root@darthmaul:~# chmod 700 /usr/local/apache/svn/

Ahora agregaremos las instrucciones necesarias en apache para tener acceso al repositorio, para ello, deberemos editar el archivo httpd.conf que se encuentra en el directorio conf donde se instaló apache, que en este caso está en /usr/local/apache/conf/httpd.conf.
Primero buscaremos la línea siguiente del archivo:

Listen 80

Y agregaremos la línea Listen 443 debajo de la que encontramos para que quede de la siguiente forma:

Listen 80
Listen 443

Ahora colocaremos las siguiente líneas al final del archivo:

NameVirtualHost *:443

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key

<Location /repositorio>
DAV svn
SVNPath /usr/local/repositorio
AuthType Basic
AuthName "Repositorio de Subversion"
AuthUserFile /usr/local/apache/svn/svn_auth.txt
Require valid-user
SSLRequireSSL
</Location>
</VirtualHost>

Como podemos observar, estamos creando un Host virtual para el puerto 443.
SSLCertificateFile: Ruta donde colocamos el archivo server.crt cuando creamos el certificado.
SSLCertificateKeyFile: Ruta donde colocamos el archivo server.key cuando creamos el certificado.
Location: Alias que usaremos para dirigirnos al repositorio, en este caso sería https://localhost/repositorio.
SVNPath: Ruta del repositorio.
AuthUserFile: Ruta del archivo de contraseñas que creamos.

Ahora deberemos reiniciar nuestro servidor de apache.

root@darthmaul:~# /usr/local/apache/bin/apachectl stop
root@darthmaul:~# /usr/local/apache/bin/apachectl start

Podemos entrar con nuestro navegador a la dirección https://localhost/repositorio/, nos aparecerá una pantalla para aceptar el certificado y una vez que aceptemos, nos mostrará una pantalla donde se nos pide el user name y password del usuario que creamos con el comando htpasswd, y una vez introducidos estos datos, nos mostrará el contenido del repositorio.

Ahora si queremos permitir el acceso a más de un usuario al repositorio, deberemos crear nuestros nuevos usuarios de la siguiente manera:

root@darthmaul:~# /usr/local/apache/bin/htpasswd -m /usr/local/apache/svn/svn_auth.txt javoaxian2

Crearemos otro archivo que se encargará de llevar el control de acceso a los usuario. Se les puede dar permisos de lectura o lectura-escritura, además que pueden acomodarse en grupos.

Este es un ejemplo del nuevo archivo:

[groups]
javoaxianteam = javoaxian, javoaxian2
pruebas = prueba1, prueba2

[/]
@javoaxianteam = rw
@pruebas = r
javoaxian3 = r

[/trunk]
javoaxian4 = r

Este archivo nos indica que tenemos dos grupos: javoaxianteam con los usuario javoaxian y javoaxian2 y el grupo pruebas con los usuarios prueba1 y prueba2.
También nos indica que el grupo javoaxianteam tiene permisos de lectura-escritura sobre el directorio "/" del repositorio, el grupo pruebas y el usuario javoaxian3 sólo tienen permisos de lectura para el repositorio.
Por último, el usuario javoaxian4 tiene permisos de lectura dentro del directorio /trunk del repositorio.

Este nuevo archivo lo crearé en /usr/local/apache/svn/svn_control_acceso.txt.

Una vez que se tiene el archivo con la configuración que deseamos, deberemos configurar nuevamente apache.
Deberemos editar el archivo /usr/local/apache/conf/httpd.conf y poner la línea:

AuthzSVNAccessFile /usr/local/apache/svn/svn_control_acceso.txt

Debajo de la línea:

Require valid-user

Por lo que nos quedaría de la siguiente manera esta sección de la configuración de apache.


DAV svn
SVNPath /usr/local/repositorio
AuthType Basic
AuthName "Repositorio de Subversion"
AuthUserFile /usr/local/apache/svn/svn_auth.txt
Require valid-user
AuthzSVNAccessFile /usr/local/apache/svn/svn_control_acceso.txt
SSLRequireSSL

Y nuevamente deberemos reiniciar nuestro apache.

root@darthmaul:~# /usr/local/apache/bin/apachectl stop
root@darthmaul:~# /usr/local/apache/bin/apachectl start

Pueden acceder al repositorio mediante su navegador a la dirección https://localhost/repositorio/ e ingresar los datos de acceso de su usuario.
Espero que esto les pueda ser de utilidad.
Saludos.

miércoles, 2 de abril de 2008

Instalar Apache desde código fuente en GNU/Linux

En este post exlicaré como instalar un servidor Apache en nuestra máquina GNU/Linux. Ésto deberá funcionar para cualquier distribución, ya sea para Debian, Ubuntu, Fedora, etc., e incluso hasta para equipos con sistema operativo UNIX.

Para fines prácticos la instalación la realizaré en el directorio /usr/local.

Lo primero que hay que hacer es bajar el archivo desde aquí.

En mi caso bajé el archivo httpd-2.2.8.tar.bz2.
Una vez que se haya descargado el archivo realizaremos los siguiente pasos como root. Para ello ejecutaremos ésto en una consola:

$ su -

Ahora que ya somos el usuario root, procederemos a instalar apache.

$ cp /ruta/donde/se/bajo/httpd-2.2.8.tar.bz2 /usr/local/src/
$ cd /usr/local/src/
$ tar -jxvf httpd-2.2.8.tar.bz2
$ cd httpd-2.2.8
$ ./configure --prefix=/usr/local/apache --enable-module=so
o
$ ./configure --prefix=/usr/local/apache --enable-so

Es posible que en esta parte, mande algunos errores de dependencia, como por ejemplo que no tienen instalado gcc, o los fuentes de GCC como es el paquete libc6-dev.

Para instalarlos en sistemas basados en Debian, como Ubuntu, simplemente ejecuten el comando apt-get install con los paquetes que vayan necesitando, por ejemplo:

$ apt-get install gcc libc6-dev

En el caso de otras distribuciones deberán usar sus herramientas para instalar los paquetes necesarios o en su defecto bajar los paquetes e instalarlos.

Una vez resueltos estos problemas seguiremos con la instalación.

$ make
$ make install

Con ésto ya tenemos instalado apache, ahora lo que haremos es configurar el usuario y grupo de trabajo que aparece como dueño de los procesos de apache.

Para ésto, primero crearemos el usuario apache y el grupo apache en caso de que no existan. Como esta cuenta no requiere un shell, la crearemos sin esta propiedad.

$ useradd -s /usr/sbin/nologin apache

o

$ useradd -s /sbin/nologin apache

Ahora editaremos el archivo /usr/local/apache/conf/httpd.conf con el editor de su preferencia. En mi caso me gusta usar vi pero como a algunos se les complica, usare como ejemplo nano.

$ nano /usr/local/apache/conf/httpd.conf

Deberán buscar dos líneas semejantes a éstas:

$ User daemon
Group daemon

Y cambiaremos daemon por apache en las dos líneas.

$ User apache
Group apache

Ahora guardamos los cambios y saldremos presionando Ctrl+S.

Listo, ahora lo único que nos resta es arrancar apache, para ésto, deberemos hacerlo como root siempre.

$ /usr/local/apache/bin/apachectl start

Abrimos nuestro navegador y teclamos la siguiente dirección: http://localhost/

Nos deberá aparecer algo como lo siguiente:


Para detenerlo ejecutaremos:

$ /usr/local/apache/bin/apachectl stop

Para quienes desean ejecutar apache desde que se inicia la máquina y usan Debian, Ubuntu o alguna distribución basada en Debian, pongo el siguiente script. Copien y peguen el código siguiente en un archivo llamado httpd.

#!/bin/sh
#
# description: startup and shutdown the Apache
#
echo "Apache start/stop"

APACHE2_HOME=/usr/local/apache

case "$1" in
'start')
# Start the Apache
echo -n "Starting the Apache Server... "
$APACHE2_HOME/bin/apachectl start
echo
;;
'stop')

# Stop the Apache
echo -n "Shutting down Apache Server... "
$APACHE2_HOME/bin/apachectl stop
echo
;;

'restart')
# Restart the Apache
echo -n "Restarting Apache Server... "
$0 stop
$0 start
echo
;;

*)
echo "Usage: httpd [ start | stop | restart ]"
exit 1
esac
exit 0

Ahora que se tiene el script, deberán colocarlo en el directorio /etc/init.d

$ cp httpd /etc/init.d/

Ahora ejecuten lo siguiente:

$ cd /etc/init.d
$ chmod 755 httpd
$ update-rc.d httpd defaults

Con esto el script se ejecutará apache cada vez que se inicie la máquina.

Con esto finalizamos la instalación de apache, pero como punto extra, pondré aquí cómo habilitar un directorio de nuestra cuenta de usuario para poder poner nuestras páginas y verlas en el navegador.

En este caso, yo habilitaré el directorio htdocs dentro del HOME de mi usuario, entonces para ésto usaré la ruta /home/javoaxian/htdocs.
Como usuario root abriremos el archivo /usr/local/apache/conf/httpd.conf

$ nano /usr/local/apache/conf/httpd.conf

Buscaremos la sección del módulo de alias

<IfModule alias_module>

En esta sección, buscaremos el siguiente párrafo:

    # If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.

Abajo de este párrafo, agregaremos las siguientes líneas para que quede de la siguiente manera:

    # If you include a trailing / on /webpath then the server will
# require it to be present in the URL. You will also likely
# need to provide a <Directory> section to allow access to
# the filesystem path.

Alias /javoaxian "/home/javoaxian/htdocs"
<Directory /home/javoaxian/htdocs>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

Recuerden cambiar la ruta /home/javoaxian/htdocs a la ruta del directorio en su HOME que vayan a usar, y cambiar el alias que van a usar, que como podrán ver en la línea Alias /javoaxian "/home/javoaxian/htdocs" yo estoy usando el alias javoaxian.

Ahora guardamos el archivo y salimos de él. Posteriormente para que surtan efecto estos cambios, deberemos reiniciar apache en caso de estar activo y sino, en el momento que lo activemos deberán verse los cambios que hicimos.

Para reinicar el servidor de apache detendremos apache:

$ /usr/local/apache/bin/apachectl stop

Y ahora iniciamos apache:

$ /usr/local/apache/bin/apachectl start

Ha quedado configurado nuestro alias, ahora con nuestra cuenta de usuario crearemos el directorio htdocs dentro de nuestro HOME.

javoaxian@darthmaul:~$ mkdir htdocs

Ahora crearemos una página de prueba llamada index.html dentro del directorio htdocs, por ejemplo:

javoaxian@darthmaul:~$ cd htdocs
javoaxian@darthmaul:~$ nano index.html

Pondremos lo siguiente dentro del archivo:

Hola apache

Guardamos los cambios y salimos del archivo.

Para comprobar que se creó nuestro alias, abriremos nuestro navegador y teclearemos la dirección: http://localhost/javoaxian/index.html

Deberá mostrarse el mensaje Hola apache. Como podrán observar en la dirección http://localhost/javoaxian/index.html aparece el alias javoaxian, por lo cual, deberán cambiar éste por el que ustedes hayan puesto.

Con ésto concluyo este post.