install realms wiki | zuhdi.org

Install Realms Wiki

Environment

  • Debian 9.1 x64
  • Python 2.7.13
  • node 8.4.0
  • pip 9.0.1

Excerpt https://github.com/scragg0x/realms-wiki

Pre-requisite

Note

git software-properties-common python-software-properties python-dev libxml2-dev 
libxslt1-dev zlib1g-dev libffi-dev libyaml-dev libssl-dev libsasl2-dev libldap2-dev 
python-virtualenv

Log 2018 / 03

1. Install realms-wiki

root@athos:~# apt-get update && apt-get -y upgrade -y && apt-get -y dist-upgrade

apt-get -y --no-install-recommends install git build-essential \
  python-dev libffi-dev python-virtualenv

root@athos:~# apt-get -y --no-install-recommends install git build-essential \
>   python-dev libffi-dev python-virtualenv

root@athos:~# git clone https://github.com/scragg0x/realms-wiki
Cloning into 'realms-wiki'...
remote: Counting objects: 3715, done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 3715 (delta 4), reused 9 (delta 2), pack-reused 3691
Receiving objects: 100% (3715/3715), 2.31 MiB | 803.00 KiB/s, done.
Resolving deltas: 100% (2214/2214), done.

root@athos:~# npm install bower -g
/root/.nvm/versions/node/v8.4.0/bin/bower 
  -> /root/.nvm/versions/node/v8.4.0/lib/node_modules/bower/bin/bower
+ bower@1.8.0
added 1 package in 7.889s

root@athos:~# cd realms-wiki/

root@athos:~/realms-wiki# bower install --allow-root

root@athos:~/realms-wiki# virtualenv nadia
Running virtualenv with interpreter /usr/bin/python2
New python executable in /root/realms-wiki/nadia/bin/python2
Also creating executable in /root/realms-wiki/nadia/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.

root@athos:~/realms-wiki# source nadia/bin/activate

(nadia) root@athos:~/realms-wiki# pip install pipenv

(nadia) root@athos:~/realms-wiki# pip install -r requirements.txt

2. Setup realms-wiki

(nadia) root@athos:~/realms-wiki# realms-wiki setup
Enter site title. [Realms]: nadia
Enter base URL. [http://localhost]:
Enter port number. [5000]: 80
Enter secret key. [uFJIgLkABekEMEWCXUDD5menVscK2ayY4FQ1sDCvt6tlUZD2I66EPWpCvaoBT3VR]:
Enter wiki data directory. [/tmp/wiki]: /root/data/wiki
Allow anonymous edits? [Y/n]: n
Enable registration? [Y/n]:
Cache type? [simple]:
Search type? [simple]:
Database URI? Examples: http://goo.gl/RyW0cl [sqlite:////tmp/wiki.db]: 
  sqlite:////root/data/wiki.db
Config saved to ./realms-wiki.json
Note: You can move file to /etc/realms-wiki/realms-wiki.json

Type "realms-wiki start" to start server
Type "realms-wiki dev" to start server in development mode
Full usage: realms-wiki --help

(nadia) root@athos:~/realms-wiki# cat realms-wiki.json
{
    "ALLOW_ANON": false,
    "BASE_URL": "http://localhost",
    "CACHE_TYPE": "simple",
    "DB_URI": "sqlite:////root/data/wiki.db",
    "PORT": 80,
    "REGISTRATION_ENABLED": true,
    "SEARCH_TYPE": "simple",
    "SECRET_KEY": "uFJIgLkABekEMEWCXUDD5menVscK2ayY4FQ1sDCvt6tlUZD2I66EPWpCvaoBT3VR",
    "SITE_TITLE": "nadia",
    "WIKI_PATH": "/root/data/wiki"
}

(nadia) root@athos:~/realms-wiki# mkdir -p /root/data

(nadia) root@athos:~/realms-wiki# realms-wiki start
Server started. Port: 80
Using config: ./realms-wiki.json

(nadia) root@athos:~/realms-wiki# realms-wiki version
0.9.3

3. Create User

3.1. Using realms-wiki

realms-wiki auth.local create_user \
  zuhdi zuhdi@spam.org

(nadia) root@athos:~/realms-wiki# realms-wiki auth.local create_user \
>   zuhdi zuhdi@spam.org
User zuhdi created
Password: dHlBXvfX6WsT

(nadia) root@athos:~/realms-wiki# deactivate

3.2. Using sqlite3

root@athos:~# apt install -y --no-install-recommends sqlite -y

root@athos:~# sqlite3 /root/data/wiki.db
SQLite version 3.16.2 2017-01-06 16:32:41
Enter ".help" for usage hints.

sqlite> .tables
users

sqlite> .schema users
CREATE TABLE users (
        id INTEGER NOT NULL,
        username VARCHAR(128),
        email VARCHAR(128),
        password VARCHAR(60),
        PRIMARY KEY (id),
        UNIQUE (username),
        UNIQUE (email)
);

INSERT INTO
  users 
VALUES
  (
    2, 'nadia', 'nadia@spam.org', 
      '$2a$12$GysA4lOJ6Mw0FQu5Nvut3O9tWb03a7I/H4A5mQVunRiTOFgmnpOEa'
  )
;

sqlite> INSERT INTO
   ...>   users
   ...> VALUES
   ...>   (
   ...>     2, 'nadia', 'nadia@spam.org',
   ...>       '$2a$12$GysA4lOJ6Mw0FQu5Nvut3O9tWb03a7I/H4A5mQVunRiTOFgmnpOEa'
   ...>   )
   ...> ;

sqlite> SELECT * FROM users;
1|zuhdi|zuhdi@spam.org|$2a$12$0B.ev2KG.CbrxTfCHrvche7SUmIBJI4ShPKszRBczmZ8gtZzIkaTC
2|nadia|nadia@spam.org|$2a$12$GysA4lOJ6Mw0FQu5Nvut3O9tWb03a7I/H4A5mQVunRiTOFgmnpOEa

Hugo. Malte Kiefer & Zuhdi Najib.