Nothing Special   »   [go: up one dir, main page]

Instalación Centos 7 Linode: Documentroot /Var/Www/Html/ Servername Qollanahotel - Pe Sslengine On

Download as odt, pdf, or txt
Download as odt, pdf, or txt
You are on page 1of 28

<VirtualHost 192.168.1.

200:443>
ServerAdmin contactos@creativapixel.com
DocumentRoot /var/www/html/
ServerName qollanahotel.pe
SSLEngine on
#SSLCertificateFile /etc/letsencrypt/live/qollanahotel.pe/cert.pem
#SSLCertificateKeyFile
/etc/letsencrypt/live/qollanahotel.pe/privkey.pem
#SSLCertificateChainFile
/etc/letsencrypt/live/qollanahotel.pe/fullchain.pem
</VirtualHost>

INSTALACIÓN CENTOS 7 LINODE

Verifica el nombre de host de tu Linode.


hostname
hostname -f

actualizar centos

sudo yum update

deshabilitamos selinux

nano /etc/sysconfig/selinux

cambiamos a disabled y reiniciamos

reboot

INSTALAR MULTIPLE PHP CON APACHE

yum install httpd

yum install epel-release

yum install yum-utils

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

yum install php56

yum install php72

yum install php56-php-fpm

yum install php72-php-fpm

systemctl stop php56-php-fpm


systemctl stop php72-php-fpm

semanage port -a -t http_port_t -p tcp 9072

semanage port -a -t http_port_t -p tcp 9056

sed -i 's/:9000/:9056/' /etc/opt/remi/php56/php-fpm.d/www.conf

sed -i 's/:9000/:9072/' /etc/opt/remi/php72/php-fpm.d/www.conf

systemctl start php72-php-fpm

systemctl start php56-php-fpm

cat > /var/www/cgi-bin/php56.fcgi << EOF

ingresar

#!/bin/bash

exec /bin/php56-cgi

EOF

cat > /var/www/cgi-bin/php72.fcgi << EOF

ingresar

#!/bin/bash

exec /bin/php72-cgi

EOF

sudo chmod 755 /var/www/cgi-bin/php56.fcgi

sudo chmod 755 /var/www/cgi-bin/php72.fcgi

cat > /etc/httpd/conf.d/php.conf << EOF

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

AddHandler php56-fcgi .php


Action php56-fcgi /cgi-bin/php56.fcgi

Action php72-fcgi /cgi-bin/php72.fcgi

<Directory /var/www/html/php56>

DirectoryIndex index.php

AllowOverride all

Require all granted

</Directory>

<Directory /var/www/html/php72>

DirectoryIndex index.php

AllowOverride all

Require all granted

</Directory>

EOF

mkdir -p /var/www/html/php56

mkdir -p /var/www/html/php72

echo "<?php phpinfo(); ?>" > /var/www/html/php56/index.php

echo "<?php phpinfo(); ?>" > /var/www/html/php72/index.php

echo "AddHandler php72-fcgi .php" > /var/www/html/php72/.htaccess

systemctl enable httpd

systemctl enable php56-php-fpm

systemctl enable php72-php-fpm

systemctl start httpd

systemctl start php56-php-fpm

systemctl start php72-php-fpm


firewall-cmd --permanent --add-service=http

firewall-cmd --reload

probar

http://127.0.0.1/php56

http://127.0.0.1/php72

INSTALAR NGINX

sudo yum install epel-release


sudo yum install nginx
sudo systemctl start nginx
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
sudo systemctl enable nginx

sudo nginx -v

Carpeta para webs /usr/share/nginx/html


carpetas virtuales /etc/nginx/conf.d
archivo principal /etc/nginx/nginx.conf

HABILITAR HTTPS NGINX

sudo nano /etc/nginx/nginx.conf

buscar

server_name _;

reemplazar por

server_name example.com www.example.com;

sudo systemctl reload nginx


instalamos leftencrypt

yum install certbot-nginx

certbot --nginx

programar la renovación del certificado

abrir puertos 443

INSTALAR LETSENCRYP

yum install certbot

certbot --nginx

certbot --apache

ACTUALIZAR Y AGREGAR SUBDOMINIOS

certbot --cert-name saminpms.com -d saminpms.com -d


cloud.saminpms.com -d www.saminpms.com
INSTALAR APACHE

sudo yum install httpd

ejecutar y activar apache

