Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Linux for Dummies gratis por tiempo limitado

La serie for dummies siempre se ha caracterizado por ser como su titulo lo dice, para tontos, o mejor, personas que no entienden ni un ápice de un tema. Hoy me en encontré que el titulo Linux for Dummies 9na edición (libro en ingles) esta para descarga en formato PDF gratis por tiempo limitado por lo que me apuro a publicarlo a mis lectores. Este es un titulo que normalmente cuesta 22.99 USD en Amazon y que ahora lo puedes descargar desde este link solo a cambio de tu dirección de email. Si, es claro que con esto aceptas estar en su base de datos para envió de publicidad pero creo que es un pequeño precio a pagar.
Ya lo haz leído, lo recomiendas? Que tal te pareció?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Comunicate de forma segura por medio de Tox

DriveMeca Tox logo
Noticia de casi todos los días en internet es el hacking de alguna empresa o de algún amigo. Aun así, somos una sociedad interconectada que pide y necesita comunicarse de forma segura. Hoy te voy a ayudar mostrándote como instalar y configurar Tox sobre Linux Ubuntu paso a paso. Tox es una aplicación opensource que te permite de forma cifrada hacer vídeo llamadas, chatear o trasferir/recibir archivos y ya dije que es gratis, cierto? (Opensource).
Mientras otras aplicaciones te piden un pago para activar mas funcionalidades, con Tox lo obtienes totalmente gratis y cada día es mejor al tener una activa comunidad desarrollándolo. Veamos entonces como instalarlo y configurarlo.

-Creamos la conf de repositorio en Ubuntu y actualizamos
sudo wget -qO - https://repo.tox.im/tox-apt.sh | bash

-Instalamos Tox
sudo apt-get install uTox qTox Toxic

-Ejecutamos qTox desde Unity
DriveMeca instalando Tox en Ubuntu Linux paso a paso

-Verificamos la configuración de Tox. Cada sección esta organizada en una pestaña, nos podemos cambiar por medio de las pestañas inferiores
DriveMeca instalando Tox en Ubuntu Linux paso a paso

-Importante verificar funcione nuestro audio y vídeo con la mejor resolución posible
DriveMeca instalando Tox en Ubuntu Linux paso a paso

-Dándole click al + inferior podemos agregar usuarios Tox con los que interactuar (mi ID es 1E59BF164F90CFA7DB48937EBB2689DCF94F83B1BF7D0ADE6459825DE0BFA1686E7B17474A06)
DriveMeca instalando Tox en Ubuntu Linux paso a paso

-También podemos crear grupos
DriveMeca instalando Tox en Ubuntu Linux paso a paso

-Y ver el estado de nuestras descargas y envios
DriveMeca instalando Tox en Ubuntu Linux paso a paso

-Cambiar el estado de nuestro usuario
DriveMeca instalando Tox en Ubuntu Linux paso a paso

Y ya estamos listos para comunicarnos de forma cifrada y segura con otras personas.
Haces vídeo llamadas? Que software usas? es Opensource? Conocías Tox? Ya lo usas?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Instalando Linux Fedora Workstation 21 paso a paso

DriveMeca Fedora Logo
Linux Fedora hoy lanza su muy esperada versión 21 con muchos cambios y tres sabores principales, worstation, server y cloud. Y como es de esperarse, hoy les mostrare la instalación paso a paso de Linux Fedora 21 en su versión worstation. La explicación de worstation nos dice que es una distribución fácil de usar en equipos de escritorio o portátiles dirigida especialmente a desarrolladores o creadores de cualquier tipo. La instalación es ejecutando un DVD Live y desde ahi probarlo o instalar. Suena bien cierto, entonces comencemos.

-La descarga del iso podemos hacerla directamente desde este URL o de la forma recomendada que es por medio de torrents. No tienes un cliente, te recomiendo FrostWire y en este articulo te enseño como instalarlo paso a paso. Ya con el ISO en nuestro poder debemos generar un DVD o una USB booteable para instalar desde ahí


