Mostrando las entradas con la etiqueta Centos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Centos. Mostrar todas las entradas

sábado, 29 de agosto de 2015

Server Stop, Start, Restart (Apache, SSH, MySql)

Server Stop, Start, Restart (Apache, SSH, MySql)

Apache:
Q. I’m using CentOS / RHEL / Fedora Linux server and I’d like to restart my httpd server after making some changes to httpd.conf file. How do I restart httpd?
A. You can use service command to restart httpd. Another option is use /etc/init.d/httpd service script.
Login as root user and type the following commands:

Task: Start httpd server:

# service httpd start

Task: Restart httpd server:

# service httpd restart

Task: Stop httpd server:

# service httpd stop
Please note that restart option is a shorthand way of stopping and then starting the Apache HTTPd Server. You need to restart server whenever you make changes to httpd.conf file. It is also good idea to check configuration error before typing restart option:
# httpd -t
# httpd -t -D DUMP_VHOSTS

Sample output:
Syntax OK
Now restart httpd server:
# service httpd restart
Where,
  • -t : Run syntax check for config files
  • -t -D DUMP_VHOSTS : Run syntax check for config files and show parsed settings only for vhost.

/etc/init.d/httpd script

You can also use following command:
# /etc/init.d/httpd restart
# /etc/init.d/httpd start
# /etc/init.d/httpd stop

A note about Debian / Ubuntu Linux

Type the following command under Debian / Ubuntu Linux:
# /etc/init.d/apache2 restart
# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

You can also use service command under Debian / Ubuntu Linux:
# service apache2 restart
# service apache2 stop
# service apache2 start

SSH:

Q. How do I monitor my ssh server with monit? How do I restart ssh server if it does not respond or dead due to any issues under Linux?
A. You can easily monitor Linux server or service such as OpenSSH (SSHD daemon) using monit utility.

Monitor SSH and Auto Restart If Died

Open your /etc/monitrc or /etc/monit/monitrc file:
# vi /etc/monit/monitrc
Append following code:
check process sshd with pidfile /var/run/sshd.pid
start program "/etc/init.d/ssh start"
stop program "/etc/init.d/ssh stop"
if failed port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

Save and close the file. Make sure you set /var/run/sshd.pid and /etc/init.d/ssh as per your Linux distribution. These values are valid for Debian / Ubuntu Linux. Restart monit to pickup the changes:
# /etc/init.d/monit restart

Mysql:

Each distribution comes with a shell script (read as service) to restart / stop / start MySQL server. First login as root user and open shell prompt (command prompt).
First login as root user. Now type the following command as per your Linux distro:

A) If you are using mysql on RedHat Linux (Fedora Core/Cent OS) then use following command:

* To start mysql server:
/etc/init.d/mysqld start
* To stop mysql server:
/etc/init.d/mysqld stop
* To restart mysql server
 /etc/init.d/mysqld restart
Tip: Redhat Linux also supports service command, which can be use to start, restart, stop any service:
# service mysqld start
# service mysqld stop
# service mysqld restart

(B) If you are using mysql on Debian / Ubuntu Linux then use following command:

* To start mysql server:
/etc/init.d/mysql start
* To stop mysql server:
/etc/init.d/mysql stop
* To restart mysql server
/etc/init.d/mysql restart

viernes, 3 de julio de 2015

Check and open ports in CentOS / Fedora / Redhat

 Check and open ports in CentOS / Fedora / Redhat
If you want to open or close a port for a Linux firewall you have to edit the rules in the iptables configuration. By default iptables firewall stores its configuration at /etc/sysconfig/iptables file. You need to edit this file and add rules to open port.
Here are the steps to open the port XY using the default visual editor vi:
Open port XY
Open flle /etc/sysconfig/iptables:
# vi /etc/sysconfig/iptables
Append rule as follows:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport XY -j ACCEPT

Save and close the file. Restart iptables:
# /etc/init.d/iptables restart
Verify that port is open
Run following command:
# netstat -tulpn | less
Make sure iptables is allowing port connections:
# iptables -L -n

For more information visit:

domingo, 22 de marzo de 2015

Arrancar / Parar / Reiniciar servicios en RHEL 7 y CentOS 7


