Bloquear dominio para que no envíe mail usando SMTP exim

How to Disable a Domain From Sending Email

You can easily disable inbound email for a single domain simply by switching off the MX records and/or removing the domain from /etc/localdomains.  However, disabling a domain from sending email off of your server is slightly more complicated.  Even if you manage to disable the domain of an account from sending out, you still have to deal with the fact that the cPanel user itself can send email.  This user has the address of user@serverhostname, and is the default sender for scripts that utilize sendmail.  In other words, any PHP or Perl script that sends email off of your server without using proper SMTP authentication will send mail as the cPanel user.

Disable Email from Specific Domains

First, create a file called /etc/blockedsenderdomains, and add the list of domains to block email from to this file, one line at a time.
Then go into WHM > Exim Configuration Manager > Advanced Editor, and add the following to “Section: CONFIG” part:

domainlist blocked_domains = lsearch;/etc/blockedsenderdomains

In the ROUTERSTART section, add:

reject_domains:
 driver = redirect
 domains = +blocked_domains
 allow_fail
 data = :fail: Connection rejected: SPAM source $domain is manually blacklisted.

Then save the file.


Primero hacer 2do paso y luego editar con nano /etc/exim.conf  el 1er paso porque en cpanel no te deja agregar linas de config, es una verga.

 

Problemas html acentos y eñes: charset UTF-8 / ISO-8859-1

Problemas html acentos y eñes: charset UTF-8 / ISO-8859-1

La codificación de las páginas web (charset) es un problema recurrente para los webmasters, porque:

  • Depende del editor en que se haya hecho la web, si en el trabajamos por defecto en UTF-8 o ISO-8859-1. Si el archivo original estaba escrito en ISO-8859-1 y lo editamos en UTF-8, veremos los caracteres especiales mal codificados. Si guardamos ese archivo tal cual, estaremos corrompiendo la codificación original (se guardará mal, con UTF-8). Y viceversa.
  • Depende de la configuración del Apache.
  • Depende de si hay un archivo oculto .htaccess en el directorio raíz que sirve nuestra web (httpdocs, public_html o similar)
  • Depende de si se especifica en las etiquetas META de los HTML resultantes.
  • Depende de si se especifica en la cabecera de un archivo PHP.
  • Depende del charset elegido en la base de datos (si se usa una base de datos para mostrar contenidos con un CMS, tal como Joomla, Drupal, phpNuke, o una aplicación propia que sea dinámica).

Por lo general, si nunca tienen que aparecer acentos o eñes en nuestra web, nos es indiferente la codificación (aunque pueden haber otros símbolos que nos fastidien). Aunque si nuestra web está en español, lo más normal es que coloquemos acentos y eñes. Para ello, el estándar HTML está preparado para colocar todos los símbolos y acentos que nos sean necesarios, codificándolos. Así, para los acentos y eñes, deberíamos colocar:

á -> á
é -> é
í -> í
ó -> ó
ú -> ú
ñ -> ñ

Variantes valenciano-catalán-balear para acentos abiertos:

à -> à
è -> è
ò -> ò

De este modo, veremos todos caracteres correctamente, independientemente del charset.

Sin embargo, puede ser tedioso para ciertos contenidos tener que ir traduciendo nosotros manualmente los caracteres. Es en estos casos donde vale la pena perder un poco de tiempo para ajustar las distintas configuraciones.


Primero, habría que determinar en nuestra web con las etiquetas META que nuestra web debe servirse en la codificación que nosotros elijamos. O sea, dentro de :

<meta http-equiv=»Content-Type» content=»text/html; charset=UTF-8″ />

o bien

<meta http-equiv=»Content-Type» content=»text/html; charset=ISO-8859-1″ />


Si seguimos con el problema, Segundo, ver si por defecto tiene el servidor (apache) algún charset predefinido. Si es así, se ignorarán las etiquetas META del html.
En un servidor Linux, el archivo charset está en:

/etc/apache2/conf.d/charset

también puede cambiarse en el archivo httpd.conf

Debería aparecer sólo «AddDefaultCharset off», para que haga caso de las etiquetas META (lo ideal). Podemos poner, por ejemplo, «AddDefaultCharset UTF-8», y así apache siempre emitirá las webs en UTF-8. El problema es que esto afecta a todo el servidor, y si luego tenemos alguna web que vaya a usar otra codificación tendremos un problema. Por eso, lo ideal es que esté a Off y que cada web defina cómo quiere mostrarse.

