lunes, 26 de junio de 2017

Install Drupal 8 in CentOS

Drupal is an open source, flexible, highly scalable and secure Content Management System (CMS) which allows users to easily build and create web sites. It can be extended using modules and enables users to transform content management into powerful digital solutions.

Drupal runs on a web server like Apache, IIS, Lighttpd, Cherokee, Nginx and a backend databases MySQL, MongoDB, MariaDB, PostgreSQL, SQLite, MS SQL Server.

In this article, we will show how to perform a manual installation and configuration of Drupal 8 on RHEL 7/6, CentOS 7/6 and Fedora 20-25 distributions using LAMP setup.

Drupal Requirement:

  • Apache 2.x (Recommended)
  • PHP 5.5.9 or higher (5.5 recommended)
  • MySQL 5.5.3 or MariaDB 5.5.20 with PHP Data Objects (PDO)
For this setup, I am using website hostname as “drupal.tecmint.com” and IP address is “192.168.0.104“. These settings may differ at your environment, so please make changes as appropriate.

Step 1: Installing Apache Web Server

  1. First we will start with installing Apache web server from the official repositories:
# yum install httpd
    2. After the installation completes, the service will be disabled at first, so we need to start it manually for the mean time and enable it to start automatically from the next system boot as well:
------------- On SystemD - CentOS/RHEL 7 and Fedora 22+ ------------- 
# systemctl start httpd
# systemctl enable httpd
------------- On SysVInit - CentOS/RHEL 6 and Fedora ------------- 
# service httpd start
# chkconfig --level 35 httpd on 
3. Next, in order to allow access to Apache services from HTTP and HTTPS, we have to open 80 and 443 port where the HTTPD daemon is listening as follows:
------------- On FirewallD - CentOS/RHEL 7 and Fedora 22+ ------------- 
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload
------------- On IPtables - CentOS/RHEL 6 and Fedora 22+ ------------- 
# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
# service iptables save
# service iptables restart 
4. Now verify that Apache is working fine, open a remote browser and type your server IP Address using HTTP protocol in the URL:http://server_IP, and the default Apache2 page should appear as in the screenshot below.
Apache Default Page
Apache Default Page

Step 2: Install PHP Support for Apache

5. Next, install PHP and the required PHP modules.
# yum install php php-mbstring php-gd php-xml php-pear php-fpm php-mysql php-pdo php-opcache
ImportantIf you want to install PHP 7.0, you need to add the following repositories: EPEL and Webtactic in order to install PHP 7.0 using yum:
------------- Install PHP 7 in CentOS/RHEL and Fedora ------------- 
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# yum install php70w php70w-opcache php70w-mbstring php70w-gd php70w-xml php70w-pear php70w-fpm php70w-mysql php70w-pdo
6. Next, to get a full information about the PHP installation and all its current configurations from a web browser, let’s create a info.php file in the Apache DocumentRoot (/var/www/html) using the following command.
# echo "" > /var/www/html/info.php 
then restart HTTPD service and enter the URL http://server_IP/info.php in the web browser.
# systemctl restart httpd
OR
# service httpd restart
Verify PHP Information
Verify PHP Information

Step 3: Install and Configure MariaDB Database

7. For your information, Red Hat Enterprise Linux/CentOS 7.0 moved from supporting MySQL to MariaDB as the default database management system.

To install MariaDB database, you need to add the following official MariaDB repository to file /etc/yum.repos.d/MariaDB.repo as shown.
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Once the repo file in place you can able to install MariaDB like so:
# yum install mariadb-server mariadb
8. When the installation of MariaDB packages completes, start the database daemon for the mean time and enable it to start automatically at the next boot.
------------- On SystemD - CentOS/RHEL 7 and Fedora 22+ ------------- 
# systemctl start mariadb
# systemctl enable mariadb
------------- On SysVInit - CentOS/RHEL 6 and Fedora ------------- 
# service mysqld start
# chkconfig --level 35 mysqld on
9. Then run the mysql_secure_installation script to secure the database (set root password, disable remote root login, remove test database and remove anonymous users) as follows:
# mysql_secure_installation
Mysql Secure Installation
Mysql Secure Installation