En RHEL 7 y CentOS 7 (ver guía de instalación)la forma de controlar los servicios del sistema cambia completamente. Pasamos del uso del comando “service” y de la control de servicios a través de “/etc/init.d” a la gestión a través del service manager systemctl.
La explicación la tenemos directamente en el fichero README de /etc/init.d:
# more /etc/init.d/README 
You are looking for the traditional init scripts in /etc/rc.d/init.d,
and they are gone?

Here's an explanation on what's going on:

You are running a systemd-based OS where traditional init scripts have
been replaced by native systemd services files. Service files provide
very similar functionality to init scripts. To make use of service
files simply invoke "systemctl", which will output a list of all
currently running services (and other units). Use "systemctl
list-unit-files" to get a listing of all known unit files, including
stopped, disabled and masked ones. Use "systemctl start
foobar.service" and "systemctl stop foobar.service" to start or stop a
service, respectively. For further details, please refer to
systemctl(1).

Note that traditional init scripts continue to function on a systemd
system. An init script /etc/rc.d/init.d/foobar is implicitly mapped
into a service unit foobar.service during system initialization.

Thank you!

Further reading:
        man:systemctl(1)
        man:systemd(1)

http://0pointer.de/blog/projects/systemd-for-admins-3.html


http://www.freedesktop.org/wiki/Software/systemd/Incompatibilities

Vamos a ver entonces los comandos básicos de gestión de servicios con systemctl.

Listar servicios del sistema

El comando systemctl sin parámetros nos mostrará el listado de todos los servicios del sistema, incluyendo los que están activos, parados o en estado fallido.
# systemctl 
UNIT                                                LOAD   ACTIVE SUB       DESCRIPTION
proc-sys-fs-binfmt_misc.automount                   loaded active waiting   Arbitrary Executable File Formats File System Automo
sys-devices-pci0...et1:0:0-1:0:0:0-block-sr0.device loaded active plugged   VBOX_CD-ROM
sys-devices-pci0...0-0000:00:03.0-net-enp0s3.device loaded active plugged   PRO/1000 MT Desktop Adapter
sys-devices-pci0...-0000:00:05.0-sound-card0.device loaded active plugged   82801AA AC'97 Audio Controller
sys-devices-pci0...:0-2:0:0:0-block-sda-sda1.device loaded active plugged   VBOX_HARDDISK
sys-devices-pci0...:0-2:0:0:0-block-sda-sda2.device loaded active plugged   LVM PV F3zoLx-uSaP-faJK-Vhz7-iJC4-XFml-QjX37E on /de
sys-devices-pci0...et2:0:0-2:0:0:0-block-sda.device loaded active plugged   VBOX_HARDDISK
Los servicios son llamados UNITS, y como veis podemos visualizar el estado del proceso, si está cargado en el sistema, descripción…
El parámetro list-units muestra la misma información:
# systemctl list-units

Ver estado de un servicio

Tan sencillo como pasar el parámetro status + el servicio. Vamos a ver el estado del firewall:
# systemctl status firewalld.service
firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled)
   Active: active (running) since sáb 2014-08-23 17:51:42 CEST; 9min ago
 Main PID: 549 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─549 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

ago 23 17:51:42 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
Como podéis observar nos ofrece mucha más información que el típico status que teníamos en “init.d” y “service”. Incluso podemos ver el log completo o sólo la parte que engloba el arranque:
# systemctl status network.service
network.service - LSB: Bring up/down networking
   Loaded: loaded (/etc/rc.d/init.d/network)
   Active: active (exited) since sáb 2014-08-23 17:51:45 CEST; 10min ago
  Process: 830 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=0/SUCCESS)

ago 23 17:51:43 localhost.localdomain systemd[1]: Starting LSB: Bring up/down networking...
ago 23 17:51:44 localhost.localdomain network[830]: Bringing up loopback interface:  Could not load file '/etc/sysconfig...g-lo'
ago 23 17:51:44 localhost.localdomain network[830]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo'
ago 23 17:51:44 localhost.localdomain network[830]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo'
ago 23 17:51:44 localhost.localdomain network[830]: Could not load file '/etc/sysconfig/network-scripts/ifcfg-lo'
ago 23 17:51:44 localhost.localdomain network[830]: [  OK  ]
ago 23 17:51:45 localhost.localdomain network[830]: Bringing up interface enp0s3:  [  OK  ]
ago 23 17:51:45 localhost.localdomain systemd[1]: Started LSB: Bring up/down networking.
Hint: Some lines were ellipsized, use -l to show in full.

