Cómo instalar Anchor CMS en CentOS 7
Anchor es un ligero CMS de código abierto para blogs escrito en PHP. El código fuente de Anchor está alojado en GitHub. Este tutorial te mostrará cómo instalar Anchor CMS en un sistema CentOS 7.
Requisitos
Asegúrate de que tu servidor cumple los siguientes requisitos
- MySQL 5.6 o superior (se recomienda MySQL 5.7)
- PHP 5.6 o superior con las siguientes extensiones PHP: (
curl,
mcrypt,
gd,
mbstring,
pdo_mysql
opdo_sqlite
) - Apache o Nginx. En este tutorial utilizaremos Nginx.
Requisitos previos
- Sistema operativo CentOS 7.
- Un usuario no root con privilegios
sudo
.
Pasos iniciales
Comprueba la versión de tu sistema CentOS:
cat /etc/centos-release # CentOS Linux release 7.5.1804 (Core)
Configura la zona horaria:
timedatectl list-timezones sudo timedatectl set-timezone 'Region/City'
Actualiza los paquetes de tu sistema operativo:
sudo yum update -y
Instala algunos paquetes útiles si no están ya instalados:
sudo yum install -y vim wget curl git unzip bash-completion
Paso 1 – Instalar PHP y las extensiones PHP necesarias
Anchor CMS requiere la versión 5.6 o superior de PHP. Los repositorios predeterminados de CentOS contienen una versión antigua de PHP, por lo que tendremos que instalar un repositorio de terceros para instalar una versión más reciente de PHP. Utilizaremos el repositorio Webtatic.
Configura el repositorio YUM de Webtatic:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Instala PHP, así como las extensiones PHP necesarias:
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mbstring php72w-curl php72w-mysql php72w-sqlite3 php72w-gd php72w-mcrypt php72w-dom
Comprueba la versión de PHP:
php --version
# PHP 7.2.12 (cli) (built: Nov 11 2018 14:54:16) ( NTS ) # Copyright (c) 1997-2018 The PHP Group # Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
Inicia y activa el servicio PHP-FPM:
sudo systemctl start php-fpm.service sudo systemctl enable php-fpm.service
Paso 2 – Instalar MariaDB y crear una base de datos para Anchor CMS
Anchor admite bases de datos MySQL/MariaDB y SQLite. El repositorio CentOS 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.
Crea el repositorio YUM de MariaDB para CentOS:
sudo vim /etc/yum.repos.d/MariaDB.repo
Copia y pega el siguiente texto en él:
# MariaDB 10.2 CentOS repository list - created 2017-12-11 23:19 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name=MariaDB
baseurl=https://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Una vez colocado el archivo, instala MariaDB ejecutando:
sudo yum install -y MariaDB-server MariaDB-client
Comprueba la versión de MariaDB:
mysql --version # mysql Ver 15.1 Distrib 10.2.19-MariaDB, for Linux (x86_64) using readline 5.1
Inicia y habilita el servicio MariaDB:
sudo systemctl start mariadb.service sudo systemctl enable mariadb.service
Ejecuta el script mysql_secure installation
para mejorar la seguridad de MariaDB y establece la contraseña del usuario de MariaDBroot
:
sudo mysql_secure_installation
Responde a todas las preguntas como se indica 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
Accede al 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 yum install -y nginx
Comprueba la versión de Nginx:
nginx -v # nginx version: nginx/1.12.2
Inicia y habilita el servicio Nginx:
sudo systemctl start nginx.service sudo systemctl enable nginx.service
Ejecut a sudo vim /etc/nginx/conf.d/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$ { try_files $uri =404; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Prueba la configuración de Nginx:
sudo nginx -t
Recarga Nginx:
sudo systemctl reload nginx.service
Paso 4 – Descarga e instala 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') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { 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.0 2018-12-03 10:31:16
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 nginx:
sudo chown -R nginx:nginx /var/www/anchor
Crea el directorio/var/lib/php/session
y establece la propiedad en nginx
.
sudo mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php
Ejecuta sudo vim /etc/php-fpm.d/www.conf
y establece el usuario y el grupo en nginx
. Inicialmente, estarán configurados como apache:
sudo vim /etc/php-fpm.d/www.conf # user = nginx # group = nginx
Reinicia el servicio PHP-FPM:
sudo systemctl restart php-fpm.service
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:
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 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:
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:
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:
Después de configurar tu primera cuenta, haz clic en el botón «Completar » para finalizar el proceso de instalación.
Una vez completada la instalación, asegúrate de borrar la carpetainstall
por motivos de seguridad.
sudo rm -rf /var/www/anchor/install