En este tutorial, le mostraremos cómo instalar Elgg en un VPS Ubuntu 18.04 con el servidor web Nginx.
Elgg es una plataforma de redes sociales de código abierto en la que los usuarios pueden crear todo tipo de entornos sociales, como una red social para todo el campus de su universidad, escuela o facultad, o una plataforma de colaboración interna para su organización. Ofrece muchas funciones adicionales, como blogs, microblogs, redes, grupos y mucho más.
Requisitos
- Para los propósitos de este tutorial, usaremos un VPS Ubuntu 18.04
- También necesitará una pila LEMP (Linux, Nginx, MySQL, PHP) que funcione.
- También se requiere acceso completo a la raíz SSH o un usuario con privilegios sudo.
Paso 1:Conéctese a su servidor
Antes de comenzar, deberá conectarse a su servidor a través de SSH como usuario raíz o como cualquier otro usuario que tenga privilegios de sudo.
Para conectarse a su servidor como usuario raíz, use el siguiente comando:
ssh root@IP_ADDRESS -p PORT_NUMBER
Asegúrese de reemplazar IP_ADDRESS y PORT_NUMBER con la dirección IP de su servidor real y el número de puerto SSH.
Una vez que haya iniciado sesión, asegúrese de que su servidor esté actualizado ejecutando los siguientes comandos:
sudo apt update sudo apt upgrade
Paso 2:Instalar LEMP
Antes de continuar con la instalación de Elgg, debemos preparar nuestro servidor y configurar una pila LEMP. Si ya tiene una pila LEMP en funcionamiento instalada en su servidor, puede omitir esto y continuar con el siguiente paso de este tutorial.
Comenzaremos con la instalación del servidor web Nginx. Para instalar Nginx en su servidor, ejecute el siguiente comando:
sudo apt install nginx
Para instalar el servidor de base de datos MySQL, ingrese el siguiente comando:
sudo apt install mysql-server
A continuación, puede ejecutar el siguiente comando para asegurar su instalación de MySQL:
sudo mysql_secure_installation
Si el programa le pide que ingrese su contraseña raíz actual de MySQL, simplemente presione la tecla [Enter] una vez, ya que no se establece una contraseña predeterminada al instalar MySQL.
Se mostrarán algunas preguntas más en la pantalla; se recomienda que responda afirmativamente a todas ingresando el carácter 'Y':
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
También deberá habilitar Nginx y MySQL para comenzar en el arranque con:
sudo systemctl enable nginx sudo systemctl enable mysql
Ahora es el momento de instalar PHP. Ubuntu 18.04 viene con PHP 7.2 de forma predeterminada, por lo que esa es la versión que instalaremos en este tutorial.
Para instalar PHP 7.2 junto con las otras extensiones requeridas por Elgg, ejecute el siguiente comando:
sudo apt install php7.2 php7.2-mysql php7.2-opcache php7.2-xml php7.2-xmlrpc php7.2-gd php7.2-mbstring php7.2-json
Para verificar que PHP 7.2 se haya instalado correctamente, ejecute el siguiente comando:
php -v
Debería obtener el siguiente resultado en su pantalla:
PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
Paso 3:Descarga Elgg
Ahora que tenemos nuestra pila LEMP configurada, podemos comenzar con nuestra instalación y configuración de Elgg.
Descarguemos la última versión estable de Elgg desde este enlace. Al momento de escribir este tutorial, la última versión estable es Elgg 3.0.3. Para descargar esta versión en su servidor, puede ejecutar el siguiente comando:
sudo wget https://elgg.org/download/elgg-3.0.3.zip
Extraigamos los archivos al /var/www
ubicación en nuestro servidor con la siguiente línea:
sudo unzip elgg-3.0.3.zip -d /var/www
unzip
paquete instalado en su servidor, puede instalarlo con el siguiente comando:sudo apt install unzip
Renombra el elgg-3.0.3
directorio a elgg
:
sudo mv /var/www/elgg-3.0.3 /var/www/elgg
Elgg necesita una carpeta especial para almacenar archivos cargados, como íconos de perfil y fotos. Por razones de seguridad, también se recomienda crear este directorio fuera del directorio raíz del documento de nuestra instalación de Elgg. El directorio se llamará data
y puedes crearlo con el siguiente comando:
sudo mkdir -p /var/www/data
El propietario de todos estos archivos debe ser el usuario del servidor web que se ejecuta en su sistema. En nuestro ejemplo, estamos usando el servidor web Nginx y Nginx se ejecuta bajo www-data
usuario en Ubuntu 18.04. Para cambiar el propietario y establecer los permisos correctos para estos archivos, debe ejecutar el siguiente comando:
sudo chown -R www-data:www-data /var/www/elgg sudo chown -R www-data:www-data /var/www/data sudo chmod -R 750 /var/www/elgg
Paso 4:configurar la base de datos
A continuación, debemos crear una nueva base de datos para nuestra aplicación Elgg. Para hacer esto, inicie sesión en su servidor de base de datos MySQL como usuario raíz escribiendo el siguiente comando:
sudo mysql -u root -p
Luego ingrese la contraseña que creó para su usuario de MySQL durante el paso 2 . Una vez que haya iniciado sesión, cree una nueva base de datos y un nuevo usuario ejecutando los siguientes comandos en el shell de MySQL:
CREATE DATABASE elgg_db; CREATE USER elgg_user@localhost IDENTIFIED BY 'strong-password'; GRANT ALL PRIVILEGES ON elgg_db.* TO elgg_user@localhost; FLUSH PRIVILEGES;
Puede reemplazar la base de datos y el nombre de usuario con los suyos propios y también asegurarse de reemplazar la contraseña segura con una contraseña segura real.
Para salir de la línea de comando del servidor de la base de datos MySQL, escriba:
exit
Paso 5:Configurar Nginx
En este paso, le mostraremos cómo crear un archivo de host virtual para Nginx; esto es para que pueda acceder a su Elgg usando su nombre de dominio.
Cree el archivo de host virtual ejecutando el siguiente comando:
sudo nano /etc/nginx/sites-enabled/elgg.conf
E ingrese la siguiente información:
server { listen 80; server_name mydomain.com; root /var/www/elgg; index index.php; access_log /var/log/nginx/elgg_access.log; error_log /var/log/nginx/elgg_error.log; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_keep_conn on; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
En nuestro ejemplo, usaremos un dominio llamado mydomain.com
. Asegúrese de reemplazar mydomain.com
con su nombre de dominio/subdominio real que le gustaría usar para su instancia de Elgg.
Para habilitar el bloqueo del servidor en Nginx, debe crear un enlace simbólico a sites-enabled
directorio. Use el siguiente comando para crear un enlace simbólico:
sudo ln -s /etc/nginx/sites-available/elgg.conf /etc/nginx/sites-enabled/elgg.conf
Compruebe si hay errores con la configuración de Nginx recién creada:
sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Si la sintaxis es correcta y no hay errores, podemos reiniciar Nginx.
sudo systemctl restart nginx
Paso 6:Instalación de Elgg mediante la interfaz web
Ahora puede navegar a http://mydomain.com
en su navegador para iniciar el asistente de instalación de Elgg.
La primera página comprobará si se cumplen todos los requisitos del servidor. Si faltan algunas dependencias, debe instalarlas en su servidor y luego actualizar la página nuevamente. Una vez que se asegure de que todo esté configurado correctamente, puede hacer clic en "Siguiente ” en la parte inferior de la página para continuar con el siguiente paso.
En la página siguiente, debe ingresar la información de su base de datos (nombre de usuario, nombre de la base de datos y contraseña). También deberá ingresar la ruta del directorio de datos (/var/www/data
) e ingrese la URL de su sitio (http://mydomain.com/
):
A continuación, deberá ingresar el nombre de su sitio y crear una cuenta de administrador antes de finalizar la instalación.
Una vez hecho esto, Elgg se habrá instalado correctamente en su sistema.
Ahora puede acceder a su panel de administración e iniciar sesión con su cuenta de administrador en http://mydomain.com/admin
¡Eso es todo! Elgg se instaló con éxito en su servidor Ubuntu 18.04.
Por supuesto, no tienes que saber cómo instalar Elgg en Ubuntu 18.04 si tiene Administrado Ubuntu Hosting o Managed Elgg Hosting con nosotros. Simplemente puede pedirle a nuestro equipo de soporte que instale Elgg en Ubuntu 18.04 por usted. Están disponibles las 24 horas del día, los 7 días de la semana, y podrán ayudarlo con la instalación de Elgg en Ubuntu 18.04.
PD . Si disfrutó leyendo esta publicación de blog sobre cómo instalar Elgg en Ubuntu 18.04, siéntase libre de compartirla en las redes sociales utilizando los accesos directos a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.