Step 4: Install and Configure Drupal 8 in CentOS

10. Here, we will start by downloading the latest Drupal version (i.e 8.2.6) using the wget command. If you don’t have wget and gzip packages installed, then use the following command to install them:
# yum install wget gzip
# wget -c https://ftp.drupal.org/files/projects/drupal-8.2.6.tar.gz
11. Afterwards, let’s extract the tar file and move the Drupal folder into the Apache Document Root (/var/www/html).
# tar -zxvf drupal-8.2.6.tar.gz
# mv drupal-8.2.6 /var/www/html/drupal
12. Then, create the settings file settings.php, from the sample settings file default.settings.php) in the folder (/var/www/html/drupal/sites/default) and then set the appropriate permissions on the Drupal site directory, including sub-directories and files as follows:
# cd /var/www/html/drupal/sites/default/
# cp default.settings.php settings.php
# chown -R apache:apache /var/www/html/drupal/
13. Importantly, set the SELinux rule on the folder “/var/www/html/drupal/sites/” as below:
# chcon -R -t httpd_sys_content_rw_t /var/www/html/drupal/sites/
14. Now we have to create a database and a user for the Drupal site to manage.
# mysql -u root -p
Enter password: 
MySQL Shell
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]> create database drupal;
Query OK, 1 row affected (0.00 sec)
MySQL [(none)]> create user ravi@localhost identified by 'tecmint123';
Query OK, 0 rows affected (0.00 sec)
MySQL [(none)]> grant all on drupal.* to ravi@localhost;
Query OK, 0 rows affected (0.00 sec)
MySQL [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MySQL [(none)]> exit
Bye
15. Now finally, at this point, open the URL: http://server_IP/drupal/ to start the web installer, and choose your preferred installation language and Click Save to Continue.
Drupal Installation Language
Drupal Installation Language
16. Next, select an installation profile, choose Standard and click Save to Continue.
Drupal Installation Profile
Drupal Installation Profile
17. Look through the requirements review and enable clean URL before moving forward.
Verify Drupal Requirements
Verify Drupal Requirements
Now enable clean URL drupal under your Apache configuration.
# vi /etc/httpd/conf/httpd.conf
Make sure to set AllowOverride All to the default DocumentRoot /var/www/html directory as shown in the screenshot below.
Enable Clean URL in Drupal
Enable Clean URL in Drupal
18. Once you enabled clean URL for Drupal, refresh the page to perform database configurations from the interface below; enter the Drupal site database name, database user and the user’s password.
Once filled all database details, click on Save and Continue.
Drupal Database Configuration
Drupal Database Configuration
If the above settings were correct, the drupal site installation should start successfully as in the interface below.
Drupal Installation
Drupal Installation
19. Next configure the site by setting the values for (use values that apply to your scenario):
  1. Site Name – TecMint Drupal Site
  2. Site email address – admin@tecmint.com
  3. Username – admin
  4. Password – ##########
  5. User’s Email address – admin@tecmint.com
  6. Default country – India
  7. Default time zone – UTC
After setting the appropriate values, click Save and Continue to finish the site installation process.
Drupal Site Configuration
Drupal Site Configuration
20. The interface that follows shows successful installation of Drupal 8 site with LAMP stack.
Drupal Site Dashboard
Drupal Site Dashboard

jueves, 22 de junio de 2017

Instalación y configuración del servicio de enrutamiento para una máquina con varias tarjetas de red

Para poder configurar na máquina con dos o más tarjetas de red y que esta funcione como router es necesario instalar el servicio de Windows Server de “Enrutamiento y acceso remoto”.
Para poder instalarlo debemos de agregarlo desde las funciones del servidor de Windows Server. Vamos a Inicio>Administrador del servidor>funciones>Agregar funciones:
En la pantalla de funciones del servidor seleccionaremos la casilla de servicios de acceso y directivas de redes:

En la parte de servicios de función activamos la del servicio de enrutamiento y acceso remoto, así como las dos casillas resultantes.
Luego lo instalamos.
Una vez lo hayamos instalado debemos irnos a Inicio>Herramientas Administrativas>Enrutamiento y Acceso Remoto para empezar con la configuración del servicio. En caso de que el servicio no se haya habilitado por defecto lo hacemos nosotros con el click derecho sobre el nombre del servidor y luego en “configurar y habilitar Enrutamiento y Acceso Remoto”:
Se iniciará un asistente y deberemos elegir la opción de “Traducción de direcciones de red (NAT)”
En la siguiente ventana nos pide que selecciones la tarjeta de red que tiene conexión a Internet la cual va a hacer las funciones de puerta de enlace.
En la siguiente pantalla nos pide esta vez la tarjeta de red por la que van a llegar las peticiones de los clientes a los que queremos dar servicio de router:
Y con esto ya lo tendremos instalado y configurado.
Por defecto no va a filtrar ningún tipo de tráfico por lo que se permite todo.
En nuestro caso hay ciertos momentos en los que será necesario filtrar cierto tipo de tráfico como puede ser la navegación. Para hacerlo debemos hacer click derecho sobre la interfaz que queremos que filtre el tráfico que pase por ella. Vamos a “Propiedades” y luego a la pestaña “General”:
Aquí nos aparece que podemos añadir filtros tanto de entrada como de salida. En nuestro caso vamos a filtrar todo el tráfico de navegación que vaya al puerto 80 o al 443 y que entre en la interfaz de la subred que tenemos.
Aquí nos da la opción de hacer el filtrado por “lista blanca” o por “lista negra”.
·         Lista blanca: Descartamos todos los paquetes que entren en la interfaz seleccionada y que no cumplan alguna de las reglas configuradas.
·         Lista negra: Permitimos todos los paquetes que entren en la interfaz seleccionada excepto aquellos que cumplan las reglas configuradas.
Para añadir una regla pulsamos en “Nuevo” y añadimos la red de origen desde donde van a llegar los paquetes, así como el protocolo y el puerto destino. Si algún campo lo dejamos en blanco pondrá “cualquiera” por defecto.
Aceptamos y ya se queda guardada la configuración.

miércoles, 24 de mayo de 2017

Requerimientos del sistema para Drupal 8

En una entrada anterior pusimos los requerimientos del sistema para drupal 6 y 7. Ahora os mostramos cuáles son los requisitos mínimos de la instalación de Drupal 8.

Drupal 8

Drupal 8 requiere como mínimo la versión de PHP 5.5.9 o posteriores, con la extensión CURL activada. Sin embargo, se recomienda utilizar 5.6.5 o superior. PHP 5.6 es la última versión menor de PHP, por lo que ofrece un rendimiento y mayor seguridad. Desde 5.6.5 (y 5.5.21) PHP proporciona una función de protección contra inyecciones de SQL para bases de datos MySQL. PHP 7 es la mejor elección, una vez liberado, por su mejoras en el rendimiento.

Si su biblioteca curl es la versión 7.35 (por defecto en algunas distribuciones Ubuntu), hay un error que podría afectar de forma intermitente la conectividad con otros sitios.

Drupal 8 no puede ser instalado en hosts con la 'magic_quotes_gpc', 'magic_quotes_runtime', o 'safe_mode' en la configuración PHP que estén activados; estos valores están en desuso en PHP 5.3 y no tienen efecto ya en PHP 5.4 o superior.

PHP Data Objects (PDO) debe activarse para que Drupal 8 pueda instalarse y funcionar correctamente. En php.ini. Descomente (quite el punto y coma que lleva) en las líneas extension=php_pdo.dll, extension=php_pdo_mysql.dll . En Linux, estos serían extension=pdo.so and extension=pdo_mysql.so. Algunas distribuciones de Linux pueden tener estas extensiones por defecto en los archivos que se encuentran en la carpeta conf.d (Ubuntu 12.04: /etc/php5/conf.d tiene pdo.ini y pdo_mysq.ini). Si estas líneas no están allí, tendrá que agregarlas manualmente. La versión PECL de PDO no es compatible con Drupal 8 y no se puede utilizar.

El Administrador de actualizaciones de Drupal 8 puede instalar/actualizar módulos y temas a través de SSH si las bibliotecas necesarias se han instalado en el servidor. Si tiene derechos de administrador en un servidor Debian / Ubuntu, y SSH no está disponible (ver phpinfo ) por lo general se puede instalar ejecutando:

apt-get install libssh2-php.
Drupal 8 puede requerir el parámetro de tiempo (max_execution_time) que este como mínimo seteado a 30 segundos.

Si se utiliza la memoria caché opcode APC con Drupal 8, este requiere como mínimo APC 3.1.13 o superior. PHP 5.5 tiene el caché Zend opcode incorporado. Se necesita también php5-ctype.

La siguiente es la lista de requisitos de PHP para Drupal 8 beta 12:


lunes, 22 de mayo de 2017

Requerimientos del sistema para Drupal

Para instalar y correr Drupal, el servidor debe de tener ciertas características mínimas. La mayor parte de la empresas de alojamiento de sitios web contienen estas características. Sin embargo, algunas compañías se destacan por su apoyo a la comunidad de Drupal. Si necesitas alojar tu sitio considera seleccionar alguna de las compañías de alojamiento que soportan a nuestra comunidad.

Sistema Operativo

Drupal funciona en cualquier sistema operativo linux y windows que soporte tanto los servidores webs como los de base de datos recomendados. No obstante la mayor parte de la comunidad sugiere que por seguridad es más recomendable un sistema Linux y entre estos Ubuntu es la distro más valorada.

Espacio en Disco

Una instalación mínima requiere 15 MB. 60 MB se necesitan con un sitio con muchos módulos instalados y temas. Tenga en cuenta que necesitara mucho mas para la base de datos, archivos cargados por los usuarios , copias de seguridad y otros.

Servidor Web

Apache, Nginx, o Microsoft IIS
Mas detalles del servidor web

Base de datos:

Drupal 6: MySQL 4.1 o versión posterior, PostgreSQL 7.1,
Drupal 7: MySQL 5.0.15 o versión posterior con PDO, PostgreSQL 8.3 o versión mas alta con PDO, SQLite 3.3.7 o posterior

Drupal 8: MySQL 5.5.3/MariaDB 5.5.20/Percona Server 5.5.8 versión posterior con PDO y InnoDB motor de almacenamiento compatible, PostgreSQL 8.3 o posterior con PDO, SQLite 3.4.2 o mas alta.

Microsoft SQL Server and Oracle son soportados utilizando módulos adicionales.
Mas detalle sobre la base de datos.

PHP

Drupal 6: PHP 5.x solamente (5.2.5 o version posterior se recomienda ). Aviso: soporte para PHP 4.x ha sido descontinuado. El nucleo Drupal funciona con PHP 5.3.x, pero PHP 5.3.x y posteriores versiones pueden producir errores especialmente en modulos y temas desarrollados para extender la funcionalidad del nucleo.
Drupal 7: PHP 5.2.5 + (5.4 o posterior recomendado).
Drupal 8: PHP 5.5.9 o posterior

Más detalles sobre los requerimientos de PHP , incluyendo requerimientos de memoria

lunes, 6 de febrero de 2017

Backups y restauración en SQL Server

Introducción

Algo muy común entre las tareas de un administrador de sistemas es la copia de seguridad y restauración de nuestras bases de datos.
Si tenemos servicios bajo servidores Windows será normal que las bases de datos corran sobre SQL Server. Veamos como hacer copias de seguridad y restauración de una base de datos con SQL Server Managment Estudio.

Prerrequisitos

  1. Necesitamos tener instalado Microsoft SQL Server Management Studio para las conexiones con la base de datos y las tareas de copia y restauración. 
  2. Es necesario tener la misma versión de SQL Server tanto donde se realizó el backup como en el servidor donde se va a restaurar. No sería posible hacerlo en caso de haber hecho la copia en un Server 2008 R2 y ahora intentamos restaurarla en un Server 2003.

Backup

Para crear una copia de seguridad de nuestra base de datos debemos hacer lo siguiente:
  • Iniciamos sesión en la instancia de SQL Server mediante la aplicación de SQL Server Management Studio:
  • Una vez que nos hemos logueado, en la columna de la izquierda debemos buscar nuestra base de datos y hacemos click derecho sobre ella. Ahora seleccionamos la opción "Task" y luego "Backup":

  • Debemos seleccionar que el backup se realice de forma completa. Cabe la posibilidad de realizar backups diferenciales las cuales se basan en un backup completo realizado anteriormente y al que se han añadido algunos datos que se han modificado desde dicho backup completo. Nosotros lo haremos de toda la base de datos por lo que en el campo "Backup type:" debemos escoger la opción "Full":
  • Debemos indicar una ruta correcta para guardar el archivo .bak resultante. Esta ruta debe estar en un dispositivo el cual tenga espacio suficiente para almacenar la copia completamente. Se nos propone una ruta por defecto que está en la carpeta de configuración de SQL Server. Pero si queremos especificar una nosotros podemos hacerlo pulsando en "Add" y añadiéndose la que deseemos:
  • Para realizar la copia pulsamos en "OK" y luego "OK" de nuevo para cuando esta se haya completado:

Restauración

La restauración se realiza de manera sencilla desde el programa de Management Studio.
Un requisito indispensable es que no debe haber conexiones activas cuando vayamos a realizar la restauración puesto que de otra forma no funcionaría.
Los pasos a seguir son:
  • De nuevo debemos acceder al SQL Server Management Studio y nos debemos loguear con  nuestras credenciales de administrador de base de datos:
  • Una vez que nos hemos logueado, en la columna de la izquierda debemos buscar nuestra base de datos y hacemos click derecho sobre ella. Ahora seleccionamos la opción "Task", "Restore" y luego "Database":
  • Debemos señalar la opción donde nos dice que la base de datos se va a restaurar desde un dispositivo. Ahí si pulsamos en el botón de la derecha del campo podremos buscar el .bak de origen y seleccionarlo:
  • Una vez añadido el archivo debemos marcar el check de "restore":
  • Ahora en la columna de la izquierda seleccionamos "Options" y marcamos la opción "Overwrite the existing databases (WITH REPLACE)" para que sobrescriba todos los datos que pudiera haber con anterioridad:
  • Pulsamos en "OK" para que realice la restauración y luego de nuevo en "OK" para terminar:
Con esto ya tendremos nuestra backup de la base de datos y la misma restaurada.
Saludos curiosos.

    lunes, 16 de enero de 2017

    Al actualizar a Windows 10 no funciona bien la barra de tareas o el buscador

    Hace unos 2 meses he instalado la famosa actualización aniversario de windows 10.
    Dicha actualización , a parte de traer muchas mejoras en cuestiones estéticas y de funcionamiento del sistema operativo; también está provocando muchos errores.
    Uno de ellos es que tras la actualización deja de funcionar la barra de tareas de windows o la búsqueda de inicio.

    Pero como en casi todo en la vida hay solución, os traemos unos comandos de powershell que solucionan el problema.

    En primer lugar decir que este problema viene dado por un mal funcionamiento en dicho menú de inicio y búsqueda el cual tras la actualización corrompe una clave de registro. Esta clave al ser necesaria para el sistema operativo no se puede borrar o deshabilitar, pero si que se puede actualizar y eso es lo que vamos a hacer nosotros.

    Para hacer debemos entrar en powershell como administrador, para ello pulsamos botón derecho sobre el icono de windows en la esquina inferior izquierda del escritorio de windows 10 y seleccionamos Símbolo del sistema (administrador).

    Aquí debemos escribir "powershell":
    C:\WINDOWS\system32>powershell
    Con esto accedemos al Powershell de windows y aquí usamos el siguiente comando para actualizar las claves de registros relacionadas con la búsqueda y el menú de inicio de windows:
    PS C:\WINDOWS\system32>Get-appxprovisionedpackage –online | where-object {$_.packagename –like “*windowscommunicationsapps*”} | remove-appxprovisionedpackage –online
    Ahora hay que reiniciar el equipo.
    Si tras hacerlo aun no nos funciona la barra de tareas o el buscador debemos ejecutar el siguiente comando:
    PS C:\WINDOWS\system32>Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml”}
    Saludos curiosos.

    Install Drupal 8 in CentOS

    Drupal is an open source, flexible, highly scalable and secure Content Management System (CMS) which allows users to easily build and create...