Skip to content
Bruno Guillaume edited this page Mar 31, 2020 · 3 revisions

Installation of ZombiLingo

The procedure below was tested (February 2019) in a docker fresh image built with the following Dockefile

FROM ubuntu:latest

RUN (apt-get update && apt-get upgrade -y -q && apt-get dist-upgrade -y -q && apt-get -y -q autoclean && apt-get -y -q autoremove)

The procedure should be usable directly on Unbuntu and with some adapations on other Linux distributions.

General prerequisites

ZombiLingo is based on php and MySql. It was developped with the Laravel Framework. The following commands install needed packages, the composer tool and start the mysql service. These commands should be ran with root privileges.

  • apt install wget mysql-server php php-mbstring php-dom php-mysql unzip redis git -y
  • wget https://getcomposer.org/download/1.8.4/composer.phar
  • mv composer.phar /usr/local/bin/composer
  • chmod +x /usr/local/bin/composer
  • service mysql start

Database creation

In mysql, create a new user and a new database (both are named zombilingo)

  • CREATE USER 'zombilingo'@'localhost' IDENTIFIED BY '***'; Of course replace *** by a stronger password!
  • CREATE DATABASE zombilingo;
  • GRANT ALL PRIVILEGES ON zombilingo.* TO 'zombilingo'@'localhost';

Install the website

  • adduser zombilingo Create a new user
  • su zombilingo Log with this new user
  • cd Move to corresponding home directory
  • git clone https://github.com/gwaps4nlp/zombilingo.git Clone the code
  • cd zombilingo
  • composer install Run composer to install dependencies
  • composer update
  • cp .env.example .env Then, edit the .env file and update the values of update the following fields: DB_DATABASE, DB_USERNAME, DB_PASSWORD
  • php artisan key:generate
  • php artisan migrate --seed Start filling the database
  • 🆕 php artisan db:seed --class=UdRelationTableSeeder. Note that you probably need to update the file UdRelationTableSeeder.php to make it fit yout needs (the exact list of relations used in your data, because UD guidelines let each language add its own relations using subtype like in nsubj:pass).
  • npm run production Compile js and css

Run the website locally

  • redis-server & start the Redis Queue server
  • php artisan serve The website should be available on: http://127.0.0.1:8000

Make the website available

With root privileges:

  • cd /var/www/
  • ln -s /home/zombilingo/zombilingo
  • configure apache to make your website point to the directory /var/www/zombilingo/public (add DocumentRoot "/var/www/zombilingo/public" in apache configuration file)
  • sudo service apache2 start

Start using the platform

The zombilingo website should be available. You should be able to create new users.

🆕 To manage the data and to use the back-office you need to have al least one user with administrator role. Unfortunately, you have to modify directly the database to change role. You can use the following MySQL command:

UPDATE `role_user`
  SET role_id = (SELECT id FROM `roles` WHERE slug = "admin")
  WHERE user_id = (SELECT id FROM `users` WHERE username = "__your_username__")

Next steps

Documentation will be available in a few weeks…

  • Configuration of parser
  • import of corpus