Servidor Web Debian

Para instalar y configurar un Debian, hemos usado un máquina virtual, creada con la aplicación VMWare Server 1.0.7. Descargamos una imagen ISO de Debian de la Web Oficial de distribución. Queremos hacer una instalación típica sin interfaz gráfica. Haremos un Servior Web con Apache2+SSL+PHP5+MySQL5.
Creamos una máquina virtual:
File > New > Virtual Machine.

Se abre una ventana y seguimos estos pasos:
Siguiente > Typical y siguiente > Elegimos Sistema Operativo, versión y siguiente > Elegimos nombre de la máquina virtual, localización y siguiente > Use Bridged Networking y siguiente > Definimos el Disk Size necesario y finalizamos.

Abrimos con doble clic el CD-ROM (IDE 1:0) de nuestra máquina y montamos la imagen ISO que hemos descargado previamente. Después iniciamos la máquina con el botón verde play. Nos pedirá que sigamos los pasos de instalación, idioma español e instalación básica de Debian sin interfaz gráfica. Configuramos el superuser o administrador root con la contraseña que queramos, y otra cuenta por defecto que llamaremos user, con contraseña user. La configuración de red estará en DHCP después la cambiaremos.

Nos logamos como root y configuramos la red. Tendremos esta configuración por defecto:
debian:~# vi /etc/network/interfaces
allow-hotplug eth0
iface eth0 inet DHCP

Pulsamos la tecla i para poder insertar, y editamos: (pondremos la ip, la mascara de subred y la puerta de enlace que queramos)
debian:~# vi /etc/network/interfaces
allow-hotplug eth0
iface eth0 inet static
address 111.0.0.0
netmask 255.255.0.0
gateway 111.0.0.0

Después pulsamos Esc > escribimos :wq > Enter para guardar los cambios.

Ahora comprobamos que tenemos acceso a la red y a Internet.
debian:~# ping google.es

Ahora actualizamos con estas ordenes:
debian:~# apt-get update
debian:~# apt-get upgrade

Para poder trabajar cómodamente desde nuestro PC sin necesidad de estar físicamente en el VMWare introducimos la orden:
debian:~# open ssh

En nuestro Pc tendremos que tener instalada la herramienta Secure Shell Client para poder acceder remotamente a la consola de nuestro Debian. Este programa nos proporciona una consola más sencilla de utilizar, incorporando las operaciones de copy y paste, muy útiles. Una vez hecho esto, nos vamos al SSH Secure Shell y conectamos a la máquina por la IP, después lo añadimos a profiles para poder conectarnos más rápido. Desde esta consola configuramos nuestro Debian.

Ahora queremos instalar una serie de paquetes para hacer de nuestro Debian un servidor Web. Instalaremos Apache2+SSL+PHP5+MySQL5.
debian:~# apt-get install apache2
debian:~# apt-get install openssl ssl-cert
debian:~# apt-get install libapache2-mod-php5 php5-cli php5-common php5-cgi

Ahora tenemos que generar los certificados para poder acceder con https:\\
debian:~# openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
debian:~# chmod 600 /etc/apache2/apache.pem

Ahora necesitamos modificar los puertos para poder acceder:
debian:~# vi /etc/apache2/ports.conf
Listen 80
Añadimos también
Listen 443

Ahora habilitamos el servicio SSL:
debian:~# a2enmod ssl
debian:~# /etc/init.d/apache2 force-reload
debian:~# /etc/init.d/apache2 restart

Configuramos el certificado de VirtualHost:
debian:~# vi /etc/apache2/sites-available/default

y lo editamos de esta forma:

ServerAdmin webmaster@localhost
DocumentRoot /var/www/

Options FollowSymLinks
AllowOverride None

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
RedirectMatch ^/$ /apache2-default/

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128

ServerAdmin webmaster@localhost
DocumentRoot /var/www/

Options FollowSymLinks
AllowOverride None

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
RedirectMatch ^/$ /apache2-default/

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128

SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
SSLCertificateKeyFile /etc/apache2/apache.pem


Reiniciamos apache para que se apliquen los cambios.
debian:~# /etc/init.d/apache2 reload

Instalamos MySQL:
debian:~# apt-get install mysql-server
debian:~# /usr/bin/mysqladmin -u root password 'root'
debian:~# apt-get install php5-mysql

Instalamos PHPMyAdmin:
debian:~# apt-get install phpmyadmin
Reading Package Lists... Done
Building Dependency Tree... Done
Suggested packages:
php4-gd php5-gd
The following NEW packages will be installed:
phpmyadmin
0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded.
Need to get 0B/2768kB of archives.
After unpacking 10.7MB of additional disk space will be used.
Preconfiguring packages ...
Selecting previously deselected package phpmyadmin.
(Reading database ... 13623 files and directories currently installed.)
Unpacking phpmyadmin (from .../phpmyadmin_4%3a2.6.2-3sarge1_all.deb) ...
Setting up phpmyadmin (2.6.2-3sarge1) ...

Podemos acceder escribiendo en el explorador http://dirección IP/phpmyadmin/. Pero no está en modo seguro, para ello necesitamos direccionarlo a https://
debian:~# a2enmod rewrite

Ahora editamos el archivo /etc/apache2/sites-available/default:
debian:~# vi /etc/apache2/sites-available/default

Insertamos este código:
...


RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^/phpmyadmin(.*)$ https://%{SERVER_NAME}/phpmyadmin$1 [L,R]
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 2

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

...

debian:~# /etc/init.d/apache2 restart

Instalamos servidor ftp: (
debian:~# apt-get install ftpd

Recursos utilizados

No hay comentarios:

Publicar un comentario