-Hacemos boot y presionamos ENTER sobre Start Fedora Live
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Comienza la carga
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Se nos presenta una ventana donde debemos decidir si probamos Fedora antes de instalar (buena desicion por ejemplo si queremos verificar si detecta todo nuestro hardware) o si lo instalamos. Damos click sobre Install to Hard Drive
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-En la siguiente pantalla elegimos nuestro idioma y damos click al botón Continuar
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Damos click a destino de instalación y marcamos el disco donde instalaremos, esto es útil para personalizar el particionado o instalar sobre un segundo disco que tenga nuestro equipo. Damos click al botón Listo
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Si nuestra pantalla resumen no muestra ninguna alerta podemos continuar dando click al botón Empezar instalación
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-En la próxima pantalla damos click a Contraseña de root
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Escribimos una contraseña lo suficientemente fuerte a nuestra cuenta root y damos click al botón Listo
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-A continuación damos click a Creación de usuario y nos creamos una cuenta personal para nuestro trabajo diario prestando cuidado de agregar esta cuenta al grupo de administradores como se sugiere. Damos click al botón Listo
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-La instalación continua, hora de ir por un café ;-)
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Termina la instalación y damos click al botón Salir
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Damos click a los botones superiores y allí al botón de apagado.
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Damos click al botón de Restart y quitamos el DVD/USB desde el cual instalamos
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Ya en nuestro Fedora, entramos con la cuenta de usuario que creamos
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Confirmamos nuevamente el idioma y damos click al botón Siguiente
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Verificamos la distribución de teclado sea la correta y damos click al botón Siguiente
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Tienes cuentas en redes sociales que quieres conectar? Si no es asi, admos click al botón Omitir
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Y llegamos al final del asistente, damos click al botón Empezar a usar Fedora
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Una nueva ventana nos da alguna ayuda en tareas comunes. Podemos cerrarla si ya conocemos
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Dando click al link Actividades nos aparece una barra de iconos a la izquierda y los espacios de trabajo a la derecha con una caja de búsqueda en la parte superior
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-En la barra de iconos dando click al ultimo de arriba a abajo podremos ver todas las aplicaciones
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-En configuración podemos ajustar detalles
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

-Y no se olvide actualizar nuestro OS por medio de Actualizador de paquetes de GNOME
DriveMeca instalando Linux Fedora Workstation 21 paso a paso

o en una terminal con el comando:
sudo yum update

Usas Linux Fedora? Que tal te ha parecido Fedora 21? Llena tus expectativas?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar odoo ERP en Linux Centos 7 paso a paso

DriveMeca odoo Logo
Que tan organizado es tu negocio? Mucho me dirás, pero, lo tienes sistematizado, como manejas tus clientes, la facturación que tal se maneja?. Muchos temas que si no se unifican se vuelve un monstruo creciente difícil de manejar. Para esto una buena practica es manejar un ERP junto a otras herramientas idealmente conectadas entre si. Lo que nos lleva al tema del articulo de hoy, instalar paso a paso Odoo (antiguo OpenERP) en un servidor Linux Centos 7 con PostgreSQL 9.3.
Nuestro servidor deberá ser una instalación mínima de Centos y usaremos el código fuente colocado en Git para tener nuestro ERP lo mas actualizado posible.

Requerimientos


-Instalamos el repositorio de postgresql buscando tenerlo mas actualizado
rpm -ivh http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm

-Instalamos postgresql 9.3
yum install postgresql93-libs postgresql93-server postgresql93  postgresql93-devel php-pgsql php-gd

-Instalamos dependencias
yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libffi-devel libxslt libxslt-devel libxml2 libxml2-devel openldap-devel libjpeg-turbo-devel openjpeg-devel libtiff-devel libyaml-devel python-virtualenv git libpng12 libXext xorg-x11-font-utils libXext xorg-x11-fonts-Type1 xorg-x11-fonts-75dpi libpqxx-devel

-Activamos el servicio de postgresql
/usr/pgsql-9.3/bin/postgresql93-setup initdb
systemctl enable postgresql-9.3.service

-Activamos las conexiones con MD5 en postgresql
sed -i "/^host/s/ident/md5/g" /var/lib/pgsql/9.3/data/pg_hba.conf

-Iniciamos el servicio
systemctl start postgresql-9.3.service