Arrancar, parar y reiniciar servicios

Ya sabemos los servicios que hay en el sistema, así que podemos invocarlos para iniciarlos, pararlos o reiniciarlos:
Iniciar servicio:
# systemctl start firewalld.service
Parar servicio:
# systemctl stop firewalld.service
Reiniciar servicio:
# systemctl restart firewalld.service
Recargar servicio (si lo permite):
# systemctl reload firewalld.service

chkconfig vs systemctl

Esto lo quiero explicar más detenidamente en otro artículo, pero sólo añadir que chkconfig también es sustituido por systemctl.
Por ejemplo, para quitar la red del arranque:
[root@localhost ~]# systemctl disable NetworkManager.service
rm '/etc/systemd/system/multi-user.target.wants/NetworkManager.service'
rm '/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service'
rm '/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service'
Y vemos que al lanzar un status aparece el servicio activo pero “disabled” en el arranque:
[root@localhost ~]# systemctl status NetworkManager.service
NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled)
   Active: active (running) since sáb 2014-08-23 17:51:43 CEST; 15min ago
 Main PID: 676 (NetworkManager)
Si lo volvemos a configurar:
[root@localhost ~]# systemctl enable NetworkManager.service
ln -s '/usr/lib/systemd/system/NetworkManager.service' '/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service'
ln -s '/usr/lib/systemd/system/NetworkManager.service' '/etc/systemd/system/multi-user.target.wants/NetworkManager.service'
ln -s '/usr/lib/systemd/system/NetworkManager-dispatcher.service' '/etc/systemd/system
/dbus-org.freedesktop.nm-dispatcher.service'
[root@localhost ~]# systemctl status NetworkManager.service
NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled)
   Active: active (running) since sáb 2014-08-23 17:51:43 CEST; 16min ago
Esto es lo que tenéis que saber para iniciaros con systemctl. Recordad que la página man del comando tiene toda la información necesaria para administración avanzada. En algún otro artículo iré poniendo más funcionalidades interesantes (que no son pocas).

sábado, 14 de marzo de 2015

Install VMware en linux

Install VMware en linux


Paso 1: Descarga VMware la version de acuerdo al Sistema Operativo(32 or 64)

https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/7_0|PLAYER-710|product_downloads

Paso 2: Es necesario cambiar el permiso del archivo para que sea ejecutable:

  chmod a+x VMware-Player-7.1.0-2496824.x86_64.bundle

Paso 3: Ejecutar la Instalacion y listo

sudo ./VMware-Player-7.1.0-2496824.x86_64.bundle

viernes, 13 de marzo de 2015

Crear usuario con privilegios de root

Existen varios métodos para crear un nuevo usuario con privilegios de root en Linux.

método rápido

se trata de crearlo de golpe añadiéndolo al grupo desde el propio comando useradd.
Añadir el usuario:
sudo useradd -u 0 -o -g 0 nombreusuario
Establecer la nueva contraseña:
sudo passwd nombreusuario
Este método hay veces que no va del todo bien ya que no crea la carpeta home personal y hay problemas con el historial bash en algunos VPS.

método típico

es mas largo, pero es el que se usa siempre.
Añadir el usuario:
sudo adduser nombreusuario
sudo /usr/sbin/visudo
En este fichero, añadimos después de la línea donde pone ‘root’, el nombre de nuestro usuario, con las líneas de ALL iguales.
# User privilege specification
             root            ALL=(ALL:ALL) ALL 
             nombreusuario ALL=(ALL:ALL) ALL

eliminar usuario

Si nos hubiésemos equivocado, podemos eliminar el usuario:
sudo userdel nombreusuario
O también cambiar la contraseña:
sudo passwd nombreusuario
Ahora ya nos podremos loguear con el nuevo usuario.