Pero puede darse el caso de que nosotros no seamos los administradores del servidor y sólo tengamos un Plesk, y no podamos acceder al archivo charset por encontrarse fuera de nuestro rango de permisos. Podemos, entonces, pedirle al administrador del servidor que coloque el parámetro anterior a Off, o bien…


Alternativa 1: Colocar un archivo .htaccess en el directorio raíz de la web
Los .htaccess son archivos de configuración que sobreescriben algunas configuraciones del apache sólo para determinados casos. Hay que tener en cuenta que estos archivos:

  • Pueden funcionar total o parcialmente, dependiendo de la configuración del servidor (cuestión de seguridad).
  • Son archivos ocultos, por lo que para verlos tenéis que tener habilitada la función «ver archivos ocultos» en vuestro programa que acceda por ftp.

Este archivo .htaccess debería tener al menos una línea de este tipo

AddDefaultCharset utf-8


Alternativa 2: Colocar una directiva en php que fuerce a mostrarse en la codificación deseada
Esto es, sólo sirve si el archivo tiene extensión «.php». Recordemos que el html y el php pueden convivir en el mismo fichero, con lo que si renombramos un «.html» a «.php», el resutlado es exactamente el mismo (si tenemos instalado el php en nuestro servidor, claro está).
En la primera línea del archivo que deseemos indicarle la codificación (o lo antes posible) deberíais colocar la siguiente cabecera:

<?php header(‘Content-Type: text/html; charset=UTF-8’); ?>


Para todos los casos donde funcione el comando «AddCharset»
– Puede especificarse el charset según la extensión del archivo. Si, por ejemplo, queremos que los «.php» sean UTF-8 y los «.html» sean ISO, podemos colocar estas dos instrucciones seguidas:

AddCharset UTF-8 .php
AddCharset ISO-8859-1 .html

Script en Bash para Backup SQL con un Dump y enviarlo al Mail.

Backup en Bash

#!/bin/sh
timestamp=$(date ‘+%d-%m-%Y@%H:%M’)
mysqldump –user=»USUARIO» –password=»CLAVE» –all-databases | gzip > /home/DIRECTORIO/basesdedatosRentasyWeb_$timestamp.sql.gz
mutt -s «Backup Diario DE USUARIO | $timestamp» -a /home/DIRECTORIO/basesdedatosRentasyWeb_$timestamp.sql.gz -c CORREO-DE-DESTINO@CORREO.COM < /root/mensajebackup.txt rm /home/DIRECTORIO/basesdedatosRentasyWeb_$timestamp.sql.gz echo "Backup hecho, enviado y borrado" #exit 0

RSS AutoPilot

Si no funciona el Web Scraper, es porque en el php.ini no está la opcion «allow_url_fopen»

Hi,
The plugin requires allow_url_fopen to be enabled in order to download content, we even didn’t think somebody may disable it.

Xcode7 con iOS10 (con un enlace simbólico)

Installing on iOS 10 with Xcode 7

Like many developers, I was anxious to install iOS 10 on my devices. This summer, I went all in and installed iOS 10 beta on my primary iPhone, iPad, as well as watchOS 3 beta on my Apple Watch. I have had remarkably few issues, but one of the major problems was installing apps that I still needed to work on that needed to be shipped before iOS 10 came out.

The problem

By default, you cannot install an app from Xcode 7 on a device running iOS 10. You will see an error that reads, “Could not find Developer Disk Image” as shown below.

Xcode 7 iOS 10 error

The problem is that Xcode 7 does not have support for iOS 10. Using Terminal, you can easily see which operating systems Xcode is able to support.

$ cd /Applications/Xcode.app/Content/Developer/Platforms/iPhoneOS.platform/DeviceSupport
$ ls

Xcode 7 device support

The solution

In order for Xcode 7 to install apps on your device running iOS 10, you first need to make sure that it works with Xcode 8. Download the beta, and open a project with your device connected. Typically, you will need to wait for the symbol files to install, and then you should be able to install. In some cases, restarting your device is necessary, or even resetting the network settings (Settings -> General -> Reset -> Reset Network Settings).

Once that it working, you can look in the Xcode beta device support folder to find iOS 10 support.

Xcode beta device support

There are a couple options to give Xcode 7 the information that it needs. You could copy over the folder containing 10.0 support, but the simplest option is to create asymbolic link using the ln command in Terminal (documentation). As you type this out in Terminal, be sure to use Tab to help autocomplete the directory names in order to avoid typos. And naturally, if either Xcode app is in a different place, or the exact version of iOS 10 is different, you will make adjustments for your environment.

$ ln -s
   /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A5339a\)/
   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0

ESTE ES EL COMANDO QUE USE EN EL MAC MINI:

ln -s /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0\ \(14A345\)/ /Applications/Xcode7.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/10.0

 

Xcode device support with link

After adding the link, you will need to quit and restart Xcode 7. Connect your iOS 10 device, and you should now be able to install and run your app!

Xcode 7 running on iOS 10

Cambiar IP de salida de Mails en EXIM: /etc/mailips

Editing /etc/mailips

This file controls the IP address from which each domain should send mail. You will, as in the example above, need to create and open the/etc/mailips file to edit with your preferred text editor. You will need to configure this file in the following way:

1
2
3
4
5
example.com: 192.168.0.2
sub.example.com: 192.168.0.2
example.net: 192.168.0.3
addon.example.net: 192.168.0.3
*: 192.168.0.1

Note:

In the example above, the asterisk (*) entry will be used to direct outbound mail for domains without entries within this file. In this case, this should be your server’s main shared IP address. You can set it to another IP address if you ensure that the asterisk entry in /etc/mailhelo has the appropriate domain name.

COMPRIMIR Y DESCOMPRIMIR .GZ, .TAR.GZ, Y .ZIP POR LINEA DE COMANDOS EN LINUX

Guía de autoayuda, siempre me olvido estos comandos…

Archivos .tar.gz:
Comprimir: tar -czvf empaquetado.tar.gz /carpeta/a/empaquetar/
Descomprimir: tar -xzvf archivo.tar.gz

por ejemplo: tar -comando nombre_comprimido nombre_dir

Archivos .tar:
Empaquetar: tar -cvf paquete.tar /dir/a/comprimir/
Desempaquetar: tar -xvf paquete.tar

Archivos .gz:
Comprimir: gzip -9 index.php
Descomprimir: gzip -d index.php.gz

Archivos .zip:
Comprimir: zip archivo.zip carpeta
Descomprimir: unzip archivo.zip

Tutorial “chmod”, permisos en GNU/Linux

Tutorial “chmod”, permisos en GNU/Linux

Hay tres tipos de permisos para archivos:

  • Permiso de lectura (read)
  • Permiso de escritura (write)
  • Permiso de ejecución (execute)

Los permisos son representados mediante sus respectivas iniciales y en el caso de Execute con una x

  • Read: r
  • Write: w
  • Execute: x

En GNU/Linux cada archivo y directorio tiene tres combinaciones de permisos

  • Combinación de permisos para el propietario
  • Combinación de permisos para el grupo al que pertenece el propietario
  • Combinación de permisos para el resto de usuarios

Practiquemos:

$ sudo chmod g+rwx archivo

La g indica grupo, el símbolo + indica que agregaremos permisos, rwx son los permisos a ser asignados

Ahora agregaremos todos los permisos al propietario y al grupo del propietario, pero quitamos todos los permisos de los demás usuarios

$ sudo chmod u+rwx,g+rwx,o-rwx archivo

El signo quita permisos, el signo + agrega, u es para el usuario propietario del archivo, g para el grupo y o para otros usuarios.

Agreguemos todos los permisos a todos los usuarios

$ sudo chmod ugo+rwx archivo

Asignemos permiso de lectura y escritura a los otros usuarios

$ sudo chmod o+rw archivo

También se puede optar por asignar permisos en octal:

$ sudo chmod 777 archivo

El primer 7 es para el usuario propietario, el segundo es para el grupo del usuario propietario y el último 7 es para los otros usuarios.

7 = lectura, escritura, ejecución
6 = lectura, escritura
5 = lectura, ejecución
4 = lectura
3 = escritura, ejecución
2 = escritura
1 = ejecución
0 = sin permisos

Es más difícil agregar o quitar permisos con el sistema octal, pero igual de válido.

Si es un directorio y no un archivo?

$ sudo chmod ugo+rwx -R /directorio

La -R hace recursivo al comando y afectará a todos los archivos y directorios contenidos dentro del directorio.

También se puede agregar o quitar permisos al usuario propietario, al grupo y a los otros solo indicando + ó – seguido de los permisos

$ sudo chmod +rwx archivo

$ sudo chmod +x archivo

$ sudo chmod -w archivo

Para ver los permisos de un archivo o directorio

$ ls -l