Un vistazo al blog engine Habari
De vez en cuando me gusta echar un vistazo a proyectos minoritarios o poco conocidos de software libre, es el caso de Habari, un proyecto de blog engine, creado en 2006, y que hasta ahora no había oído hablar.
Sobre Habari
Se trata de un proyecto comunitario de software libre y open source, liberado utilizando una licencia Apache, escrito en PHP, y que puede funcionar con diferentes motores de base de datos, ya que MySQL, SQLite o PostgreSQL. Su nombre proviene de la palabra del idioma Swahili, en castellano suajili, que viene a decir “cuál es la noticia”. Su intención es crear una plataforma moderna de blogging, su foco está en utilizar tecnologia moderna, como PHP 5, programación orientada a objetos y soporte a los últimos estándares. Su última versión estable es del 2014 con la versión 0.9.2
Caracaterísticas principales:
- Es modular, orientado a objetos y extensible.
- Soporta diferentes motores de bases de datos.
- Especialmente preparado para evitar ataques de inyección SQL.
- Facilita conexión a proyectos de almacenamiento de contenidos como Flickr.
- Soporta el protocolo Atom.
- Soporte para multiusuarios.
- Se pueden crear multiples sitios con una sóla instalación.
- Permite utilizar páginas estáticas.
- Se pueden ampliar sus funciones mediante plugins.
- Soporte para etiquetas.
- Tenemos un importador disponible para WordPress.
Laboratorio de pruebas
Ya sabéis que me gusta trastear con los productos que aparecen en la web. He montado un pequeño VPS y he instalado un servidor LEMP con PHP, Nginx y MySQL, sobre un servidor Debian Jessie 8.3 Vamos un poco al lío, primero instalamos el servidor web:
Primer actualizamos el sistema y los repositorios:
apt-get -y update
apt-get -y upgrade
Instalamos el servidor web nginx
apt-get -y install nginx
#Lo encendemos
systemctl startx nginx
#Lo añadimos en el arranque del sistema
systemctl enable nginx
Editamos el fichero de configuración por defecto, comentando la línea correspondiente:
nano /etc/nginx/sites-available/default
#Comentamos la siguiente linea:
#listen [::]:80 default_server;
Reiniciamos el servicio:
systemctl restart nginx
#o
service nginx restart
Ahora ya podemos instalar el motor de base de datos MySQL
apt-get -y install mysql
Utilizamos el script de seguridad:
mysql_secure_installation
Reiniciamos y habilitamos al inicio el motor:
systemctl enable mysql
systemctl restart mysql
Instalamos los módulos de PHP, fpm y mysql
apt-get install php5-fpm php5-mysql
Reiniciamos y con esto ya tendremos el servidor LEMP listo para funcionar.
systemctl restart nginx
Una vez ya hemos intalado el servidor web, vamos primero a crear la base de datos que utilizaremos más adelante:
#Accedemos al motor
mysql -u root -p
#Creamos la base de datos
create database habaridb;
Query OK, 1 row affected (0.00 sec)
grant all privileges on habaridb.* to habariusuario@localhost identified by 'contraseña';
Query OK, 0 rows affected (0.00 sec)
flush privileges;
Query OK, 0 rows affected (0.00 sec)
exit
Bye
Ahora que ya tenemos creada la base de datos, descargaremos la última versión del proyecto, también instalaremos el programa zip, que necesitaremos para descomprimir el fichero.
apt-get -y install zip
cd /tmp
wget http://habariproject.org/dist/habari-0.9.2.zip
Descomprimimos el fichero y lo movemos a la carpeta de proyectos web:
mkdir -p /var/www/html/habari
unzip habari-0.9.2.zip -d /var/www/html/habari/
Modificamos los permisos de la carpeta:
chown -R www-data: /var/www/html/habari/
Creamos y editamos el fichero de configuración del proyecto:
nano /etc/nginx/sites-available/habari
# Y añadimos el contenido:
server {
server_name nombredominio.com;
access_log /var/log/nginx/nombredominio.com-access.log;
error_log /var/log/nginx/nombredominios.com-error.log;
root /var/www/html/habari;
location / {
index index.php;
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Al hacer esto guardamos y pasamos a crear el enlace simbólico para que la web esté disponible:
ln -s /etc/nginx/sites-available/habari /etc/nginx/sites-enabled/
Reinciamos el servicio con ‘service nginx restart‘ y accedemos al dominio o IP del servidor
Instalación web
A partir de aquí pasamos a realizar la instalación vía interfaz web, lo primer de todo será añadir los datos de la base de datos que hemos creado anteriormente:
Al hacer esto pasamos al siguiente paso que es configurar el nombre de dominio, las credenciales del usuario administrador y su correo:
En la instalación podemos seleccionar tres temas diferentes, yo he escogido el primero:
Por último la selección de plugins, en mi caso he dejado los que vienen marcados por defecto:
Con esto ya lo tenemos listo, y podemos ver la página web ya creada:
Lo vamos a dejar aquí, podéis visitar su página web, la página web de su Wiki
Espero que os haya parecido interesante! Nos leemos en la próxima 😉
Notas:
He conocido el proyecto a partir de un noticia en LXer