sábado, 21 de febrero de 2015

Cómo configurar un servidor FTP sobre CentOS 7

Cómo configurar un servidor FTP sobre CentOS 7


Hoy os presentamos un tutorial sobre cómo configurar un servidor FTP, utilizando como sistema operativo el reciente (en su sector) CentOS 7 y como servicio vsftpd, que es el que trae por defecto este sistema operativo.
No vamos a entrar en detalles demasiados profundos, no vamos a explicar con detenimiento el fichero de configuración de vsftpd, simplemente nos centraremos en los pasos necesarios para conseguir hacer funcionar el acceso anónimo al FTP, cambiar la carpeta por defecto de este modo de acceso y tratar con usuarios locales.
Para hacer todo esto hay que tener permisos de administrador, siendo lo más frecuente en el mundo de GNU/Linux iniciar sesión como root o bien usar sudo.

Instalación y puesta en marcha de vsftpd

Instalar vsftpd en CentOS 7 es sencillo, en esta versión todavía se sigue usando Yum, el gestor de paquetes del universo de Red Hat. Además vsftpd no tiene dependencias, así que no hay riesgos de alterar otras partes del sistema.
Para instalar vsftpd hay que ejecutar el siguiente comando, y luego aceptar la instalación sugerida:
yum install vsftpd
Instalado el servicio de FTP, tenemos una serie de comandos básicos para poder manejar el servicio. Hay que recordar que CentOS 7 utiliza systemd en vez de Upstart, así que los comandos para poder activar, reiniciar y accionar el servicio durante el arranque del sistema cambian.
Para iniciarlo:
systemctl start vsftpd.service
Para pararlo:
systemctl stop vsftpd.service
Para reiniciarlo:
systemctl restart vsftpd.service
Para que arranque junto con el sistema:
systemctl enable vsftpd.service
Para quitarlo del arranque del sistema:
systemctl disable vsftpd.service
El fichero de configuración de vsftpd es /etc/vsftpd/vsftpd.conf, Para los que anden perdidos, es un fichero llamado vsftpd.conf localizado en la subcarpeta /etc/vsftpd. En él solo vamos a tocar dos opciones.
anonymous_enable=YES
local_enable=YES

Abrir el puerto en el firewall

Abrir el puerto en el firewall es muy importante, ya que si no lo hacemos todos los intentos de conectarse al servidor de FTP serán rechazados. Para esto hay que abrir el puerto en el firewall y para que los efectos sean permanentes hay que ejecutar estos dos comandos.
Para abrir el puerto en el firewall:
firewall-cmd --permanent --add-service=ftp
Una vez abierto el puerto, hay que refrescar el firewall, para lo cual se necesita reiniciar su servicio:
systemctl restart firewalld.service

Configurar vsftpd para el acceso anónimo

Con figurar vsftpd para el acceso anónimo es bien sencillo, ya que esto lo hace por defecto, aunque se puede cambiar la opción de local_enable=YES a local_enable=NO en el fichero vsftpd.conf, para así asegurarnos de alguna manera que no se está ejecutando lo que no se debe, pero es un paso totalmente prescindible.
Para usar el acceso anónimo al FTP solo hay que iniciar el servicio como hemos indicado en el punto anterior,abrir un cliente de FTP, introducir la IP del servidor y conectarse.
Ahora surge la pregunta de cómo obtener la IP del servidor. En caso de el servidor esté en el mismo ordenador físico que el cliente la respuesta el clara, localhost o 127.0.0.1, siendo lo segundo más efectivo que lo primero. Sin embargo puede que el servidor haya sido instalado en una máquina virtual, o bien se disponga de máquinas extra y se haya montado una red con ordenadores conectados mediante cable o Wi-Fi. En esas situaciones solo queda usar este comando para obtener la IP en CentOS 7:
ip -d addr

Cambiar la carpeta del acceso anónimo

