Menu
News
All News
Dungeons & Dragons
Level Up: Advanced 5th Edition
Pathfinder
Starfinder
Warhammer
2d20 System
Year Zero Engine
Industry News
Reviews
Dragon Reflections
White Dwarf Reflections
Columns
Weekly Digests
Weekly News Digest
Freebies, Sales & Bundles
RPG Print News
RPG Crowdfunding News
Game Content
ENterplanetary DimENsions
Mythological Figures
Opinion
Worlds of Design
Peregrine's Nest
RPG Evolution
Other Columns
From the Freelancing Frontline
Monster ENcyclopedia
WotC/TSR Alumni Look Back
4 Hours w/RSD (Ryan Dancey)
The Road to 3E (Jonathan Tweet)
Greenwood's Realms (Ed Greenwood)
Drawmij's TSR (Jim Ward)
Community
Forums & Topics
Forum List
Latest Posts
Forum list
*Dungeons & Dragons
Level Up: Advanced 5th Edition
D&D Older Editions
*TTRPGs General
*Pathfinder & Starfinder
EN Publishing
*Geek Talk & Media
Search forums
Chat/Discord
Resources
Wiki
Pages
Latest activity
Media
New media
New comments
Search media
Downloads
Latest reviews
Search resources
EN Publishing
Store
EN5ider
Adventures in ZEITGEIST
Awfully Cheerful Engine
What's OLD is NEW
Judge Dredd & The Worlds Of 2000AD
War of the Burning Sky
Level Up: Advanced 5E
Events & Releases
Upcoming Events
Private Events
Featured Events
Socials!
EN Publishing
Twitter
BlueSky
Facebook
Instagram
EN World
BlueSky
YouTube
Facebook
Twitter
Twitch
Podcast
Features
Top 5 RPGs Compiled Charts 2004-Present
Adventure Game Industry Market Research Summary (RPGs) V1.0
Ryan Dancey: Acquiring TSR
Q&A With Gary Gygax
D&D Rules FAQs
TSR, WotC, & Paizo: A Comparative History
D&D Pronunciation Guide
Million Dollar TTRPG Kickstarters
Tabletop RPG Podcast Hall of Fame
Eric Noah's Unofficial D&D 3rd Edition News
D&D in the Mainstream
D&D & RPG History
About Morrus
Log in
Register
What's new
Search
Search
Search titles only
By:
Forums & Topics
Forum List
Latest Posts
Forum list
*Dungeons & Dragons
Level Up: Advanced 5th Edition
D&D Older Editions
*TTRPGs General
*Pathfinder & Starfinder
EN Publishing
*Geek Talk & Media
Search forums
Chat/Discord
Menu
Log in
Register
Install the app
Install
Community
General Tabletop Discussion
*Geek Talk & Media
setting up a local dndtools mirror
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Stronginthearm" data-source="post: 6450902" data-attributes="member: 6786296"><p>That was actually quite helpful guys <img src="https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png" class="smilie smilie--emoji" loading="lazy" width="64" height="64" alt=":)" title="Smile :)" data-smilie="1"data-shortname=":)" /></p><p></p><p>sparkle: no, i hadn't found that. I haven't implemented it yet, but apache modules are familiar enough, so I think I'll manage to get that running in the next days.</p><p></p><p>Isiloki: yeah, I have that siterip, but it's some 500MB and lacks the filter, while the dynamic version is ~60MB. With the integration of the sqlite db i got rid of the last exceptions and as far as I can see I now have a fully functional clone running on the development server on port 8000. I even found the admin page, but haven't managed yet to set a valid password.</p><p></p><p>Here is what I did in more detail (I still assume that you can do basic stuff in linux - and be root):</p><p></p><p><strong><u>installing the software</u></strong></p><p>- installed Debian Wheezy on a VM (every other linux will probably work, but i find Debian convenient)</p><p>- cd /where/ever/you/want/it</p><p>- apt-get install python python-imaging python-mysqldb python-recaptcha python-textile mysql-server sqlite3</p><p>- apt-get install python-pip (I used the easy_install method from the github docu, but I don't think that's neccessary)</p><p>- pip install Django==1.2.7</p><p>- pip install South==0.8.4</p><p>- pip install django-debug-toolbar==0.9.4</p><p>- pip install django-filter==0.5.3</p><p>- pip install django-pagination==1.0.7</p><p>- pip install recaptcha-client==1.0.6</p><p>since the oldest available django-reversion version in pip is 1.5.1 I installed it manually</p><p>- apt-get install git</p><p>- git clone <a href="https://github.com/etianen/django-reversion.git" target="_blank">https://github.com/etianen/django-reversion.git</a></p><p>- cd django-reversion</p><p>- git checkout release-1.3.3</p><p>- python setup.py install</p><p>- cd ..</p><p>- git clone <a href="https://github.com/dndtools/dndtools.git" target="_blank">https://github.com/dndtools/dndtools.git</a></p><p></p><p><strong><u>prepare the database</u></strong></p><p><strong><u></u></strong>- aquire both the 2013 version (from line 33 of the github INSTALL document) and the 2014 sqlite database (archive.org wayback machine lets you find the linked dropbox file)</p><p>- download the converter script <a href="http://www.redmine.org/attachments/download/6239/sqlite3-to-mysql.py" target="_blank">http://www.redmine.org/attachments/download/6239/sqlite3-to-mysql.py</a></p><p>- sqlite3 dnd.sqlite .dump >dnd.dump.sql</p><p>- cat dnd.dump.sql | python sqlite3-to-mysql.py > dnd.conv.sql</p><p><u>edit dnd.conv.sql</u> (Notepad++ on Windows works reasonably well, as does of course vi on Linux, nano is alittle clumsy):</p><p>- insert as 2nd line: SET FOREIGN_KEY_CHECKS=0;</p><p>- insert as last line: SET FOREIGN_KEY_CHECKS=1;</p><p>- from the CREATE TABLE statements remove everything from CONSTRAINT to ); (75 occurences)</p><p>- in line 174550 replace </p><p>CREATE TABLE dnd_rules_conditions (id , name , description );</p><p>with</p><p>[CODE]CREATE TABLE `dnd_rules_conditions` (</p><p> `id` int(11) NOT NULL ,</p><p> `name` varchar(32) NOT NULL,</p><p> `description` longtext NOT NULL,</p><p> PRIMARY KEY (`id`)</p><p>);[/CODE]</p><p>- in lines 241799 and following shorten every index name to 64 characters or less (as far as I have researched the index name is not relevant for the db query)</p><p>import both databases:</p><p>- mysql -u root -p dndtools < dndtools_prod_backup_2013_03_02_clear_accounts_no_reversions.sql</p><p>- mysql -u root -p dndtools < dnd.conv.sql</p><p></p><p><u><strong>edit the config</strong></u></p><p>- cd dndtools/dndtools</p><p>- cp local.py.sample local.py</p><p>- nano local.py</p><p>[CODE]DEBUG = True (so you get maybe helpful exceptions instead of a blank 500 http error)</p><p>DATABASES = {</p><p> 'default': {</p><p> 'ENGINE': 'django.db.backends.mysql',</p><p> 'NAME': 'dndtools',</p><p> 'USER': 'root',</p><p> 'PASSWORD': 'yourdbpassword',</p><p> 'HOST': '',</p><p> 'PORT': '',</p><p> 'OPTIONS': {</p><p> 'init_command': 'SET storage_engine=INNODB',</p><p> },</p><p> }</p><p>}</p><p>SECRET_KEY = 'somethingunique' (I don't know if this is neccessary)</p><p></p><p>[/CODE]</p><p></p><p><u><strong>start the debug server</strong></u></p><p>- python manage.py runserver</p><p></p><p>Now dndtools runs on 127.0.0.1 port 8000 ... and if you haven't installed an x-server and a browser you have to forward the port ... fortunately putty does that quite nice:</p><p>- load your stored connection and go to Connection -> SSH -> Tunnels</p><p>- add new forwarded port</p><p>-- source port: 8000</p><p>-- destination: 127.0.0.1:8000</p><p>- save and connect</p><p>- open <a href="http://127.0.0.1:8000" target="_blank">http://127.0.0.1:8000</a> in your browser</p><p></p><p>The admin interface runs on <a href="http://127.0.0.1:8000/admin" target="_blank">http://127.0.0.1:8000/admin</a>, the password is probably stored in the table auth_user, but how exactly I haven't figured out yet.</p><p></p><p>Please let me know if this works for you. I plan to install it on my real server in the next few days.</p><p></p><p><u><strong>appendix: all the packages (in case I forgot a relevant)</strong></u></p><p>[CODE]</p><p># dpkg-query -l | grep python</p><p>ii python 2.7.3-4+deb7u1 all interactive high-level object-oriented language (default version)</p><p>ii python-apt 0.8.8.2 i386 Python interface to libapt-pkg</p><p>ii python-apt-common 0.8.8.2 all Python interface to libapt-pkg (locales)</p><p>ii python-chardet 2.0.1-2 all universal character encoding detector</p><p>ii python-crypto 2.6-4+deb7u3 i386 cryptographic algorithms and protocols for Python</p><p>ii python-debian 0.1.21 all Python modules to work with Debian-related data formats</p><p>ii python-debianbts 1.11 all Python interface to Debian's Bug Tracking System</p><p>rc python-django 1.4.5-1+deb7u8 all High-level Python web development framework</p><p>ii python-fpconst 0.7.2-5 all Utilities for handling IEEE 754 floating point special values</p><p>ii python-imaging 1.1.7-4+deb7u1 i386 Python Imaging Library</p><p>ii python-minimal 2.7.3-4+deb7u1 all minimal subset of the Python language (default version)</p><p>ii python-mysqldb 1.2.3-2 i386 Python interface to MySQL</p><p>ii python-pkg-resources 0.6.24-1 all Package Discovery and Resource Access using pkg_resources</p><p>ii python-pygments 1.5+dfsg-1 all syntax highlighting package written in Python</p><p>ii python-recaptcha 1.0.6-1 all client library for reCAPTCHA and Mailhide</p><p>ii python-reportbug 6.4.4+deb7u1 all Python modules for interacting with bug tracking systems</p><p>ii python-soappy 0.12.0-4 all SOAP Support for Python</p><p>ii python-sqlite 1.0.1-9 i386 Python interface to SQLite 2</p><p>ii python-support 1.0.15 all automated rebuilding support for Python modules</p><p>ii python-textile 1:2.1.5-1 all Python parser for the Textile markup</p><p>ii python2.6 2.6.8-1.1 i386 Interactive high-level object-oriented language (version 2.6)</p><p>ii python2.6-minimal 2.6.8-1.1 i386 Minimal subset of the Python language (version 2.6)</p><p>ii python2.7 2.7.3-6+deb7u2 i386 Interactive high-level object-oriented language (version 2.7)</p><p>ii python2.7-minimal 2.7.3-6+deb7u2 i386 Minimal subset of the Python language (version 2.7)</p><p>[/CODE]</p><p></p><p>[CODE]</p><p># pip freeze</p><p>Django==1.2.7</p><p>MySQL-python==1.2.3</p><p>PIL==1.1.7</p><p>Pygments==1.5</p><p>SOAPpy==0.12.0</p><p>South==0.8.4</p><p>argparse==1.2.1</p><p>chardet==2.0.1</p><p>django-debug-toolbar==0.9.4</p><p>django-filter==0.5.3</p><p>django-pagination==1.0.7</p><p>django-reversion==1.3.3</p><p>fpconst==0.7.2</p><p>pycrypto==2.6</p><p>pysqlite==1.0.1</p><p>python-apt==0.8.8.2</p><p>python-debian==0.1.21</p><p>python-debianbts==1.11</p><p>recaptcha-client==1.0.6</p><p>reportbug==6.4.4</p><p>sqlparse==0.1.13</p><p>textile==2.1.5</p><p>wsgiref==0.1.2</p><p>[/CODE]</p></blockquote><p></p>
[QUOTE="Stronginthearm, post: 6450902, member: 6786296"] That was actually quite helpful guys :) sparkle: no, i hadn't found that. I haven't implemented it yet, but apache modules are familiar enough, so I think I'll manage to get that running in the next days. Isiloki: yeah, I have that siterip, but it's some 500MB and lacks the filter, while the dynamic version is ~60MB. With the integration of the sqlite db i got rid of the last exceptions and as far as I can see I now have a fully functional clone running on the development server on port 8000. I even found the admin page, but haven't managed yet to set a valid password. Here is what I did in more detail (I still assume that you can do basic stuff in linux - and be root): [B][U]installing the software[/U][/B] - installed Debian Wheezy on a VM (every other linux will probably work, but i find Debian convenient) - cd /where/ever/you/want/it - apt-get install python python-imaging python-mysqldb python-recaptcha python-textile mysql-server sqlite3 - apt-get install python-pip (I used the easy_install method from the github docu, but I don't think that's neccessary) - pip install Django==1.2.7 - pip install South==0.8.4 - pip install django-debug-toolbar==0.9.4 - pip install django-filter==0.5.3 - pip install django-pagination==1.0.7 - pip install recaptcha-client==1.0.6 since the oldest available django-reversion version in pip is 1.5.1 I installed it manually - apt-get install git - git clone [URL]https://github.com/etianen/django-reversion.git[/URL] - cd django-reversion - git checkout release-1.3.3 - python setup.py install - cd .. - git clone [URL]https://github.com/dndtools/dndtools.git[/URL] [B][U]prepare the database [/U][/B]- aquire both the 2013 version (from line 33 of the github INSTALL document) and the 2014 sqlite database (archive.org wayback machine lets you find the linked dropbox file) - download the converter script [URL]http://www.redmine.org/attachments/download/6239/sqlite3-to-mysql.py[/URL] - sqlite3 dnd.sqlite .dump >dnd.dump.sql - cat dnd.dump.sql | python sqlite3-to-mysql.py > dnd.conv.sql [U]edit dnd.conv.sql[/U] (Notepad++ on Windows works reasonably well, as does of course vi on Linux, nano is alittle clumsy): - insert as 2nd line: SET FOREIGN_KEY_CHECKS=0; - insert as last line: SET FOREIGN_KEY_CHECKS=1; - from the CREATE TABLE statements remove everything from CONSTRAINT to ); (75 occurences) - in line 174550 replace CREATE TABLE dnd_rules_conditions (id , name , description ); with [CODE]CREATE TABLE `dnd_rules_conditions` ( `id` int(11) NOT NULL , `name` varchar(32) NOT NULL, `description` longtext NOT NULL, PRIMARY KEY (`id`) );[/CODE] - in lines 241799 and following shorten every index name to 64 characters or less (as far as I have researched the index name is not relevant for the db query) import both databases: - mysql -u root -p dndtools < dndtools_prod_backup_2013_03_02_clear_accounts_no_reversions.sql - mysql -u root -p dndtools < dnd.conv.sql [U][B]edit the config[/B][/U] - cd dndtools/dndtools - cp local.py.sample local.py - nano local.py [CODE]DEBUG = True (so you get maybe helpful exceptions instead of a blank 500 http error) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'dndtools', 'USER': 'root', 'PASSWORD': 'yourdbpassword', 'HOST': '', 'PORT': '', 'OPTIONS': { 'init_command': 'SET storage_engine=INNODB', }, } } SECRET_KEY = 'somethingunique' (I don't know if this is neccessary) [/CODE] [U][B]start the debug server[/B][/U] - python manage.py runserver Now dndtools runs on 127.0.0.1 port 8000 ... and if you haven't installed an x-server and a browser you have to forward the port ... fortunately putty does that quite nice: - load your stored connection and go to Connection -> SSH -> Tunnels - add new forwarded port -- source port: 8000 -- destination: 127.0.0.1:8000 - save and connect - open [URL]http://127.0.0.1:8000[/URL] in your browser The admin interface runs on [URL]http://127.0.0.1:8000/admin[/URL], the password is probably stored in the table auth_user, but how exactly I haven't figured out yet. Please let me know if this works for you. I plan to install it on my real server in the next few days. [U][B]appendix: all the packages (in case I forgot a relevant)[/B][/U] [CODE] # dpkg-query -l | grep python ii python 2.7.3-4+deb7u1 all interactive high-level object-oriented language (default version) ii python-apt 0.8.8.2 i386 Python interface to libapt-pkg ii python-apt-common 0.8.8.2 all Python interface to libapt-pkg (locales) ii python-chardet 2.0.1-2 all universal character encoding detector ii python-crypto 2.6-4+deb7u3 i386 cryptographic algorithms and protocols for Python ii python-debian 0.1.21 all Python modules to work with Debian-related data formats ii python-debianbts 1.11 all Python interface to Debian's Bug Tracking System rc python-django 1.4.5-1+deb7u8 all High-level Python web development framework ii python-fpconst 0.7.2-5 all Utilities for handling IEEE 754 floating point special values ii python-imaging 1.1.7-4+deb7u1 i386 Python Imaging Library ii python-minimal 2.7.3-4+deb7u1 all minimal subset of the Python language (default version) ii python-mysqldb 1.2.3-2 i386 Python interface to MySQL ii python-pkg-resources 0.6.24-1 all Package Discovery and Resource Access using pkg_resources ii python-pygments 1.5+dfsg-1 all syntax highlighting package written in Python ii python-recaptcha 1.0.6-1 all client library for reCAPTCHA and Mailhide ii python-reportbug 6.4.4+deb7u1 all Python modules for interacting with bug tracking systems ii python-soappy 0.12.0-4 all SOAP Support for Python ii python-sqlite 1.0.1-9 i386 Python interface to SQLite 2 ii python-support 1.0.15 all automated rebuilding support for Python modules ii python-textile 1:2.1.5-1 all Python parser for the Textile markup ii python2.6 2.6.8-1.1 i386 Interactive high-level object-oriented language (version 2.6) ii python2.6-minimal 2.6.8-1.1 i386 Minimal subset of the Python language (version 2.6) ii python2.7 2.7.3-6+deb7u2 i386 Interactive high-level object-oriented language (version 2.7) ii python2.7-minimal 2.7.3-6+deb7u2 i386 Minimal subset of the Python language (version 2.7) [/CODE] [CODE] # pip freeze Django==1.2.7 MySQL-python==1.2.3 PIL==1.1.7 Pygments==1.5 SOAPpy==0.12.0 South==0.8.4 argparse==1.2.1 chardet==2.0.1 django-debug-toolbar==0.9.4 django-filter==0.5.3 django-pagination==1.0.7 django-reversion==1.3.3 fpconst==0.7.2 pycrypto==2.6 pysqlite==1.0.1 python-apt==0.8.8.2 python-debian==0.1.21 python-debianbts==1.11 recaptcha-client==1.0.6 reportbug==6.4.4 sqlparse==0.1.13 textile==2.1.5 wsgiref==0.1.2 [/CODE] [/QUOTE]
Insert quotes…
Verification
Post reply
Community
General Tabletop Discussion
*Geek Talk & Media
setting up a local dndtools mirror
Top