sudo systemctl enable httpd.service

sudo systemctl start httpd.service

hacemos una copia del archivo de configuracion de apache

cp /etc/httpd/conf/httpd.conf ~/httpd.conf.backup

verificamos los servicios aceptados por el firewalld

sudo firewall-cmd --zone=public --list-services

sudo firewall-cmd --zone=public --add-service=http –permanent

INSTALAR MARIADB 10

nano /etc/yum.repos.d/MariaDB10.repo

Y agregamos

# MariaDB 10.5 CentOS repository list - created 2021-04-03 17:37


UTC

# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

instalamos

sudo yum install MariaDB-server MariaDB-client

activar e iniciar mysql

sudo systemctl enable mariadb.service

sudo systemctl start mariadb.service

ejecutamos la configuracion segura de mysql

sudo mysql_secure_installation
HABILITAR EL CACHE DE CONSULTAS EN MYSQL

Buscar si esta habilitado

MYSQL> show variables like 'have_query_cache';

Revisamos la actual configuración

show variables like 'query_cache_%' ;

ACTUALIZAR HACIA MARIADB 10

nano /etc/yum.repos.d/MariaDB10.repo

Y agregamos

# MariaDB 10.5 CentOS repository list - created 2021-04-03 17:37


UTC

# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

desinstalamos la versión actualizar

yum remove mariadb-server mariadb mariadb-libs

eliminamos cache

yum clean all

instalamos

sudo yum install MariaDB-server MariaDB-client

systemctl start mariadb

systemctl enable mariadb

mysql_upgrade

mysql -V
INSTALAR MULTIPLE PHP CON NGINX EN UN DOMINIO

yum install epel-release

yum install yum-utils

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

yum install php56

yum install php74

yum install php56-php-fpm

yum install php74-php-fpm

yum install php56-php-gd php56-php-json php56-php-mbstring php56-


php-mysqlnd php56-php-xml php56-php-xmlrpc php56-php-opcache
php56-php-pecl-xdebug php56-php-soap php56-php-zip

yum install php74-php-gd php74-php-json php74-php-mbstring php74-


php-mysqlnd php74-php-xml php74-php-xmlrpc php74-php-opcache
php74-php-pecl-xdebug php74-php-soap php74-php-zip

yum install php7.4-php-gd php7.4-php-json php7.4-php-mbstring


php7.4-php-mysqlnd php7.4-php-xml php7.4-php-xmlrpc php7.4-php-
opcache php7.4-php-pecl-xdebug php7.4-php-soap php7.4-php-zip

systemctl stop php56-php-fpm

systemctl stop php74-php-fpm

- Buscamos los archivos php en ambas versiones

find / \( -iname "php.ini" -o -name "www.conf" \)

- Obtenemos

/opt/remi/php56/root/etc/php-fpm.d/www.conf
/opt/remi/php56/root/etc/php.ini

/etc/php.ini

/etc/opt/remi/php74/php-fpm.d/www.conf

/etc/opt/remi/php74/php.ini

Editamos para cada versión el www.conf cambiando:

user = nginx

group = nginx

listen.owner = nginx

listen.group = nginx

listen = /var/run/php7-fpm.sock // para php7

listen = /var/run/php5-fpm.sock // para php5

pm = static

pm.max_children = 12

Luego editamos para cada versión

nano /opt/remi/php56/root/etc/php-fpm.conf

y cambiamos

emergency_restart_threshold 10

emergency_restart_interval 1m

process_control_timeout 10s

(repetir para la version 7)

Luego en el php.ini de cada versión quitamos comentario y


cambiamos valor a:

cgi.fix_pathinfo=1

- creamos 1 carpeta para un dominio y 2 carpetas para cada


versión, ademas de los logs

mkdir -p /var/www/html/misitio.com/

mkdir -p /var/www/html/misitio.com/php56
mkdir -p /var/www/html/misitio.com/php74

mkdir -p /var/log/nginx/rado/misitio.com_access_log

mkdir -p /var/log/nginx/rado/misitio.com_error_log

- asignamos permisos (opcional para probar)

chown -R root:nginx /var/www/html/misitio.com/

chmod -R 755 /var/www/html/misitio.com/


chown -R root:nginx /var/log/nginx/rado/misitio.com_access_log
chmod -R 660 /var/log/nginx/rado/misitio.com_access_log

