Let’s Encrypt Linux – SSL gratis para tu sitio

Instalando el Certificado SSL Usando Let's Encrypt

git clone https://github.com/letsencrypt/letsencrypt 

Entrar a la carpeta

cd letsencrypt 

Instalar certificado para los dominios

./letsencrypt-auto --apache -d dominio.com -d www.dominio.com 

Renovar certificados manual

letsencrypt renew --dry-run 

Renovación automática

letsencrypt --apache 

o si quieres hacer con cron, se ejecutará diario a las 1am

Editar el archivo cron

crontab -e 

Al final del archivo agregar la fecha en la cuál se ejecutará.

0 1 * * * cd /carpeta_letsencrypt && ./certbot-auto renew && /etc/init.d/apache2 restart 

Verificar cron

crontab -l 

Para eliminar el certificado de un dominio

./letsencrypt-auto revoke --cert-name dominio.com 

¿Cómo usar xRDP para conexión remota en Ubuntu?

Instalamos los servicios necesarios

sudo apt-get update
sudo apt-get install xrdp
sudo apt-get install xfce4
# Install XFCE4 terminal (way better than xterm)
sudo apt-get install xfce4-terminal

# Install icon sets
sudo apt-get install gnome-icon-theme-full tango-icon-theme
echo xfce4-session >~/.xsession

Editamos el archivo startwm.sh

sudo nano /etc/xrdp/startwm.sh

El archivo debe ser igual a la configuración de abajo.

#!/bin/sh

if [ -r /etc/default/locale ]; then
  . /etc/default/locale
  export LANG LANGUAGE
fi

startxfce4

Reiniciamos el servicio xRDP

sudo service xrdp restart

Configuramos el Firewall, para aceptar todas las conexiones en el puerto 3389

sudo ufw allow 3389

Ingresamos al escritorio remoto de Windows

Ingresamos el usuario y contraseña de Ubuntu

Ya podemos acceder de forma remota a Ubuntu

¿Cómo actualizar PHP en Ubuntu 14?

Para hacer más fácil la instalación ejecutar los siguientes comandos

sudo mkdir -p /opt/php-7.3
sudo mkdir /usr/local/src/php7.3-build
cd /usr/local/src/php7.3-build
sudo wget http://de2.php.net/get/php-7.3.11.tar.bz2/from/this/mirror -O php-7.3.11.tar.bz2
sudo tar jxf php-7.3.11.tar.bz2

cd php-7.3.11/

##por si necesitas personalizar la instalación
##sudo ./configure --prefix=/opt/php-7.3 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm#

sudo apt-get install libqt4-dev
sudo apt-get install libjack0
sudo apt-get install libjack-dev
sudo apt-get install libasound2-dev
sudo apt-get install libsndfile1-dev

sudo ./configure
sudo make
sudo make install

##reiniciar Apapache2
sudo service apache2 restart

## sudo aptitude install apache2 apache2-suexec libapache2-mod-fcgid php5-cgi

Apache2 + ubuntu – configurar un subdominio

Resgitradora

Primero en tu registradora edita el ns record de tu domino para apuntarlo al IP del nuevo servidor.

subdominio type A ip 100.100.100.100

Ubuntu

Ingresar por el terminal al directorio del servidor Apache

#ingresar al directorio
cd /etc/apache2/sites-available/

#editar el archivo 000-deafult.conf
sudo nano 000-default.conf

Agregar al archivo el siguiente código

<VirtualHost *:80>
    DocumentRoot /var/www/subdominio
    ServerName subdominio.dominio.com
<Directory />
        Options FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
<Directory /var/www/subdominio>
	Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
	Order allow,deny	
	allow from all
</Directory>
 
    ErrorLog ${APACHE_LOG_DIR}/subdominio.error.log
    CustomLog ${APACHE_LOG_DIR}/subdominio.access.log combined
</VirtualHost>

Reiniciar el servidor Apache

sudo service apache2 restart

¿Cómo instalar certificado SSL en Apache y Ubuntu?

Comprar un certificado

En el servidor de hosting, debes generar los archivos .csr y .key con el siguiente comando mediante consola.

 
openssl req -new -newkey rsa:2048 -nodes -keyout tu_dominio.key -out tu_dominio.csr

Cuando ejecutes este comando la consola te pedirá que ingreses información sobre tu dominio:

 
Country Name (2 letter code) [AU]:PE
State or Province Name (full name) [Some-State]:Lima
Locality Name (eg, city) []:Lima
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Codificalo SA
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:*.codificalo.com
Email Address []:info@codificalo.com

Después de ingresar toda la información, se generarán los archivos tu_dominio.csr y tu_dominio.key.

Ahora para adquirir tu certificado puedes hacerlos desde ssls.com o desde la web que prefieras.

Te pedirán que subas tu archivo tu_dominio.csr, a partir de este se generarán 2 archivos .crt, los cuales son los certificados que debes instalar en el Apache.

Nota: si solo tienes1 crt, el que te faltaría seria el intermedio.crt, ese lo puedes conseguir en internet buscando en google, por ejemplo “COMODO RSA Domain intermediate”

Instalar el certificado

Una vez descargado los certificados, subimos los archivos al servidor en la ruta que prefieras de fácil acceso, para nuestro ejemplo utilizaremos la ruta:

etc/apache2/ssl/tu_dominio.crt
etc/apache2/ssl/intermedio.crt

En esta misma ruta subir el archivo tu_dominio.key

etc/apache2/ssl/tu_dominio.key

Ahora configuraremos el Apache abrimos el archivo /etc/apache2/sites-available/default-ssl.conf

Modificamos la siguientes lineas con las rutas de nuestros archivos.

 
SSLCertificateFile      /etc/apache2/ssl/tu_dominio.crt
SSLCertificateKeyFile   /etc/apache2/ssl/tu_dominio.key
SSLCertificateChainFile /etc/apache2/ssl/intermedio.crt

Verificamos si no hay error de sintasi en los cambiso que hicimos.

 
sudo apache2ctl configtest
Syntax OK
Reiniciamos el Apache por consola, con el siguiente comando:
 
sudo service apache2 restart

El Apache iniciará y el web ya tendrá instalado el certificado.

Blog

Nota adicional:

Si el archivo tu_dominio.key tiene contraseña y queremos quitarlo para que cada vez que reiniciemos el apache no nos pida la contraseña, utilizaremos este comando para removerlo.

 
openssl rsa -in tu_dominio.key -out tu_dominio_sin_pass.key

Este comando generará una copia de tu_dominio.key pero sin contraseña, que podemos utilizar sin problema como key en la configuración del apache.