Cómo instalar Anchor CMS en Debian 9

Anchor es un sistema de blog super sencillo y ligero escrito en PHP. El código fuente de Anchor está alojado en GitHub. En este tutorial, recorreremos el proceso de instalación de Anchor CMS en un sistema operativo Debian 9 (stretch) utilizando NGINX como servidor web y MariaDB como servidor de base de datos.

Requisitos

Asegúrate de que tu servidor cumple los siguientes requisitos

  • MySQL 5.6 o superior (se recomienda MySQL 5.7)
  • PHP 7.1 o superior con las siguientes extensiones PHP: (curl, mcrypt, gd, mbstring, pdo_mysql o pdo_sqlite)
  • Software de servidor web Apache o NGINX instalado. En este tutorial, utilizaremos NGINX.

Requisitos previos

  • Sistema operativo Debian 9.
  • Un usuario no root con privilegios sudo.

Pasos iniciales

Comprueba la versión de tu sistema Debian:

lsb_release -ds
# Debian GNU/Linux 9.7 (stretch)

Configura la zona horaria:

dpkg-reconfigure tzdata

Actualiza los paquetes de tu sistema operativo (software). Este es un primer paso importante porque garantiza que dispones de las últimas actualizaciones y correcciones de seguridad de los paquetes de software predeterminados de tu sistema operativo:

apt update && apt upgrade -y

Instala algunos paquetes esenciales que son necesarios para la administración básica del sistema operativo Debian:

apt install -y curl wget vim git sudo unzip socat bash-completion dirmngr apt-transport-https

Paso 1 – Instalar PHP y las extensiones PHP necesarias

Anchor CMS requiere PHP versión 7.1 o superior. Debian tiene la versión 7 de PHP en el repositorio por defecto, por lo que tendrás que utilizar el repositorio de terceros para instalar una versión más reciente.

sudo apt-get install apt-transport-https lsb-release ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update

Instala PHP, así como las extensiones PHP necesarias:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-curl php7.2-mysql php7.2-sqlite3 php7.2-gd php7.2-xml

Comprueba la versión de PHP:

php --version

# PHP 7.2.16-1+0~20190307202415.17+stretch~1.gbpa7be82 (cli) (built: Mar  7 2019 20:24:15) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
# with Zend OPcache v7.2.16-1+0~20190307202415.17+stretch~1.gbpa7be82, Copyright (c) 1999-2018, by Zend Technologies

Paso 2 – Instalar MariaDB y crear una base de datos para Anchor CMS

Anchor admite bases de datos MySQL/MariaDB y SQLite. El repositorio Debian por defecto contiene una versión no compatible de MariaDB. Por ello, utilizaremos el repositorio oficial de MariaDB que contiene una versión más reciente de MariaDB.

Instala MariaDB:

sudo apt install -y mariadb-server

Comprueba la versión de MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.1.37-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Ejecuta el script mysql_secure installation para mejorar la seguridad de MariaDB y establece la contraseña para el usuario de MariaDB root:

sudo mysql_secure_installation

Responde a todas las preguntas como se muestra a continuación:

Enter current password for root (enter for none):
Set root password? [Y/n]: Y
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

Entra en el shell de MariaDB como usuario root:

mysql -u root -p
# Enter password

Crea una base de datos MariaDB y un usuario que utilizarás para la instalación de Anchor CMS, y recuerda las credenciales:

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Sal del intérprete de comandos MariaDB:

quit

Paso 3 – Instalar y configurar NGINX

Instala el servidor web NGINX:

sudo apt install -y nginx

Comprueba la versión de NGINX:

nginx -v
# nginx version: nginx/1.10.3

Ejecuta sudo vim /etc/nginx/sites-available/anchor.conf y rellena el archivo con la siguiente configuración:

server {
    listen 80;

    server_name example.com;
    root /var/www/anchor;

    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php;
    }
    
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

}

Activa la nueva configuración de anchor.conf vinculando el archivo al directorio sites-enabled.

sudo ln -s /etc/nginx/sites-available/anchor.conf /etc/nginx/sites-enabled

CompruebaNGINX en busca de errores de sintaxis:

sudo nginx -t

RecargaNGINX servicio:

sudo systemctl reload nginx.service

Paso 4 – Descargar e instalar Composer

Para instalar correctamente Anchor, necesitaremos instalar Composer, el gestor de dependencias para aplicaciones PHP:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

sudo mv composer.phar /usr/local/bin/composer

Comprueba la versión de Composer.

composer --version
# Composer version 1.8.4 2019-02-11 10:52:10

Paso 5 – Descargar e instalar Anchor CMS

Crea un directorio raíz de documentos:

sudo mkdir -p /var/www/anchor

Cambia la propiedad del directorio /var/www/limesurvey a [jour_user].:

sudo chown -R [your_user]:[your_user] /var/www/anchor

Navega hasta la raíz del documento:

cd /var/www/anchor

Descarga la última versión de Anchor CMS utilizando Composer:

composer create-project anchorcms/anchor-cms .

Cambia la propiedad del directorio /var/www/anchor a www-data:

sudo chown -R www-data:www-data /var/www/anchor

Crea el directorio/var/lib/php/session y establece la propiedad anginx:

sudo mkdir -p /var/lib/php/session && sudo chown -R www-data:www-data /var/lib/php

Paso 6 – Completa la configuración de Anchor CMS

Abre tu navegador web y escribe la URL «http://example.com». Serás redirigido a la siguiente página:

Instalador web de Anchor CMS

Haz clic en el botón«Ejecutar el instalador», para iniciar el instalador web de Anchor CMS. Después, debería aparecer la página de idioma y zona horaria:

Selecciona el idioma y la zona horaria

Selecciona la configuración que desees y haz clic en el botón «Paso siguiente » para pasar a la página de configuración de la base de datos:

Configuración de la base de datos

Introduce los detalles de tu base de datos y haz clic en el botón« Paso siguiente» para pasar a la página de configuración de los metadatos del sitio:

Metadatos del sitio

Aquí puedes establecer el nombre o la descripción del sitio, o dejar los valores predeterminados y cambiarlos más tarde a través de la interfaz de Anchor backend. Haz clic en el botón« Paso siguiente» para el siguiente paso, que es configurar tu primera cuenta:

Crear cuenta de administrador

Una vez configurada tu primera cuenta, haz clic en el botón «Completar » para finalizar el proceso de instalación.

Una vez finalizada la instalación, asegúrate de eliminar la carpeta install por motivos de seguridad.

sudo rm -rf /var/www/anchor/install

Enlaces

Scroll al inicio