Configuración de SSH, SFTP, Apache, MySQL y SSL en Linux: Tutorial Paso a Paso
SSH (Linux – Linux)
Instalar SSH: aptitude install ssh
Conectarse de un equipo a otro: ssh [email protected]
Introducir la contraseña de alex.
Editar la configuración: nano /etc/ssh/ssh_config
Descomentar y modificar: ForwardX11 yes
Desde PuTTY (Windows – Linux, texto): introducir la IP y el puerto 22.
SFTP (Linux – Linux)
Ejecutar: sftp usuario@IP
Subir archivo: put /RUTA/archivo /RUTA/destino
Descargar archivo: get /RUTA/archivo /RUTA/destino
WINSCP (Windows – Linux, gráfico)
Ejecutar WinSCP.exe e introducir usuario, IP y contraseña.
ProFTPD
Instalar ProFTPD: aptitude install proftpd
Reiniciar el servicio.
Konqueror
Abrir el programa y, en la barra de direcciones, escribir: sftp://usuario@IP
Conexión SSH sin introducir contraseña
Generar las claves: ssh-keygen
Copiar la clave pública: scp id_rsa.pub usuario@IP:/home/alumno/.ssh/authorized_keys
Apache
Instalar Apache2: aptitude install apache2
Activar el servicio: /etc/init.d/apache2 start
Modificar la página de inicio: nano /var/www/index.html
Añadir el contenido que se desea mostrar en la web.
Modificar el archivo de hosts: nano /etc/hosts
Vincular la IP de la máquina con una dirección web.
Enlace
Crear una carpeta en www: mkdir /var/www/enlace
Copiar el index.html en la carpeta creada: cp /var/www/index.html /var/www/enlace
Modificar el index copiado: nano /var/www/enlace/index.html
Modificar el index.html de www y añadir el enlace:
Carpeta de usuario (public_html)
Crear la carpeta en el directorio del usuario: mkdir /home/alex/public_html
Copiar el index.html dentro de la carpeta creada: cp /var/www/index.html /home/alex/public_html
Modificar el index con el contenido deseado: nano /home/alex/public_html/index.html
Activar el módulo de directorios de usuario: a2enmod userdir
Reiniciar Apache: /etc/init.d/apache2 restart
Acceder a la página desde el navegador: http://www.alex.com/~alex
Acceso web mediante contraseña
Editar el archivo de configuración: nano /etc/apache2/apache2.conf
Añadir al final:
<Directory "/home/alex/public_html">
AllowOverride All
</Directory>Crear un fichero oculto en public_html: touch .htaccess
Editar el fichero creado: nano .htaccess
AuthName "Password Requerido"
AuthType Basic
AuthUserFile /home/alex/public_html/.htpasswd
Require valid-userCrear el usuario y la contraseña: htpasswd -b -c .htpasswd alex 123456321
Sitio seguro (SSL)
Instalar OpenSSL: apt-get install openssl
Crear la carpeta ssl en Apache2: mkdir /etc/apache2/ssl
Dentro de la carpeta, generar el certificado:
cd /etc/apache2/ssl
openssl genrsa -des3 -out server.key 1024
openssl rsa -in server.key -out server.pem
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 60 -in server.csr -signkey server.key -out server.crtEditar la configuración: nano /etc/apache2/sites-available/default
Al principio del archivo:
NameVirtualHost websegura.alex.com:443Al final del archivo:
<VirtualHost websegura.alex.com:443>
ServerName websegura.alex.com
DocumentRoot /etc/apache2/ssl
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
SSLRequireSSL
</VirtualHost>Modificar el archivo de hosts añadiendo el sitio seguro: nano /etc/hosts
Activar el módulo SSL: a2enmod ssl
Reiniciar Apache2: /etc/init.d/apache2 restart
Acceder desde el navegador: https://websegura.alex.com
MySQL
Instalar MySQL: aptitude install mysql-server
Entrar en MySQL: mysql -u root -p
mysql> CREATE DATABASE `alex`;
mysql> USE `alex`;
mysql> CREATE TABLE `alex` (`dni` VARCHAR(9) NOT NULL PRIMARY KEY, `nombre` VARCHAR(50), `apellidos` VARCHAR(50), `telefono` VARCHAR(9));
mysql> INSERT INTO `alex` (`dni`, `nombre`, `apellidos`, `telefono`) VALUES ('16616000H', 'Alex', 'Jump Tek', '659136591');
mysql> SELECT * FROM `alex`;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY '123456321' WITH GRANT OPTION;Creación del script PHP
Crear una carpeta en /var/www/: mkdir /var/www/mysql
Crear el index dentro de la carpeta: nano /var/www/mysql/index.php
Instalar el módulo PHP para MySQL: aptitude install php5-mysql
Editar el archivo de configuración: nano /etc/php5/apache2/php.ini
Descomentar la línea extension=mysql.so (quitar el ; inicial).
Reiniciar Apache2 y MySQL.
Abrir el navegador en: http://www.IP/mysql/index.php
PhpMyAdmin
Instalar PhpMyAdmin: aptitude install phpmyadmin