Novell Suse Linux Enterprise Server 10, Instalar Apache Server SIN internet

Dentro de los principales productos que ofrece Novell tiene su famoso sistema SLES (Suse Linux Entrise Server) que es un completo servidor linux con un amplio catálogo de funciones para servicios profesionales de negocio. Del otro lado esta Open SUSE, pero no tiene comparación con el SLES que está enfocado al ambito profesional y no es gratuito, hay que pagar una licencia por su uso, la versión Open puede utilizarse para algo mas casero.

Pero bueno hace un par de días me asignaron la instalación del Apache Server, que claro es muy fácil hacerlo cuando tienes un gestor de paquetes como rpm, yast, yum o zipper y por supuesto si tu servidor tiene acceso a internet.

¿Pero si el servidor no tiene conexión a internet que haces?, pues descargas cada paquete con sus dependencias y los instalas a mano.

Vemamos como se realiza:

1. Descargas los paquetes de la siguiente página http://en.opensuse.org/Additional_package_repositories#Apache , incluye enlaces a los repositorios de acuerdo a tu versión (incluyendo la SLES ) la arquitectura del server es de 64 bits (x86_64), tu puedes seleccionar el que te corresponde.

Estos son los paquetes que necesitamos, ojo están en Apache, y NO en Apache Modules:

  • apache2-2.2.22-59.1.x86_64.rpm
  • apache2-debuginfo-2.2.22-59.1.x86_64.rpm
  • apache2-doc-2.2.22-59.1.x86_64.rpm
  • apache2-event-2.2.22-59.1.x86_64.rpm
  • apache2-itk-2.2.22-59.1.x86_64.rpm
  • apache2-prefork-2.2.22-59.1.x86_64.rpm
  • apache2-utils-2.2.22-59.1.x86_64.rpm
  • apache2-worker-2.2.22-59.1.x86_64.rpm
  • libapr-util1-1.4.1-23.1.x86_64.rpm
  • libapr-util1-debuginfo-1.4.1-23.1.x86_64.rpm
  • libapr1-1.4.6-32.1.x86_64.rpm
  • libapr1-debuginfo-1.4.6-32.1.x86_64.rpm
  • cronolog-1.7.0-10.1.x86_64.rpm

2. Instalación, lo hacemos con el rpm en un solo comando, porque los otros gestores necesitan comprobar el índice en internet:

rpm -ivh apache2-2.2.22-59.1.x86_64.rpm apache2-debuginfo-2.2.22-59.1.x86_64.rpm apache2-doc-2.2.22-59.1.x86_64.rpm apache2-event-2.2.22-59.1.x86_64.rpm apache2-itk-2.2.22-59.1.x86_64.rpm apache2-prefork-2.2.22-59.1.x86_64.rpm apache2-utils-2.2.22-59.1.x86_64.rpm apache2-worker-2.2.22-59.1.x86_64.rpm libapr-util1-1.4.1-23.1.x86_64.rpm libapr-util1-debuginfo-1.4.1-23.1.x86_64.rpm libapr1-1.4.6-32.1.x86_64.rpm libapr1-debuginfo-1.4.6-32.1.x86_64.rpm cronolog-1.7.0-10.1.x86_64.rpm

3. Crear Usuario y Grupo, para la ejecución del apache:

useradd -G apache --system apache

4. Configuración, ahora hay que crear nuestro archivo de configuración (httpd.conf), es importante mencionar que por defecto el apache tiene un archivo que es /etc/apache2/http.conf y NO debemos modificarlo, la documentación dice que debemos hacer lo siguiente:

# Note: instead of adding your own configuration here, consider 
#       adding it in your own file (/etc/apache2/httpd.conf.local)
#       putting its name into APACHE_CONF_INCLUDE_FILES in 
#       /etc/sysconfig/apache2 -- this will make system updates 
#       easier :)

Así que vamos a seguir las instricciones y crear nuestro archivo por separado:

vi /etc/apache2/httpd.conf.local

Y colocamos el siguiente contenido:

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"

User apache
Group apache

#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE!  If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation
# (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>);
# you will save yourself a lot of trouble.
#
# Do NOT add a slash at the end of the directory path.
#
ServerRoot "/var/www"

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/html">

  #
  # This may also be "None", "All", or any combination of "Indexes",
  # "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
  #
  # Note that "MultiViews" must be named *explicitly* --- "Options All"
  # doesn't give it to you.
  #
  # Note: If "Indexes" is specified, the server will automatically
  #       generate directory listings for any URL request which maps to
  #       a directory that doesn't include any of the DirectoryIndex
  #       files, such as index.html.
  #
    Options All
  #
  # This controls which options the .htaccess files in directories can
  # override. Can also be "All", or any combination of "Options", "FileInfo", 
  # "AuthConfig", and "Limit"
  #
    AllowOverride None

  #
  # Controls who can get stuff from this server.
  #
    Order allow,deny
    Allow from all
</Directory>

Y editamos el archivo “/etc/sysconfig/apache2“:

vi /etc/sysconfig/apache2

Buscas la linea que dice APACHE_CONF_INCLUDE_FILES y escribes el nombre de nuestro archivo de configuración :

# Here you can name files, separated by spaces, that should be Include'd from
# httpd.conf.
#
# This allows you to add e.g. VirtualHost statements without touching
# /etc/apache2/httpd.conf itself, which makes upgrading easier.
#
APACHE_CONF_INCLUDE_FILES="/etc/apache2/httpd.conf.local"

4. Contenedor, creamos la carpeta que va a ser el contenedor de los archivos “/var/www/html” y le asignamos los permisos correspondientes:

mkdir /var/www/html
chown apache.apache -R  /var/www/html

5. Crear página, generamos una página de prueba llamada “index.html

vi /var/www/html/index.html

Con el siguiente contenido:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
    <head>
      <title>TEST apache</title>
    </head>
    <body>
      <h1>hi! :)</h1>
    </body>
</html>

6. Pruebas,  iniciamos el servicio:

/etc/init.d/apache2 start
Apache is already running (/var/run/httpd2.pid)                       done

Ahora solo hay que abrir un browser y escribir la dirección http://localhost/index.html y debe mostrar la página.

Pero como estoy en el servidor y no tengo ambiente gráfico puedes probarlo así:

wget http://localhost/index.html
--10:16:40--  http://localhost/index.html
           => `index.html'
Resolving localhost... 127.0.0.1, ::1
Connecting to localhost|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 308 [text/html]

100%[=====================================>] 308           --.--K/s             

10:16:40 (73.43 MB/s) - `index.html' saved [308/308]

Como se ve descargo nuestra página, esto significa que ya esta funcionando, así que hasta aquí ya tenemos un servidor web para páginas html funcionando😀.

Nota: Ojo si obtienes errores como el 404 Not found o el 403 Forbidden, es porque estan mal tus directorios o no tienes los permisos para accesar a ellos.

7. Crear proceso para el auto arranque,  para que nuestro servidor inicie con el sistema operativo.

chkconfig --add apache2 --level 35
apache2                   0:off  1:off  2:off  3:on   4:off  5:on   6:off

Como paso opcional, yo necesito crear un proxy server con un certificado SSL, esto ess muy común para exponer varias web por medio de un sitio así que de una vez hago la instalación de los paquetes, si tu lo deseas puedes instalarlos también:

rpm -ivh apache2-mod_sslcrl-0.13-2.2.x86_64.rpm apache2-mod_jk-1.2.30-31.1.x86_64.rpm apache2-mod_proxy_html-3.1.2-2.12.x86_64.rpm

Bueno espero escribir en unos días como configurar el servidor proxy.

Saludos!

Referencias

2 comentarios en “Novell Suse Linux Enterprise Server 10, Instalar Apache Server SIN internet

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s