chown -R root:nginx /var/log/nginx/rado/misitio.com_error_log


chmod -R 660 /var/log/nginx/rado/misitio.com_error_log

- creamos un archivo index para cada version

echo "<?php phpinfo(); ?>" >


/var/www/html/misitio.com/php56/index.php

echo "<?php phpinfo(); ?>" > /var/www/html/misitio.com


/php74/index.php

- ahora crearemos el sitio virtual que tendra las 2 versiones de


php en un solo dominio. Si son mas de 1 dominio, se crea un .conf
para cada uno

sudo nano /etc/nginx/conf.d/misitio.com.conf

- y copiamos: (modificar variables según caso)

server {

listen 80;

server_name 172.105.155.251; #ip o dominio del sitio

root /var/www/html/rado/; #ruta principal del sitio

autoindex on;
index index.php index.html index.htm;

#access_log /var/log/nginx/rado/rado_access_log;

#error_log /var/log/nginx/rado/rado_error_log error;

location / {

try_files $uri $uri/ /index.php?$query_string;

#cache de archivos

location ~* \.(jpg|jpeg|png|gif|ico)$ {

access_log off;

log_not_found off;

expires 30d;

location ~* \.(css|js)$ {

access_log off;

log_not_found off;

expires 30d;

location ~ \.php$ {

fastcgi_pass unix:/var/run/php5-fpm.sock;
#versión php56 por defecto para todo el sitio

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;

include /etc/nginx/fastcgi_params;

fastcgi_buffer_size 128k;

fastcgi_buffers 256 16k;

fastcgi_busy_buffers_size 256k;

fastcgi_temp_file_write_size 256k;

location /sistema/quintanas { #subcarpeta que recive php56


por defecto

try_files $uri $uri/


/sistema/quintanas/index.php?/$request_uri;

location /sistema/stamaria { #subcarpeta que recive php56 por


defecto

try_files $uri $uri/


/sistema/stamaria/index.php?/$request_uri;

location /prueba2 { #subcarpeta que recibe php74

location ~ ^/prueba2/(.+\.php)$ {

fastcgi_pass unix:/var/run/php7-fpm.sock;
fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;

include /etc/nginx/fastcgi_params;

- Luego activamos, iniciamos, reinciamos los servicios

systemctl enable php56-php-fpm

systemctl start php56-php-fpm

systemctl enable php74-php-fpm

systemctl start php74-php-fpm

systemctl restart nginx

nginx -t

INSTALAR PHPMYADMIN - APACHE

rpm -iUvh http://dl.fedoraproject.org/pub/epel/epel-release-


latest-7.noarch.rpm

yum -y update

yum -y install phpmyadmin

nano /etc/httpd/conf.d/phpMyAdmin.conf
<Directory /usr/share/phpMyAdmin/>

AddDefaultCharset UTF-8

<IfModule mod_authz_core.c>

# Apache 2.4

Require all granted

# <RequireAny>

# Require ip 127.0.0.1

# Require ip ::1

# </RequireAny>

</IfModule>

<IfModule !mod_authz_core.c>

Order Deny,Allow

Deny from all

Allow from localhost ::1 127.0.0.1

# Apache 2.2

# Order Deny,Allow

# Deny from All

# Allow from 127.0.0.1

# Allow from ::1

</IfModule>

</Directory>

systemctl restart httpd

INSTALAR PHPMYADMIN – NGINX – PHP5.6

yum install epel-release


yum install phpmyadmin

ln -s /usr/share/phpMyAdmin /usr/share/nginx/html

systemctl restart nginx

systemctl restart php-fpm

sudo chgrp -R nginx /etc/phpMyAdmin

//para php56

chown -R nginx:nginx /opt/remi/php56/root/var/lib/php/session/

//para php7

chown -R nginx:nginx /var/opt/remi/php74/lib/php/session/

- Agregar el location en la configuracion del sitio virtual del


nginx

location /phpMyAdmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpMyAdmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ~* ^/phpMyAdmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|
html|xml|txt))$ {
root /usr/share/;
}
}
location /phpmyadmin {
rewrite ^/* /phpMyAdmin last;
}

INSTALAR PHPMYADMIN – NGINX – PHP7.4

wget https://files.phpmyadmin.net/phpMyAdmin/5.0.1/phpMyAdmin-
5.0.1-all-languages.tar.gz

sudo tar -zxvf phpMyAdmin-5.0.1-all-languages.tar.gz

sudo mv phpMyAdmin-5.0.1-all-languages /usr/share/phpMyAdmin

sudo cp -pr /usr/share/phpMyAdmin/config.sample.inc.php


/usr/share/phpMyAdmin/config.inc.php

EDITAR
sudo nano /usr/share/phpMyAdmin/config.inc.php

AGREGAR LA KEY QUE SE PEUDE OBTENER DE


https://phpsolved.com/phpmyadmin-blowfish-secret-generator/?
g=5cecac771c51c
$cfg['blowfish_secret'] = 'c}ol0O}jXX:Vx;}poX34Ro]zx/dvSAS2';

importamos las tablas de phpmyadmin


mysql < /usr/share/phpMyAdmin/sql/create_tables.sql -u root -p

editamos el archivo default.conf de nginx


nano /etc/nginx/conf.d/default.conf

y agregamos el location

location /phpMyAdmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpMyAdmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
fastcgi_pass unix:/var/run/php7-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}

location ~* ^/phpMyAdmin/(.+\.(jpg|jpeg|gif|css|
png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}

location /phpmyadmin {
rewrite ^/* /phpMyAdmin last;
}

INSTALAR POSTGRESQL

yum install
https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-6.9-
x86_64/pgdg-centos94-9.4-3.noarch.rpm

yum -y groupinstall "PostgreSQL Database Server 9.4 PGDG"

/usr/pgsql-9.4/bin/postgresql94-setup initdb

systemctl start postgresql-9.4


systemctl enable postgresql-9.4

firewall-cmd --zone=public --add-port=5432/tcp --permanent

modificar

nano /var/lib/pgsql/9.4/data/postgresql.conf

modificar la linea

listen_addresses = '*'

luego modificar

nano /var/lib/pgsql/9.4/data/pg_hba.conf

agregar la linea

host all all 0.0.0.0 0.0.0.0 md5

grabamos y reiniciamos

systemctl restart postgresql-9.4

ahora ingresamos

su postgres

bash-4.1> psql

postgres=# alter user postgres with password 'tuclave';

salimos

postgres=# \q

probamos conexión

bash-1.4> psql -U postgres -W

INSTALAR PHP 7.4 CENTOS 7

yum install -y http://rpms.remirepo.net/enterprise/remi-release-


7.rpm

yum install -y yum-utils

yum-config-manager --enable remi-php74


yum update -y

yum install php74 php74-php-fpm php74-php-gd php74-php-json php74-


php-mbstring php74-php-mysqlnd php74-php-xml php74-php-xmlrpc
php74-php-opcache php74-php-pecl-xdebug

yum install php56 php56-php-fpm php56-php-gd php56-php-json php56-


php-mbstring php56-php-mysqlnd php56-php-xml php56-php-xmlrpc
php56-php-opcache php56-php-pecl-xdebug php56-php-soap php56-php-
mcrypt php56-php-cli php56-php-curl php56-php-ldap php56-php-zip

--Activar lectura index.php por los htaccess

sudo a2enmod rewrite

sudo systemctl restart apache2

– también

sudo nano /etc/apache2/apache2.conf

<VirtualHost *:80>

<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

. . .
</VirtualHost>

sudo systemctl restart apache2

INSTALAR PHP 5.6 CENTOS 7

yum install https://dl.fedoraproject.org/pub/epel/epel-release-


latest-7.noarch.rpm

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

yum install yum-utils

yum-config-manager --enable remi-php56

yum install php php-mcrypt php-cli php-gd php-curl php-mysql php-


ldap php-zip php-fileinfo

php -v
INSTALAR WEBMIN

nano /etc/yum.repos.d/webmin.repo

copiar

[Webmin]

name=Webmin Distribution Neutral


#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1

luego

wget http://www.webmin.com/jcameron-key.asc

rpm --import http://www.webmin.com/jcameron-key.asc

yum check-update

yum install webmin -y

chkconfig webmin on

service webmin start

firewall-cmd --zone=public --add-port=10000/tcp --permanent

CREAR USUARIO PARA WEBMIN POR CONSOLA

adduser andres

passwd andres

editamos

nano /etc/webmin/miniserv.users

agregamos

andres:x:0:::::::0:0

nano etc/webmin/webmin.acl

agregamos

andres: acl adsl-client apache at backup-config bacula-backup bandwidth bind8 burner cfengine
change-user cluster-copy cluster-cron cluster-passwd cluster-shell cluster-software cluster-
useradmin cluster-usermin cluster-webmin cpan cron custom dfsadmin dhcpd dnsadmin dovecot
exim exports fdisk fetchmail file filter firewall frox fsdump grub heartbeat htaccess-htpasswd
idmapd inetd init inittab ipfilter ipfw ipsec jabber krb5 ldap-client ldap-server ldap-useradmin lilo
logrotate lpadmin lvm mailboxes mailcap majordomo man mon mount net nis openslp pam pap
passwd phpini postfix postgresql ppp-client pptp-client pptp-server procmail proc pserver
qmailadmin quota raid samba sarg sendmail sentry servers shell shorewall smart-status smf
software spam squid sshd status stunnel syslog syslog-ng tcpwrappers telnet time tunnel updown
useradmin usermin vgetty webalizer webminlog webmin xinetd vsftpd mysql package-updates
system-status webmincron ajaxterm

reiniciamos
service webmin restart

BUSCAR Y REEMPLAZAR CADENAS CON EL COMANDO SED

sed -i "s%http://dominio.com%https://www.dominio.com%g"
bdprueba.sql

INSTALAR FTP

yum install vsftpd


activamos
systemctl enable vsftpd.service
iniciamos
systemctl start vsftpd.service
habilitamos puertos en firewalld
firewall-cmd --permanent --add-service=ftp
reiniciamos firewall
systemctl restart firewalld.service
Luego configuramos el servidor ftp ingresando a:
nano /etc/vsftpd/vsftpd.conf
Y modificamos los siguientes parametros: (estos puntos son gracias
al blog https://rootear.com/ubuntu-linux/instalar-servidor-ftp )
listen = YES : Para que se inicie con el sistema.
anonymous_enable = NO : No permitimos que usuarios anónimos puedan
conectarse a nuestro servidor. Es por seguridad.
local_enable = YES : Para poder conectarse con los usuarios
locales del servidor donde está instalado.
write_enable = YES : Si quieres que los usuarios puedan escribir y
no sólo descargar cosas.
local_umask = 022 : Esta máscara hace que cada vez que subas un
archivo, sus permisos sean 755. Es lo más típico en servidores
FTP.
chroot_local_user = YES
chroot_list_enable = YES : Sirven para que los usuarios locales
puedan navegar por todo el árbol de directorios del servidor.
Evidentemente esto sólo queremos permitírselo a ciertos usuarios,
para ello tenemos el siguiente parámetro.
chroot_list_file = /etc/vsftpd.chroot_list : Indicamos el fichero
donde están listados los usuarios que pueden navegar hacía arriba
por los directorios del servidor, lo normal es que sea el
administrador del servidor.
Comentamos la línea:
# Listen_ipv6 = YES
Grabamos y salimos. Adicionalmente agregamos una linea mas a
nuestro archivo de configuración:
echo 'allow_writeable_chroot=YES' >> /etc/vsftpd/vsftpd.conf
Luego creamos un grupo
groupadd ftp
Creamos un shell fantasma
mkdir /bin/ftp
Editamos el shell del sistema
nano /etc/shells
y agregamos en la última linea
/bin/ftp
Grabamos y salimos. Ahora crearemos un usuario:
sudo useradd -g ftp -d /ruta_carpeta_destino -c "Nombre del
Usuario" nombre_usuario
Le asignamos una clave
sudo passwd usuarioftp
Buscamos a nuestro usuario recien creado en:
nano /etc/passwd
Copiamos (CTRL+C) la linea de nuestro usuario parecida a:
usuario:x:1004:118:Nombre del
Usuario:/ruta_carpeta_destino:/bin/ftp
Y lo pegamos con un clic en:
nano /etc/vsftpd/chroot_list
NOTA: Si chroot_list no existe debemos crearlo
Finalmente reiniciamos y listo!
systemctl restart vsftpd.service

CONFIGURAR MOODLE – NGINX

- editar en

nano /etc/opt/remi/php74/php-fpm.d/www.conf

- la linea

security.limit_extensions = .php

- agregar el sgte location en la configuración de ngnix

nano /etc/nginx/conf.d/default.conf

- agregar

location ~ ^(.+\.php)(.*)$ {

root /usr/share/nginx/html/moodle/;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/mime.types;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

CONFIGURAR DOMINIO CON VPS Y CLOUDFARE COMO DNS

1. Ingresamos a cloudflare.com y creamos una cuenta

2. Agregamos 1 sitio

3. Hacemos clic en DNS y agregamos


4. Añadir los registros

TIPO Nombre Contenido TTL Estado proxy

A dominio.com 1.1.1.1 Automático Solo DNS

A WWW 1.1.1.1 Automático Solo DNS

5. Ir al panel del dominio y agregar los dns de cloudfare (los que


se proporcionan)

ines.ns.cloudflare.com

ines.ns.cloudflare.com

6. Luego volvemos al panel del cloudfare y seleccionamos SSL/TLS:

- En la pestaña “información general” seleccionamos “Extremo”

- En la pestaña “certificados de perimetro” habilitar, usar


siempre HTTPS, Reescritura automáticas HTTPS

7. vamos ahora al vps y por consola:

sudo yum install -y epel-release

sudo yum install -y certbot

sudo yum install -y python2-cloudflare python2-certbot-dns-


cloudflare

Inicie sesión en su cuenta de Cloudflare y navegue hasta la página


Perfil .

Haga clic en el botón Ver en la línea Clave API global .

Por razones de seguridad, se le pedirá que vuelva a ingresar la


contraseña de su cuenta de Cloudflare. Ingrese y valide el
CAPTCHA. Luego haga clic en el botón Ver nuevamente. Verás tu
clave de API:

Copie esta clave. Lo usará en el siguiente paso.

Ahora regrese a su servidor para continuar con el proceso de obtención del certificado.

sudo certbot

sudo nano /etc/letsencrypt/cloudflareapi.cfg

agregamos

dns_cloudflare_email = your_cloudflare_login

dns_cloudflare_api_key = your_cloudflare_api_key

sudo chmod 600 /etc/letsencrypt/cloudflareapi.cfg


sudo certbot certonly --cert-name your_domain --dns-cloudflare --
dns-cloudflare-credentials /etc/letsencrypt/cloudflareapi.cfg --
server https://acme-v02.api.letsencrypt.org/directory -d
"*.your_domain" -d your_domain

Output

...
Plugins selected: Authenticator dns-cloudflare, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): your email

Output

-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A

Output

-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: N

Output

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/your_domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/your_domain/privkey.pem
Your cert will expire on 2018-07-31. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate


Donating to EFF: https://eff.org/donate-le

sudo ls /etc/letsencrypt/live/your_domain
Output

cert.pem chain.pem fullchain.pem privkey.pem README

El README archivo contiene información sobre estos archivos:

cat /etc/letsencrypt/live/your_domain/README

This directory contains your keys and certificates.


`privkey.pem` : the private key for your certificate.
`fullchain.pem`: the certificate file used in most server software.
`chain.pem` : used for OCSP stapling in Nginx >=1.3.7.
`cert.pem` : will break many server configurations, and should not be used
without reading further documentation (see link below).
We recommend not moving these files. For more information, see the Certbot
User Guide at https://certbot.eff.org/docs/using.html#where-are-my-certificates.

Desde aquí, puede configurar sus servidores con el certificado comodín. Por lo general, solo
necesitará dos de estos archivos: fullchain.pem y privkey.pem.

Luego procederemos a instalar los certificados en el webserver apache o nginx

antes instalamos

sudo yum install mod_ssl

abrimos puertos

sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

EN APACHE

en el httpd.conf editar o añadir

Listen 443

<VirtualHost *:443>
ServerAdmin contactos@creativapixel.com
DocumentRoot /var/www/html/
ServerName dominio.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/dominio.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/dominio.com/privkey.pem
#SSLCertificateChainFile /etc/letsencrypt/live/dominio.com/fullchain.pem
</VirtualHost>

grabamos y luego

sudo apachectl configtest


debemos tener la sgte salida

Output
. . .
Syntax OK

EN NGINX

en etcnginx/conf.d/dominio.conf

server {

listen 443 http2 ssl;

listen [::]:443 http2 ssl;

server_name dominio.com;

ssl_certificate /etc/letsencrypt/live/dominio.com/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/dominio.com/privkey.pem;

root /var/www/html;

si hay error renombrar el archivo coomo ssl.conf.bak, ese archivo debe estar
vacio o no existir

/etc/httpd/conf.d/ssl.conf

You might also like