Drupal es un sistema de gestión de contenido de código abierto basado en PHP y distribuido bajo la Licencia Pública General GNU. Drupal es una plataforma escalable y abierta para la gestión de contenido web, su comunidad proporciona más de 31.000 módulos para ampliar las funciones principales y Drupal es utilizado por al menos el 2,1% de todos los sitios web en Internet. A fines de 2015, el proyecto Drupal lanzó la nueva versión principal Drupal 8 que cubriré en este tutorial.
En este tutorial, le mostraré cómo instalar Drupal 8 en Ubuntu 15.10 con Apache como servidor web, MySQL como base de datos y cómo asegurar el sitio web con SSL.
Requisitos previos
- Ubuntu 15.10 - 64 bits.
- Privilegios de raíz.
Paso 1 - Instalar Apache y PHP
Instalaré apache y PHP (y algunos módulos de PHP que requiere Drupal) con apt, el instalador de paquetes de Ubuntu. Luego habilitaremos los módulos de apache mod_rewrite y mod_ssl.
Actualice el repositorio de Ubuntu e instale Apache:
sudo su
apt-get update
apt-get install apache2 -y
Luego instale PHP 5 y los módulos de PHP con el siguiente comando:
apt-get install -y php5 libapache2-mod-php5 php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-apcu
Ahora habilite Apache SSL y reescriba los módulos con 'a2enmod ' dominio. Reinicie Apache para aplicar los cambios de configuración:
a2enmod rewrite ssl
systemctl restart apache2
Verifique que los módulos estén cargados con el comando:
apache2ctl -M | egrep 'ssl|rewrite'
La salida debe mostrar las siguientes líneas:
#Enabled
rewrite_module (shared)
ssl_module (shared
Entonces mod-rewrite y mod-ssl están cargados.
Ahora comprobaré que Apache y PHP funcionan bien. Cree un nuevo archivo en el directorio "/var/www/html/". El archivo contiene el comando phpinfo():
cd /var/www/html
echo "<?php phpinfo(); ?>" > info.php
visite la IP del servidor:192.168.1.100/info.php
El resultado debería ser similar a esta captura de pantalla.
Eliminar el archivo info.php:
rm -f /var/www/html/info.php
Como un archivo info.php de acceso público es un riesgo de seguridad.
Paso 2:instalar y configurar la base de datos MySQL
En este paso, instalaremos MySQL 5.6 y crearemos una nueva base de datos para Drupal. Crearemos una base de datos con el nombre 'drupaldb ', un nuevo usuario 'drupaluser ' con la contraseña '[correo electrónico protegido] ', y otorgue al usuario acceso a la base de datos.
Instale MySQL con el siguiente comando:
apt-get install mysql-server mysql-client -y
El proceso de instalación le pedirá la contraseña de MySQL, elija una contraseña segura.
Ahora inicie sesión en la base de datos MySQL con el usuario "root" y la contraseña que ha elegido anteriormente, luego cree la base de datos y el usuario para drupal.
Puede usar los siguientes comandos:
mysql -u root -p
create database drupaldb;
create user [email protected] identified by '[email protected]';
grant all privileges on drupaldb.* to [email protected] identified by '[email protected]';
flush privileges;
exit
La configuración de la base de datos ha finalizado.
Paso 3:instalar y configurar SSL
Usaremos SSL para habilitar el acceso seguro a Drupal. Cree un nuevo directorio para ssl en el directorio de configuración de apache, luego cree un certificado SSL con el comando OpenSSL y cambie el permiso del archivo de certificado.
Vaya al directorio de apache, cree un directorio ssl e ingréselo:
cd /etc/apache2/
mkdir ssl
cd ssl/
Genere un certificado SSL autofirmado:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/drupalssl.key -out /etc/apache2/ssl/drupalssl.crt
Cambie el permiso del archivo de certificado:
chmod 600 *
Se crea el nuevo archivo de certificado SSL.
Paso 4:configurar Apache Virtualhost
En este paso, crearemos un directorio para Drupal dentro del directorio /var/www y agregaremos un nuevo archivo de configuración de host virtual para Drupal.
mkdir -p /var/www/drupal
cd /etc/apache2/sites-available
Ahora crea un nuevo archivo llamado 'drupal.conf ' con vim que contendrá la configuración del host virtual de Apache:
vim drupal.conf
Pegue la configuración del host virtual a continuación:
<VirtualHost *:80> ServerName www.mydrupal.co DocumentRoot /var/www/drupal # Redirect http to https RedirectMatch 301 (.*) https://www.mydrupal.co$1 </VirtualHost> <VirtualHost _default_:443> # Server Info ServerName www.mydrupal.co ServerAlias mydrupal.co ServerAdmin [email protected] # Web root DocumentRoot /var/www/drupal # Log configuration ErrorLog ${APACHE_LOG_DIR}/drupal-error.log CustomLog ${APACHE_LOG_DIR}/drupal-access.log combined # Enable/Disable SSL for this virtual host. SSLEngine on # Self signed SSL Certificate file SSLCertificateFile /etc/apache2/ssl/drupalssl.crt SSLCertificateKeyFile /etc/apache2/ssl/drupalssl.key <Directory "/var/www/drupal"> Options FollowSymLinks AllowOverride All Require all granted </Directory> <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 # MSIE 7 and newer should be able to use keepalive BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </VirtualHost>
Reemplace el nombre de dominio www.mydrupal.co con el nombre de dominio de su sitio web de Drupal.
Guarde el archivo y salga.
Ahora pruebe la configuración de apache con el comando:
apachectl configtest
Si ve "Sintaxis ok ", entonces la configuración de apache es correcta.
Ahora active el host virtual de Drupal y reinicie Apache:
a2ensite drupal
systemctl restart apache2
El host virtual está creado y configurado.
Paso 5:instalar y configurar Drupal 8
Tenemos que instalar git y drush antes de instalar Drupal. Así que vamos a instalarlos con el siguiente comando apt:
apt-get install git drush -y
Ahora ve al directorio de Drupal y descarga la nueva versión de Drupal 8 con el 'comando drush'.
cd /var/www/drupal
drush dl drupal-8
Mueva todos los archivos de Drupal a "/var/www/drupal":
mv drupal-8.0.1/* .
rm -rf drupal-8.0.1/
Vaya al directorio 'sites/default' y copie los dos archivos de configuración 'settings.php ' y 'servicios.yml ':
cd sites/default
cp default.settings.php settings.php
cp default.services.yml services.yml
Luego crea un nuevo directorio 'archivos ' y cambie el permiso de todos los archivos y carpetas en el directorio 'sites/default':
mkdir files/
chmod a+w *
Vaya al directorio '/var/www/' y cambie el propietario del directorio drupal al usuario y grupo 'www-data':
cd /var/www/
chown -R www-data:www-data drupal/
La parte de shell de la instalación de Drupal está terminada, visite el dominio de Drupal de su sitio web "www.mydrupal.co " y cambiará automáticamente a la conexión https.
Elija su idioma, usaré 'Inglés ' aquí.
Seleccione 'Estándar ' perfil de instalación.
Cuando su servidor esté listo para Drupal (como nuestro servidor cuando usó los pasos de instalación anteriores), pasará a la sección 'Verificar requisitos' y continuará con la configuración de la base de datos. Complete los detalles de la base de datos MySQL que creamos anteriormente:
Haga clic en "Guardar y continuar" y espere hasta que finalice el proceso de instalación.
Ahora configure el sitio, la cuenta de administrador, el correo electrónico, el nombre del sitio, etc.
Drupal está instalado y configurado.
Conclusión
Drupal es un sistema de gestión de contenido basado en PHP, es utilizado por al menos el 2,1% de todos los sitios web en Internet. Hasta ahora, Drupal ha lanzado la versión 8 y proporciona muchos módulos adicionales que hacen que Drupal sea realmente útil. Podemos instalar Drupal en cualquier servidor que soporte MySQL o MariaDB como base de datos, un servidor web como Apache o Nginx y el lenguaje de programación PHP. Drupal es fácil de instalar y configurar.