Welcome to Wikijournals’s documentation!¶
Contents:
Wikijournals Server¶
Description¶
Wikijournals-server is a web application, based on Semantic Mediawiki. This application allow collecting articles, publishers, publications and authors in a semantic database. The following functions are available:
- Saving semantic attributes for articles like persons, companies and locations
- Searching for articles, publications, publishers and authors by using semantic attributes
- Basic social network functions for registered users (f.e. user board for sending internal messages)
Requirements¶
- Linux Server (for example Ubuntu 18)
- Webserver: Apache > 2.0
- Database: MySQL >= 5.7
- Scripting Language: PHP >= 7.0
- Minimum space on server: 100 MB
- Installed Composer (Dependency Manager for PHP)
- Installed Git
- Existing empty Database in MySQL
Pre-Install Tasks¶
Clone wikijournals git repo => git clone https://github.com/swertschak/wikijournals.git
Create empty database in MySQL (if not exists)
Note the following database parameters for the installation
- Database name
- Database user
- Database user password
Installation¶
Installation per Shell Script¶
Open Terminal
Change to the wikijournals code directory (the cloned git repo)
execute command tools/Install_Wikijournals.sh as sudo with the follwing 9 parameters in this order
- html directory
- wikijournals directory
- dbuser
- dbpass
- dbserver
- dbname
- wikiuser
- wikipwd
- wikiname
Sample¶
Danger
Please note: The script Install_Wikijournals.sh must be run under a user, who has write access for the web directory on the server.
Manual Installation¶
Install Mediawiki¶
- Download current Mediawiki version from mediawiki.org
- Uncompress the mediawiki archive
- Upload the uncompressed archive to the web server f.i. /htdocs/wikijournals
- Ensure access to the web directory including sub-directories for the web user (f.i. www-data)
- For example per chown command: sudo chown -cR www-data:www-data wikijournals
- Perform normal mediawiki installation (see https://www.mediawiki.org/wiki/Manual:Installation_guide)
Install Foreground Theme¶
- Download Foreground (git clone https://github.com/thingles/foreground.git)
- Install Foreground, see https://github.com/thingles/foreground/
- Set Foreground as Default Skin (see https://www.mediawiki.org/wiki/Manual:$wgDefaultSkin)
Install Semantic Mediawiki¶
Install Semantic Extensions¶
Install Mediawiki Extensions¶
Install Wikijournals Structure¶
- Open terminal
- Change to wikijournals directory on the web server
- Change to maintenance directory
- Copy wikijournalsStructure.xml from the wikijournals_structure directory to the maintenance dir
- execute php importDump.php < wikijournalsStructure.xml
Update¶
Todo: Add update
Setup Elastic Search (Ubuntu 18)¶
Installation Elastic Search¶
Step 1: Import Elasticsearch GPG Key
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Step 2: Add Elasticsearch 5.x APT repository
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
Step 3: Install OpenJDK
sudo apt update && sudo apt upgrade
sudo apt install apt-transport-https uuid-runtime pwgen openjdk-8-jre-headless
Step 4: Update apt package index ans Install Elasticsearch 5.x
sudo apt update
sudo apt install elasticsearch
Step 5: First Configuration of Elasticsearch
Open config file /etc/elasticsearch/elasticsearch.yml Set correct cluster name for your application:
cluster.name: my-application
Default minimum memory set for JVM is 2gb, if your server has small memory size, change this value:
sudo nano /etc/elasticsearch/jvm.options
Change
-Xms2g
-Xms2g
to
-Xms512m
-Xms512m
After modification of the configuration, Elasticsearch can be started:
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl restart elasticsearch.service
Check status:
sudo systemctl status elasticsearch.service
Installation of Elastica¶
see https://www.mediawiki.org/wiki/Extension:CirrusSearch#Elastica
Installation of CirrusSearch¶
Requirements
- ElasticSearch
- Curl
- php-curl
see https://www.mediawiki.org/wiki/Extension:CirrusSearch#CirrusSearch
Configuration of CirrusSearch¶
see https://www.mediawiki.org/wiki/Extension:CirrusSearch#Configuration