En este tutorial, le mostraremos cómo instalar Mezzanine en CentOS 7. Mezzanine es un sistema de administración de contenido gratuito y de código abierto (también conocido como CMS), creado con el marco de aplicación web de Django. Es un conjunto de componentes útiles que ayuda a los desarrolladores a crear sitios web de manera fácil y rápida para una variedad de propósitos. Proporciona una interfaz intuitiva para administrar y crear páginas web, publicaciones de blog, datos de formularios, almacenar productos y muchos otros tipos de contenido.
A diferencia de otras aplicaciones CMS populares, todas estas funcionalidades están disponibles listas para usar, sin necesidad de utilizar módulos o complementos adicionales. Instalación de Mezzanine CMS en CentOS 7 es una tarea fácil si sigue cuidadosamente los pasos a continuación.
Requisitos
- Un servidor que ejecuta CentOS 7
- Acceso SSH con privilegios de root, o acceso al usuario root
Paso 1:Iniciar sesión y actualizar paquetes
Primero, necesitaremos iniciar sesión en nuestro servidor usando SSH. Puede hacerlo ingresando este comando:
ssh root@IP_Address -p Port_Number
Recuerde reemplazar "root" con su nombre de usuario si no está utilizando el usuario root. Cambie "IP_Address" y "Port_Number" según la dirección IP y el puerto de su servidor.
Una vez que haya iniciado sesión, debe actualizar todos sus paquetes a sus últimas versiones disponibles, de esa manera podemos maximizar la compatibilidad y evitar posibles discrepancias de versión:
# yum update
Paso 2:Instalar herramientas de desarrollo
Se requiere el paquete de "Herramientas de desarrollo" para construir módulos de Python. podemos instalarlo usando este comando:
# yum groupinstall 'Development Tools'
Paso 3:Instale Python 3.6
Para instalar la versión 3.6 de Python, necesitamos el centos-release-scl
y epel-release
repositorios Puede instalarlos con este comando:
# yum install centos-release-scl epel-release
Una vez hecho esto, puede instalar Python 3.6. Además, instalaremos nano
, un editor de texto versátil (opcional) y Nginx
, un servidor web altamente personalizable:
# yum install rh-python36 nano nginx
Paso 4:Instale el servidor MariaDB
Instalar el servidor de base de datos MariaDB es fácil y solo requiere un comando:
# yum install mariadb-server
Una vez que haya terminado de instalarse, habilitemos que se ejecute en el arranque y luego iniciemos el servicio.
# systemctl enable mariadb # systemctl start mariadb
En este punto, MariaDB se está ejecutando y ahora vamos a crear una contraseña para el usuario root. Ejecute el siguiente comando para crear una contraseña raíz, elimine la base de datos de prueba, elimine el usuario anónimo antes de finalmente volver a cargar los privilegios.
# mysql_secure_installation
Cuando se le solicite, responda las siguientes preguntas siguiendo la guía.
Enter current password for root (enter for none): Just press the [Enter] key, since no password is currently set. Set root password? [Y/n]: Y New password: Enter a new password Re-enter new password: Repeat the new password Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Paso 5:Crear una base de datos para Mezzanine
Vamos a crear uno usando los siguientes comandos. Primero, debemos iniciar sesión en la interfaz de línea de comandos de MariaDB:
# mysql -u root -p
A partir de ahí, podemos crear nuestra base de datos:
mysql> create database mezzanine; Query OK, 1 row affected (0.00 sec)
Una vez que se haya creado la base de datos, crearemos un usuario y le proporcionaremos acceso completo a la base de datos Mezzanine:
mysql> grant all on mezzanine.* to mezzanine@localhost identified by 'Password'; Query OK, 0 rows affected, 1 warning (0.00 sec)
Recuerde vaciar todos los privilegios para que los cambios surtan efecto:
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
Luego salga de la interfaz de línea de comandos.
mysql> quit
Paso 6:Cree un usuario del sistema intermedio
Antes de continuar, creemos un nuevo usuario para nuestra instalación Mezzanine:
# adduser mezzanine
A continuación, agregaremos este nuevo usuario al grupo sudo:
# usermod -aG wheel mezzanine
Paso 7:Crear un entorno virtual
Crearemos un entorno virtual bajo el usuario del sistema que creamos anteriormente:
# su - mezzanine
Para habilitar python3.6 en esta sesión de shell, debemos ejecutar este comando:
$ scl enable rh-python36 bash
Puede verificar la versión de python ahora.
$ python -V
Ahora podemos crear un entorno virtual. El siguiente comando creará un entorno virtual llamado "mezzanine":
$ python -m venv mezzanine
Para usar el entorno virtual, primero necesitaremos activarlo emitiendo este comando:
$ source mezzanine/bin/activate
Una vez activado, el indicador de shell se verá así:
Paso 8:Instalar y crear un proyecto intermedio
Primero, instalaremos un paquete de Python llamado "mezzanine". Esto es necesario para que Mezzanine funcione correctamente.
$ pip install mezzanine
Después de eso, podemos crear nuestro primer proyecto Mezzanine.
$ mezzanine-project first_project
El comando anterior agregará un nuevo directorio llamado "first_project". En su servidor, puede elegir cualquier nombre de proyecto que desee. Recuerde seguir el cambio de nombre durante el resto del tutorial.
Paso 9:configurar el proyecto intermedio
En este paso, necesitamos editar el settings.py
archivo dentro de nuestro primer directorio del proyecto. Usaremos MySQL para el almacenamiento de nuestra base de datos:
$ cd first_project
$ nano first_project/settings.py
Localice el bloque BASES DE DATOS y agregue la siguiente información sobre la base de datos que hemos creado anteriormente.
DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", "NAME": "mezzanine", "USER": "mezzanine", "PASSWORD": "Password", "HOST": "", "PORT": "", } }
Guarde los cambios y salga.
También encontrará el script principal para administrar proyectos en este directorio, que se llama manage.py
.
Usaremos este script para migrar la base de datos y crear una nueva cuenta de superusuario para nuestra interfaz de administración Mezzanine.
Migremos la base de datos ejecutando los siguientes comandos:
$ python manage.py makemigrations $ python manage.py migrate
Una vez migrada la base de datos, podemos crear un nuevo usuario administrativo con lo siguiente:
$ python manage.py createsuperuser
Ingrese la información requerida para crear el nuevo usuario administrador:
Username (leave blank to use 'mezzanine'): Email address: [email protected] Password: Password (again): Superuser created successfully.
A continuación, abra el siguiente archivo para editarlo:
$ nano first_project/local_settings.py
Busque la línea ALLOWED_HOSTS y luego agregue la dirección IP de su servidor y/o su nombre de dominio.
ALLOWED_HOSTS = ["localhost", "127.0.0.1", "::1", "your-server-IP", "your-domain-name"]
Guarde el archivo y salga del editor de texto nano.
Paso 10:Inicie el servidor intermedio
Para iniciar y ejecutar el servidor Mezzanine, ejecute el siguiente comando:
$ python manage.py runserver 0.0.0.0:8000
Ahora podrá acceder a la aplicación usando su navegador preferido en http://your_server_ip:8000/
.
Luego puede acceder a la página de administración de Mezzanine e iniciar sesión con su usuario administrador en http://your_server_ip:8000/admin
Para detener la ejecución del servidor, simplemente puede hacer Ctrl+C.
Paso 11:configurar un proxy inverso
Para administrar mejor la aplicación Mezzanine CMS, necesitamos instalar Gunicorn. Gunicorn es un servidor HTTP de interfaz de puerta de enlace de servidor web Python. Es un modelo de trabajador previo a la bifurcación, portado del proyecto Unicornio de Ruby. El servidor Gunicorn es compatible con una gran cantidad de marcos web, su implementación es simple, es liviano en recursos del servidor y es bastante rápido. Para instalarlo, simplemente ejecute estos siguientes comandos.
$ pip install gunicorn $ python manage.py collectstatic $ deactivate $ exit
Una vez que se haya completado la instalación, use nano (o su editor de texto preferido) para crear el archivo de servicio.
# nano /etc/systemd/system/gunicorn.service
Cuando el archivo se haya abierto, establezca los siguientes valores copiando y pegando lo siguiente:
[Unit] Description=gunicorn daemon After=network.target [Service] User=mezzanine Group=nginx WorkingDirectory=/home/mezzanine/first_project ExecStart=/home/mezzanine/mezzanine/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/mezzanine/first_project.sock first_project.wsgi:application [Install] WantedBy=multi-user.target
¡Recuerde cambiar “first_project” por el nombre de su proyecto Mezzanine! Cierra y archiva y ejecuta el siguiente comando para recargar la lista de servicios.
# systemctl daemon-reload
Ahora, podemos iniciar, detener y reiniciar la aplicación Mezzanine CMS usando el comando systemctl:
# systemctl start gunicorn
Si desea que se ejecute en el arranque, necesitaremos habilitarlo.
systemctl enable gunicorn
Gunicorn ahora se ha configurado correctamente. Ahora, para acceder a él usando su nombre de dominio en el navegador web, instalaremos y configuraremos Nginx para pasar el proxy a Gunicorn.
Vamos a crear un archivo de bloque de servidor Nginx. Asegúrate de cambiar tu_dominio.com por tu nombre de dominio real.
# nano /etc/nginx/conf.d/your_domain.com.conf
Luego pegue lo siguiente en el archivo:
server { listen 80; server_name your_domain.com; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /home/mezzanine/first_project; } location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://unix:/home/mezzanine/first_project.sock; } }
Guardar y salir una vez terminado. Ejecute los siguientes comandos para cargar los cambios, inicie Nginx y permita que se inicie en el arranque.
# nginx -t # systemctl start nginx # systemctl enable nginx
Para otorgar permisos a Nginx para acceder a su aplicación Mezzanine CMS, debemos agregar el usuario de Nginx al grupo de usuarios que puede ejecutar Mezzanine CMS.
# usermod -aG mezzanine nginx
Luego, también necesitaremos cambiar los permisos de directorio de la casa del usuario de Mezzanine.
# chmod 710 /home/mezzanine
Reinicie Nginx para que los cambios surtan efecto.
# systemctl restart nginx
Eso es todo, debería poder acceder a su aplicación Mezzanine CMS en http://yourdomain.com
ahora. ¡Felicitaciones!
Por supuesto, no tiene que instalar Mezzanine CMS en CentOS 7 si utiliza uno de nuestros servicios de hospedaje Mezzanine CMS VPS, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que instalen Mezzanine CMS en su VPS por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD . Si te gustó esta publicación sobre cómo instalar Mezzanine CMS en CentOS 7 , compártalo con sus amigos en las redes sociales usando los botones a continuación o simplemente deje una respuesta en las secciones de comentarios. Gracias.