-Creamos dos contraseñas, una para el admin de odoo y la otra para postgresql dejándolas en el ambiente como variables
admin_pass=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-20};echo;`
pgsql_pass=`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-20};echo;`

-Creamos el usuario odoo en postgresql
echo -e "$pgsql_pass\n$pgsql_pass\n" | su - postgres -c "createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo"

-Instalamos dependencia para poder generar pdf
rpm -ivh  http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm
ln -s /usr/local/bin/wkhtmltopdf /usr/bin/

-Instalamos tipos de letras de microsoft
rpm -ivh  http://dl.fedoraproject.org/pub/epel/7/x86_64/l/libmspack-0.5-0.1.alpha.el7.x86_64.rpm
rpm -ivh  http://dl.fedoraproject.org/pub/epel/7/x86_64/c/cabextract-1.5-1.el7.x86_64.rpm
rpm -ivh http://sourceforge.net/projects/mscorefonts2/files/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

-Creamos el usuario odoo y los 3 directorios necesitados
adduser odoo
DIR="/var/run/odoo /var/log/odoo /opt/odoo"
for NAME in $DIR
> do
> if [ ! -d $NAME ]; then
>  mkdir $NAME
>  chown odoo.odoo $NAME
> fi
> done

-Nos cambiamos al usuario odoo y creamos un ambiente virtual (así los módulos python no afectaran a Centos en caso dado sino solo al usuario odoo). Agregamos a la variable de ambiente PATH el camino de los binarios de postgresql 9.3
su - odoo
/bin/virtualenv odoo
source odoo/bin/activate
PATH=$PATH:/usr/pgsql-9.3/bin/

-Instalamos módulos python y salimos del usuario odoo
pip install http://download.gna.org/pychart/PyChart-1.39.tar.gz
pip install babel
pip install docutils
pip install feedparser
pip install gdata
pip install Jinja2
pip install mako
pip install -U pip wheel setuptools
pip install mock
pip install psutil
pip install psycopg2
pip install pydot
pip install python-dateutil
pip install python-openid
pip install pytz
pip install pywebdav
pip install pyyaml
pip install reportlab
pip install simplejson
pip install unittest2
pip install vatnumber
pip install vobject
pip install werkzeug
pip install xlwt
pip install pyopenssl
pip install lxml
pip install python-ldap
pip install pillow
pip install decorator
pip install requests
pip install pyPdf
pip install wkhtmltopdf
pip install passlib
exit

-Descargamos el código en opt y cambiamos sus permisos. Hora de ir por un café ;-)
cd /opt
git clone https://github.com/odoo/odoo.git --branch 8.0
chown -R odoo.odoo odoo

-Creamos el conf del servidor odoo con las variables de ambientes creadas anteriormente
vi /etc/odoo-server.conf
[options]
admin_passwd = $admin_pass #cambiamos por el contenido de esta variable
db_host = localhost
db_port = 5432
db_user = odoo
db_password = $pgsql_pass #cambiamos por el contenido de esta variable
addons_path = /opt/odoo/addons
without-demo=all
no-xmlrpc = True
no-xmlrpcs = True
no-netrpc = True
logfile = /var/log/odoo/odoo-server.log
log_handler = werkzeug:WARNING
log_level = warn
no-logrotate = True

-Creamos también un conf para logrotate
cat > /etc/logrotate.d/odoo-server << EOF
 /var/log/odoo/*.log {
     copytruncate
     missingok
     notifempty
 }
EOF

-Creamos un script para el inicio de odoo server en centos 7
cat > /usr/lib/systemd/system/odoo.service << EOF
[Unit]
Description=Odoo Open Source ERP and CRM
After=network.target postgresql.service

[Service]
Type=forking
User=odoo
Group=odoo
Environment="ENVDIR=/home/odoo/odoo"
ExecStart=/bin/bash -c "cd /home/odoo; /bin/virtualenv -q odoo; source odoo/bin/activate; /usr/bin/odoo-server --config=/etc/odoo-server.conf &"

[Install]
WantedBy=multi-user.target

EOF

-Activamos el script y lo activamos para que ejecute al hacer boot el servidor
ln -s /opt/odoo/openerp-server /usr/bin/odoo-server
systemctl enable odoo

-Abrimos el puerto 8069 en nuestro firewall iptables y recargamos las políticas
firewall-cmd --zone=public --add-port=8069/tcp --permanent
firewall-cmd --reload

-Iniciamos el servicio
systemctl start odoo

-Abrimos un browser y navegamos al URL http://ip-servidor:8069. Allí debemos escribir la contraseña que almacenamos en admin_pass en el campo Master password. Podemos verla en el conf o con un echo $admin_pass en la terminal. Escribimos un nombre para una db a usarse, activamos el idioma y creamos una contraseña para logearnos vía web. OJO: si nos deslogeamos por error o descuido, el usuario es admin y la contraseña que estamos creando en este momento. Damos click al botón Create Database
DriveMeca instalando odoo ERP en Linux Centos 7

-Esta es nuestra primera vista de odoo con todos los módulos disponibles a instalar. La sugerencia es solo activar los que vayamos a usar
DriveMeca instalando odoo ERP en Linux Centos 7

-Las alertas nos saldrán en la parte superior derecha como esta del ejemplo, debemos activar bien la zona horaria. Damos click al triangulo rojo y después al anuncio de Haga click
DriveMeca instalando odoo ERP en Linux Centos 7

-En la ventana que nos aparece activamos nuestra zona horaria y damos click al botón Guardar
DriveMeca instalando odoo ERP en Linux Centos 7

Ya estamos listos para personalizar odoo a nuestras necesidades
Usas OpenERP? Ya usas odoo? Que tal te ha parecido?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar Tomcat 8 paso a paso

DriveMeca Tomcat logo
Desarrollas en Java? entonces imagino que haz escuchado sobre Tomcat, un magnifico servidor opensource de aplicaciones web de la fundación Apache. Tomcat nos permite ejecutar sobre el java servlets o aplicaciones jsp de forma totalmente gratis y hoy sera nuestro tema del día. Te mostrare como instalar Tomcat 8 en un servidor Linux Centos 7 paso a paso.

Requerimientos

Linux Centos 7 instalación mínima

-Instalamos dependencias
yum -y install wget java-1.7.0-openjdk-devel

-Descargamos tomcat. En este momento la ultima versión es la 8.0.15
cd /opt
wget -c http://apache.mirrors.tds.net/tomcat/tomcat-8/v8.0.15/bin/apache-tomcat-8.0.15.tar.gz

-Descomprimimos el archivo
tar xzvf apache-tomcat-8.0.15.tar.gz 

-Activamos permisos de lectura
chmod +r apache-tomcat-8.0.15/conf/*

-Activamos variables
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk > /etc/profile.d/java.sh
source /etc/profile.d/java.sh
export CATALINA_HOME=/opt/apache-tomcat-8.0.15 > /etc/profile.d/tomcat.sh
source /etc/profile.d/tomcat.sh

-Creamos usuarios para la interfaz web administrativa. Es recomendable que cambies la contraseña a una palabra mas segura
vi  $CATALINA_HOME/conf/tomcat-users.xml
<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <user username="admin" password="contraseña" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>
</tomcat-users>

-Iniciamos el servicio de tomcat
$CATALINA_HOME/bin/startup.sh
Using CATALINA_BASE:   /opt/apache-tomcat-8.0.15
Using CATALINA_HOME:   /opt/apache-tomcat-8.0.15
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.0.15/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.7.0-openjdk
Using CLASSPATH:       /opt/apache-tomcat-8.0.15/bin/bootstrap.jar:/opt/apache-tomcat-8.0.15/bin/tomcat-juli.jar
Tomcat started.

-Muy posiblemente no conectes por iptables. Deshabilitamos el servicio
systemctl stop firewalld.service
systemctl disable firewalld.service

-Abrimos un browser y navegamos al url http://ip-servidor:8080
DriveMeca instalando Tomcat en Linux Centos 7 paso a paso

-Si damos click en los botones nos pedirá un usuario y password, entramos con el creado en pasos anteriores
DriveMeca instalando Tomcat en Linux Centos 7 paso a paso

DriveMeca instalando Tomcat en Linux Centos 7 paso a paso

DriveMeca instalando Tomcat en Linux Centos 7 paso a paso

Ya estamos listos para desplegar nuestras aplicaciones java sobre tomcat.
Programas en Java? Ya conocías Tomcat? Lo usas?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar Roundcube en Centos 7 paso a paso

DriveMeca Roundcube logo
De nada nos vale tener un potente servidor Linux Centos 7 con un smtp server con antivirus/antispam manejando varios dominios si no podemos acceder a el cuando estemos fuera de la oficina o casa. Esto nos lleva a la decisión de que necesitamos un webmail y es el tema del articulo de hoy.
Instalaremos roundcube webmail paso a paso sobre un servidor Linux Centos 7. Este sera la continuación de varios artículos anteriores los cuales ya puse sus links mas arriba (o puedes montarlo en tu servidor ya existente).
Roundcube es un webmail muy amigable que tiene traducción creería que a casi todos los idiomas, su interfaz es liviana y cuenta con todo lo necesario para mirar, contestar o hacer ese mail importante que no da espera. Ya entrados en materia, comencemos.

-Descargamos roundcube en su ultima versión disponible
cd /var/www/html
wget -c http://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.0.3/roundcubemail-1.0.3.tar.gz

-Lo descomprimimos, renombramos su directorio y entramos a el
tar xzvf roundcubemail-1.0.3.tar.gz
mv roundcubemail-1.0.3 rc
cd rc

-Nos creamos la db mariadb que usara para su funcionamiento y creamos una cuenta con permisos para su manejo
mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11976
Server version: 5.5.40-MariaDB MariaDB Server

Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
Query OK, 1 row affected (0.01 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'contraseña';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit;
Bye

-Importamos la estructura de tablas en la db
mysql -u root -p roundcubemail < SQL/mysql.initial.sql

-Nos creamos una configuracion para roundcube servidor por apache
vi /etc/httpd/conf.d/90-roundcube.conf
Alias /webmail /var/www/html/rc

<Directory /var/www/html/rc>
    Options -Indexes
    AllowOverride All
</Directory>

<Directory /var/www/html/rc/config>
    Order Deny,Allow
    Deny from All
</Directory>

<Directory /var/www/html/rc/temp>
    Order Deny,Allow
    Deny from All
</Directory>

<Directory /var/www/html/rc/logs>
    Order Deny,Allow
    Deny from All
</Directory>

-Navegamos desde un browser a la ip del servidor donde instalamos roundcube http://ip-servidor/rc/installer/. Verificamos las extensiones php instaladas. Las requeridas son obligatorias, en caso de faltar alguna hay que instalarla, las opcionales como lo indica su nombre no son imprescindibles aunque si aconsejables. En este ejemplo, agregare la opcional date.timezone. En este URL pueden buscar tu zona horaria. Recargamos la pagina y verificamos ya este ok 

vi rc/.htaccess
<IfModule mod_php5.c>
..
..
php_value       date.timezone           America/Bogota
</IfModule>
DriveMeca instalando Roundcube en un servidor Linux Centos 7 paso a paso

-Cerramos la configuración web porque la terminaremos vía consola
vi config/config.inc.php
$config['db_dsnw'] = 'mysql://roundcube:contraseña@localhost/roundcubemail';
$config['default_host'] = 'localhost';
$config['smtp_server'] = 'localhost';
$config['smtp_port'] = 25;
$config['smtp_user'] = '%u';
$config['smtp_pass'] = '%p';

-Cambiamos permisos al directorio de roundcube
chown -R apache.apache /var/www/html/rc

-Reiniciamos el servicio de apache para que tome los cambios
systemctl restart  httpd.service

-Hacemos pruebas conectándonos a nuestro webmail roundcube. Ten en cuenta que al tenerlo en un servidor multidominio, debes logearte con tu email completo de la forma usuario @ dominio
DriveMeca instalando Roundcube en un servidor Linux Centos 7 paso a paso

-Ya en su interfaz web podemos enviar y recibir emails para familiarizarnos con su uso
DriveMeca instalando Roundcube en un servidor Linux Centos 7 paso a paso

-Cambiar la configuración por default, por ejemplo, el idioma, la firma, etc
DriveMeca instalando Roundcube en un servidor Linux Centos 7 paso a paso

Usas un webmail, cual? Conocías Roundcube? Que tal te ha parecido este articulo?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Fortalece tu servidor de email Linux con Amavisd-new

El email ha pasado a ser el reemplazo del fax y muchas comunicaciones entre nosotros. Nos sirve para envió de trabajos, comunicarnos con la familia, etc. Para que esto funcione debe haber una serie de servidores haciendo tareas, uno de ellos que es vital es el servidor de email manejando mínimo 2 protocolos que son SMTP y POP3. Hoy veremos una forma relativamente sencilla de instalar y configurar paso a paso Amavisd-new, una aplicación que actúa en forma de filtro entre el MTA y los antivirus/antispam, en un servidor Linux Centos 7.

-Instalamos dependencias
yum -y install wget perl-CPAN gcc gcc-c++ make perl-Time-HiRes perl-Mail-SPF perl-Net-LibIDN openssl-devel gzip bzip2 pax cpio lzop mariadb mariadb-server mailx

-Iniciamos MariaDB y lo activamos para que ejecute cuando hagamos boot
systemctl start  mariadb.service
systemctl enable mariadb.service

-Aseguramos su configuracion
mysql_secure_installation

-Descargamos la ultima version disponible de amavisd
wget -c http://www.ijs.si/software/amavisd/amavisd-new-2.10.1.tar.xz

-Instalamos los siguientes módulos de perl. No tienes perl instalado. En este articulo te enseño como.
Archive::Zip
Compress::Zlib
Compress::Raw::Zlib
MIME::Base64
MIME::Parser
Mail::Internet
Net::Server
Digest::MD5
Time::HiRes
Unix::Syslog
Crypt::OpenSSL::RSA
Mail::DKIM
HTML::Parser
NetAddr::IP
Digest::SHA1
DB_File
Mail::SPF::Test
Geo::IP
Mail::SpamAssassin::Plugin::Razor2
IO::Socket::IP
IO::Socket::INET6
IO::Socket::SSL
DBI
LWP::UserAgent
Encode::Detect
Net::Patricia
Mail::SpamAssassin
DBD::mysql
IO::Stringy
Convert::BinHex
BerkeleyDB
Unix::Getrusage
Razor2::Client::Agent
Image::Info
Image::Info::GIF
Image::Info::JPEG
Image::Info::PNG
Image::Info::BMP
Image::Info::TIFF
Sys::Syslog

-Instalamos Clamav y lo activamos como explico en este articulo

-Creamos el directorio home de Amavis al crear su cuenta y grupo
adduser -b /var -m amavis

-Creamos el arbol de directorios de amavis y activamos sus permisos
mkdir /var/amavis/tmp /var/amavis/var /var/amavis/db /var/amavis/home
chown -R amavis:amavis /var/amavis
chmod -R 770 /var/amavis

-Descomprimimos el archivo de amavis y entramos al directorio
tar xf amavisd-new-2.10.1.tar.xz
cd amavisd-new-2.10.1

-Copiamos el script de amavis y cambiamos sus permisos
cp amavisd /usr/local/sbin/
chown root /usr/local/sbin/amavisd
chmod 755  /usr/local/sbin/amavisd

-Copiamos la configuracion a etc y cambiamos sus permisos
cp amavisd.conf /etc/
chown root:amavis /etc/amavisd.conf
chmod 640 /etc/amavisd.conf

-Creamos un directorio para los mails con virus que clamd vaya encontrando y activamos sus permisos
mkdir /var/virusmails
chown amavis:amavis /var/virusmails
chmod 750 /var/virusmails

-Modificamos la configuración de amavis. Por la gran cantidad de opciones, solo mostrare las que deberíamos cambiar. Las demás pueden quedar con sus valores por default
vi /etc/amavisd.conf
$daemon_user  = 'amavis';
$daemon_group = 'amavis';
$mydomain = 'example.com';
$MYHOME = '/var/amavis';
$TEMPBASE = "$MYHOME/tmp";
$QUARANTINEDIR = '/var/virusmails';
$db_home   = "$MYHOME/db";
$helpers_home = "$MYHOME/var";
$lock_file = "$MYHOME/var/amavisd.lock";
$pid_file  = "$MYHOME/var/amavisd.pid";
$myhostname = 'servidor.test.com';

$inet_socket_port = 10024;

$log_level = 5; #Mientras hacemos pruebas de que todo esta ok, después cambiar a valor 0

$sa_tag_level_deflt  = 2.0;
$sa_tag2_level_deflt = 6.2;
$sa_kill_level_deflt = 6.9;
$sa_dsn_cutoff_level = 10;
$sa_crediblefrom_dsn_cutoff_level = 18;

$sa_mail_body_size_limit = 400*1024;
$sa_spam_subject_tag = '***Spam*** ';

$notify_method  = 'smtp:[127.0.0.1]:10025';
$forward_method = 'smtp:[127.0.0.1]:10025';

@av_scanners = (
['ClamAV-clamd',
   \&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],
   qr/\bOK$/m, qr/\bFOUND$/m,
   qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],
);

-Agregamos amavis al grupo clamav
usermod -a -G clamav amavis

-Editamos la configuracion de clamav y permitimos grupos suplementarios, así puede interactuar con amavis
vi /etc/clamd.conf
..
..
AllowSupplementaryGroups yes

-Verificamos
id clamav
uid=997(clamav) gid=995(clamav) groups=995(clamav),1001(amavis)

Spamassassin

-Instalamos spamassassin
yum install spamassassin

-Modificamos su configuración. Un puntaje mayor de 5 sera marcado spam
vi /etc/mail/spamassassin/local.cf
rewrite_header Subject *****SPAM*****
report_safe 0
required_score 5.0

-Nos creamos una cuenta y grupo para spamd. Activamos sus permisos
groupadd spamd
useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd
chown spamd:spamd /var/log/spamassassin

-Actualizamos las reglas de spamassassin
/usr/local/bin/sa-update

-Ejecutamos amavis en modo debug buscando algún modulo que nos falte o error que debamos corregir antes de entrar en producción
/usr/local/sbin/amavisd debug

Postfix

-Instalamos Postfix. No sabes como configurarlo? En este articulo te muestro como

-Agregamos a main.cf de postfix
vi /etc/postfix/main.cf
strict_rfc821_envelopes = yes
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

-Ejecutamos. Apenas todo este funcionando correctamente, debemos devolverlo a no
postconf -e "soft_bounce = yes"
systemctl reload  postfix.service

-Modificamos
vi /etc/postfix/master.cf
amavisfeed unix    -       -       n        -      2     lmtp
     -o lmtp_data_done_timeout=1200
     -o lmtp_send_xforward_command=yes
     -o lmtp_tls_note_starttls_offer=no

127.0.0.1:10025 inet n    -       n       -       -     smtpd
     -o content_filter=
     -o smtpd_delay_reject=no
     -o smtpd_client_restrictions=permit_mynetworks,reject
     -o smtpd_helo_restrictions=
     -o smtpd_sender_restrictions=
     -o smtpd_recipient_restrictions=permit_mynetworks,reject
     -o smtpd_data_restrictions=reject_unauth_pipelining
     -o smtpd_end_of_data_restrictions=
     -o smtpd_restriction_classes=
     -o mynetworks=127.0.0.0/8
     -o smtpd_error_sleep_time=0
     -o smtpd_soft_error_limit=1001
     -o smtpd_hard_error_limit=1000
     -o smtpd_client_connection_count_limit=0
     -o smtpd_client_connection_rate_limit=0
     -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
     -o local_header_rewrite_clients=
     -o smtpd_milters=
     -o local_recipient_maps=
     -o relay_recipient_maps=

-Reiniciamos postfix y verificamos no de error. Aun no se esta filtrando
systemctl reload  postfix.service
less /var/log/maillog

Pruebas de configuración

-Hacemos tres pruebas. Primera: Verificamos amavis
/usr/local/sbin/amavisd debug

telnet localhost 10024
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 [::1] ESMTP amavisd-new service ready
EHLO localhost
250-[::1]
250-VRFY
250-PIPELINING
250-SIZE
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-SMTPUTF8
250-DSN
250 XFORWARD NAME ADDR PORT PROTO HELO IDENT SOURCE
quit
221 2.0.0 [::1] amavisd-new closing transmission channel
Connection closed by foreign host.

Funciono como el ejemplo arriba?, No? verifica si el daemon de amavis esta ejecutandose? El puerto es el correcto?

-Segunda prueba: Verificamos postfix
telnet 127.0.0.1 10025
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
220 veser7.mecatienda.com ESMTP Postfix
EHLO localhost
250-veser7.mecatienda.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.

Fallo la prueba? Verifica que postfix se este ejecutando. Mira los logs en maillog. La ip y el port son los correctos? Tienes el firewall activo y esta bloqueando esta conexión?

-Tercera prueba: Verificamos el transporte, es decir, amavis filtra un email, lo verifica y se lo pasa a postfix para su entrega final. Usaremos el mail de ejemplo test-messages/sample-nonspam.txt dentro del directorio de amavis. Primero descomprimimos los mails de prueba
cd /root/amavisd-new-2.10.1/test-messages
perl -pe 's/./chr(ord($&)^255)/sge' <sample.tar.gz.compl | zcat | tar xvf -

-Ejecutamos
telnet localhost 10024
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 [::1] ESMTP amavisd-new service ready
HELO localhost
250 [::1]
MAIL FROM: <>
250 2.1.0 Sender <> OK
RCPT TO: <postmaster>
250 2.1.5 Recipient <postmaster> OK
DATA
354 End data with <CR><LF>.<CR><LF>
From: virus-tester
 To: undisclosed-recipients:;
 Subject: amavisd test - simple - no spam test pattern

 This is a simple test message from the amavisd-new test-messages.
.
250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 466C3CD319
quit
221 2.0.0 [::1] amavisd-new closing transmission channel

Fallo la prueba? Verifica logs en maillog y en los msg que arroja amavis en modo debug

-Si todo esta ok, agregamos a postfix
vi /etc/postfix/main.cf
strict_rfc821_envelopes = yes
soft_bounce = no
content_filter=amavisfeed:[127.0.0.1]:10024

-Modificamos amavisd.conf dejando logs a su nivel mínimo
vi /etc/amavisd.conf
$log_level = 0;

-Optimizacion: En la medida que nuestro servidor aumente su carga de emails pro procesar podemos ir aumentando la cantidad de procesos a ejecutar. No existe un numero mágico, es cuestión de observar la carga y así mismo decidir si aumentar los procesos o dejarlos como están. Recuerda, muchos procesos no quiere decir que así de rápido funcionara todo, mas bien si se acaban los recursos y colocas mas procesos harás que el servidor aumente su carga volviéndose mas lento.

-Copiamos el script de inicio al directorio init.d y modificamos la ruta donde debe ejecutarlo
cp /root/amavisd-new-2.10.1/amavisd_init.sh /etc/init.d/amavisd
vi /etc/init.d/amavisd
prog="/usr/local/sbin/amavisd"

-Cambiamos sus permisos, reiniciamos los servicios de amavisd y postfix y los activamos para ejecución al hacer boot
chmod 755 /etc/init.d/amavisd
systemctl restart  amavisd.service
systemctl enable amavisd.service

systemctl restart  postfix.service
systemctl enable postfix.service

Bien, con estos últimos pasos ya tenemos un servidor de email protegido contra virus y spam el cual puede ir creciendo con nuestros requerimientos, por ejemplo, ser multidominio, lo cual dejamos para otro articulo.
Conocías Amavisd-new? Lo usas, que tal te ha parecido? Usas otra alternativa parecida, cual?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar Clamav en Linux Centos paso a paso

Usas Linux y crees que no estas expuesto a virus? En cierta forma no es verdad, aunque nada que ver con las escandalosas cifras de cantidad de virus para Microsoft Windows para Linux también existen virus. Estos virus siguiendo unas políticas de seguridad como por ejemplo no trabajar desde la cuenta root todo el tiempo, en lo posible usar sudo cuando necesitemos privilegios o usar un antivirus como Clamav. Como ya habras adivinado, el articulo de hoy es como instalar paso a paso Clamav en un servidor Linux Centos 7 (el mismo procedimiento serviría para un Linux RedHat 7).
Clamav es un antivirus opensource que lleva años en su misión de eliminar virus, troyanos, gusanos, etc. de una forma optima y que ademas de en Linux también lo puedes usar en Microsoft Windows aunque eso se sale de nuestro tema. Comencemos entonces.

Requerimientos



-Creamos un archivo de configuración de repositorio
vi /etc/yum.repos.d/dag.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag/
gpgcheck=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
enabled=1

-Instalamos clamd
yum install clamd

-Aceptamos la llave cuando se nos pregunte
Retrieving key from http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
Importing GPG key 0x6B8D79E6:
 Userid     : "Dag Wieers (Dag Apt Repository v1.0) <dag@wieers.com>"
 Fingerprint: ebc6 e12c 62b1 c734 026b 2122 a20e 5214 6b8d 79e6
 From       : http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
Is this ok [y/N]: y

-Para evitar problemas después de un boot del servidor
mkdir /var/run/clamav/
chown -R clamav:clamav /var/run/clamav/

-Iniciamos el servicio y lo activamos para su ejecución cada vez que hagamos boot
systemctl start  clamd.service
systemctl enable clamd.service

-Actualizamos firmas de virus
freshclam

Y con esto ya tenemos nuestro antivirus en un servidor Linux Centos 7. En próximos artículos lo integraremos con otras soluciones. Usas antivirus en Linux? Cual? No lo usas, porque?
Si te resulto útil este articulo, se social, haz un tweet, compártelo con otros por medio de los botones o sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark