Cómo instalar Chyrp Lite

Chyrp Lite es un servidor web para crear y publicar blogs, escrito en PHP. Se instala en su propio servidor. Es muy fácil crear páginas blog, sin escribir código de html o CSS.

Cómo instalar y configurar Chyrp

Chyrp es un sitio web para mostrar blogs

Vamos a instalarlo en debian 11/12 (bullseye/bookworm)

para ser superusuario:

sudo su

para actualizar los paquetes del sistema

apt update; apt upgrade -y

Necesitamos instalar una base de datos como mariadb. La versión en los repositorios de debian estable es bastante vieja, por lo que agregamos el repositorio de mariadb. Se puede ir al sitio web para agregar el repositorio deseado de forma fácil:

https://mariadb.org/download/?t=repo-config

En mi servidor, yo usé el repositorio ubicado en Japón:

sudo apt-get install apt-transport-https curl wget

sudo curl -o /etc/apt/trusted.gpg.d/mariadb_release_signing_key.asc 'https://mariadb.org/mariadb_release_signing_key.asc'

nano /etc/apt/sources.list.d/mariadb.list

modificamos el archivo mariadb.list, y colocamos lo siguiente:

# MariaDB 10.11 repository list - created 2023-04-12 03:39 UTC

# https://mariadb.org/download/

deb https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/10.11/debian bullseye main

# deb-src https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/10.11 debian bullseye main

Si tienen un sistema de debian 12 (bookworm), remplacen el bullseye en la configuración de arriba con bookworm.

sudo mysql_secure_installation Colocamos una contraseña buena, y dejamos el resto como por defecto.

Ahora, creamos la base de datos para chyrp: mysql -uroot -p

CREATE DATABASE chyrpdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE USER chyrpusuario@localhost identified by 'ponga una contraseña'; GRANT ALL PRIVILEGES on chyrpdb.* to chyrpusuario@localhost; FLUSH privileges; quit;

Obviamente, cambiamos 'ponga una contraseña' a una contraseña buena.

Luego, instalamos los paquetes de PHP. Como mariadb, las versiones en el repositorio de debian son viejas, y agregamos el repositorio oficial de php.

echo "deb [arch=amd64] https://packages.sury.org/php/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/php.list

wget -qO - https://packages.sury.org/php/apt.gpg | apt-key add -

apt update; apt install mariadb-server apache2 php8.2 libapache2-mod-security2 libapache2-mod-php8.2 php8.2-mbstring php8.2-mysql php8.2-gd php8.2-mcrypt php8.2-mysql php8.2-cli php8.2-curl php8.2-xml --no-install-recommends

Vamos a usar apache2 como el servidor web. Aunque prefiera nginx, la configuración de apache es mucho más fácil. Pues, ahora descargamos los archivos de chyrp:

cd /var/www

wget https://github.com/xenocrat/chyrp-lite/archive/refs/tags/v2024.02.tar.gz

si no es la versión nueva, se puede ir aquí para descargarla.

tar -xvf v2024.02.tar.gz

mv chyrp-* chyrp

chown -R www-data:www-data chyrp

Ahora configuramos a apache:

a2enmod rewrite headers env dir mime

nano /etc/apache2/apache2.conf

Aquí encontramos ... y cambiamos AllowOverride de 'none' a 'all'. Esto es para que el URL de la página sea más entendible

Ya nos falta poco. Si utilizamos systemd, empezamos los servicios:

systemctl enable --now apache2 mariadb php8.2-fpm

Los que usan otros sistemas de init, pueden empezarlos como quieran.

Ahora, abrimos la página http://(El IP de la máquina)/install.php

y colocamos la información de la base de datos, y creamos una cuenta de administrador.

Si todo trabajó, podemos quitar el programa de instalación, ya que ya no lo necesitamos:

rm /var/www/chyrp/install.php

Les recomiendo poner https en el sitio web usando a2enmod ssl. Pero en mi sistema, tengo un reverse proxy de nginx en otra máquina, y las dos máquinas se comunican por un tunel de wireguard.