La carpeta por defecto del acceso anónimo al FTP es /var/ftp, sin embargo puede interesar cambiarla.
Para ello hay que dirigirse al fichero vsftpd.conf en /etc/vsftpd y añadir al final la siguiente opción, teniendo que poner de forma obligatoria la ruta absoluta:
anon_root=/rutaperonalizada
En /rutapersonalizada se pone la ruta que se crea conveniente, siempre y cuando no coincida con otra que resulta crítica para el sistema, siendo conveniente crear una a través de mkdir, dentro de la carpeta /home o /mnt, que no suelen contener nada crítico a nivel de sistema en su interior.
Cambiada ya la ruta del acceso anónimo, en teoría reiniciando el servicio ya se tendrían que aplicar los cambios, sin embargo al acceder al FTP vemos que no nos da permiso, y es que hemos topado con la segunda gran “barrera” de los sistemas basados en tecnologías Red Hat, SeLinux. En este tutorial vamos a ser un poco más sutiles y no se va a desactivar, teniendo que jugar con él un poco para que deje hacer aquello que pretendemos.
Para que SeLinux acepte la nueva carpeta del acceso anónimo hay que indicarle que es de acceso público, introduciendo el siguiente comando:
chcon -R -t public_content_t /rutapersonalizada
Introducido este comando ya debería de dejar acceder al nuevo directorio asignado para el acceso anónimo.

Configurar usuarios locales en el servidor

Para poder usar usuarios locales en el servidor, con su correspondiente contraseña, hay que tener los usuarios locales permitidos en vsftpd.conf, con la opción local_enable=YES. Si teníamos esta opción en NO anteriormente, hay que reiniciar el servicio para que los cambios surtan efecto.
Ahora queda crear el usuario, que no tiene ningún misterio para aquellos que acostumbran a crearlos desde la consola de comandos, ya que el proceso cambia poco:
useradd -g ftp -d /home/usuario usuario
Descomponemos la línea de comando:
  • useradd: Indica que queremos añadir un nuevo usuario.
  • -g: Indica el grupo al que va a pertenecer el usuario, en este caso ftp.
  • -d: Es el directorio del usuario, su home, en este caso /home/usuario.
  • usuario: Es el nombre del usuario.
El usuario ya está creado, sin embargo hay que asignarle una contraseña, para lo cual se utiliza el clásicopasswd:
passwd usuario
Ahora queda indicarle a SeLinux que permita a los usuarios locales acceder su home a través del FTP:
setsebool -P ftp_home_dir on
Ahora solo queda abrir el cliente, poner la IP del servidor, el usuario y la contraseña y ya tendría que permitir el acceso, pudiendo subir contenidos, ya que se ha iniciado sesión con el usuario que es el propietario de la subcarpeta.

Hacer que un usuario local y el acceso anónimo compartan carpeta

El acceso anónimo, tal y como lo hemos mostrado, se muestra un poco corto, difícil de darle utilidad, al menos que se configure el acceso anónimo al FTP desde un ordenador de escritorio en producción, en el cual se puedecopiar y pegar los contenidos al directorio a golpe de ratón. Sin embargo si quien tiene que suministrar los contenidos no usa su desktop como servidor de FTP, sino un ordenador aparte, empieza a ser complicado poder compartir contenidos, ya que el usuario local y el acceso anónimo no pueden compartir carpeta debido a que SeLinux lo impide.
Para poder compartir una carpeta de usuario con el acceso anónimo en primer lugar hay que ir al ficherovsftpd.conf y en la opción anon_root poner la ruta absoluta del directorio del usuario local, siguiendo  con este ejemplo:
anon_root=/home/usuario
Después hay que reiniciar el servicio y, además, indicar a SeLinux que permita acceso total en el servicio de FTP a través de la siguiente línea de comando:
setsebool allow_ftpd_full_access on
Después hay que dar permisos a los usuarios ajenos al propietario para que puedan ver los contenidos de su carpeta, ya que por defecto los sistemas de tecnología Red Hat utilizan una umask de 077 en la creación de lascarpetas de usuario, así que solo el propietario tiene permisos sobre su carpeta personal. Para arreglar esto hay que otorgarle permisos de lectura y ejecución a los demás con chmod:
chmod -R 755 /home/usuario
Con esto ya el usuario local y el acceso anónimo ya comparten directorio, y lo que es subido por el usuario local puede ser descargado por las personas que acceden de forma anónima al FTP.