Setup Guide
This guide provides instructions on how to set up the JudaicaLink environment locally, including Solr, Redis, Apache Jena Fuseki, and Nginx to run the projects efficiently.
System Requirements
Ensure your system meets the following requirements:
OS: Ubuntu 20.04+ / macOS / Windows (WSL recommended for Windows)
Python: 3.8+
Docker & Docker Compose: Latest version
Node.js & npm: Latest LTS version (for frontend projects)
Git: Latest version
Cloning the Repositories
Clone the main JudaicaLink projects:
git clone https://github.com/judaicalink/judaicalink-labs.git
git clone https://github.com/judaicalink/judaicalink-site.git
git clone https://github.com/lod-pubby/pubby-django.git
git clone https://github.com/judaicalink/djangordf.git
git clone https://github.com/judaicalink/rdf_generator.git
Setting Up Python Environment
Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
Install dependencies:
pip install -r requirements.txt
Setting Up Solr
Solr is used for full-text indexing in JudaicaLink Labs.
Download and extract Solr:
wget https://downloads.apache.org/solr/latest/solr-9.0.0.tgz tar xzf solr-9.0.0.tgz cd solr-9.0.0
Start Solr in standalone mode:
bin/solr start -e cloud -noprompt
Create a core for JudaicaLink:
bin/solr create -c judaicalink
Setting Up Redis
Redis is used for caching and queuing operations.
Install Redis:
sudo apt update && sudo apt install redis-server
Start Redis:
sudo systemctl start redis sudo systemctl enable redis
Setting Up Apache Jena Fuseki
Apache Jena Fuseki is used as the SPARQL endpoint and RDF triple store.
Download and extract Fuseki:
wget https://downloads.apache.org/jena/binaries/apache-jena-fuseki-4.5.0.tar.gz tar -xzf apache-jena-fuseki-4.5.0.tar.gz cd apache-jena-fuseki-4.5.0
Start Fuseki server:
./fuseki-server --update --mem /ds
Load RDF data:
curl -X POST --data-binary @data.rdf -H "Content-Type: application/rdf+xml" http://localhost:3030/ds/data
Setting Up Nginx
Nginx is used as a reverse proxy to serve the web applications.
Install Nginx:
sudo apt update && sudo apt install nginx
Create an Nginx configuration file:
sudo nano /etc/nginx/sites-available/judaicalink
Add the following configuration:
server { listen 80; server_name judaicalink.local; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }Enable the configuration and restart Nginx:
sudo ln -s /etc/nginx/sites-available/judaicalink /etc/nginx/sites-enabled/ sudo systemctl restart nginx
Running the Projects
To run the projects locally:
Run Django-based projects:
cd judaicalink-labs python manage.py runserver
Run Hugo-based site:
cd judaicalink-site hugo server
Run Pubby:
cd pubby-django python manage.py runserver
Verifying the Setup
Labs: http://127.0.0.1:8000
Site: http://localhost:1313
SPARQL Endpoint: http://localhost:3030/ds
Solr Admin UI: http://localhost:8983/solr
Redis Status:
redis-cli ping
Troubleshooting & Support
Solr not starting? Ensure Java is installed.
Fuseki not responding? Verify it is running on port * 3030* .
Redis connection errors? Restart Redis with:
sudo systemctl restart redis
Need help? Contact us at https://labs.judaicalink.org/contact/.
— This setup guide ensures a complete local environment for developing and testing JudaicaLink projects. 🚀