Wiki revival/recycle/migrations

for the last year or so i’ve been using dokuwiki on indie and work based projects

i’ve migrated the wiki using yamdwe, it wasn’t the easiest python environment to setup. the mediawiki backup and local copy is totally optional. you can rip the wiki using it ai link from anywhere… but dont skip the backup if your care.

here is
the setup

used the instructions from mediawiki to backup (dokuwiki to compare)

#enter wiki
ssh user@wiki.telavivmakers.org

#dump as xml, without media for safekeeps. 
#just text, no data or edit history
cd /usr/share/webapps/mediawiki/
php maintenance/dumpBackup.php --full > tamiwiki_20200412-dump.xml
#dump mysql ->edit history
sudo  mysqldump -h localhost -u tami -p wikidb | gzip >  ~/wikidb-20200412.sql.gz
#zip files and media
cd /usr/share/webapps/
sudo tar zcvhf wikimedia_20200412.tgz mediawiki 

#from local pc, pull the backups
cd /opt/tami/mediawiki
rsync -avz -e ssh --info=progress2 wiki.telavivmakers.org:~/tamiwiki_20200412-dump.xml  /opt/tami/mediawiki/
rsync -avz -e ssh --info=progress2 wiki.telavivmakers.org:~/wikidb-20200412.sql.gz /opt/tami/mediawiki/
rsync -avz -e ssh --info=progress2 wiki.telavivmakers.org:/usr/share/webapps/wikimedia_20200412.tgz /opt/tami/mediawiki/

in WSL ubuntu installed apache, mysql and various python packages, following the trail of error messages yamde throws on running

#get conda to mange python enviroemnt
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
#download our conda virtual environment and apply
wget  -O env.yaml https://discourse.telavivmakers.org/uploads/short-url/yPMSI1WGbI1AoJ7sDcXmHCKLDTV.log 
conda env -f env.yaml
conda activate wiki2

restore mediawiki locally.
install mediawiki deps on ubuntu 18.04 (WSL here), see docs

sudo apt-get install apache2 mysql-server php php-mysql libapache2-mod-php php-xml php-mbstring
sudo -s && /etc/init.d/mysql start && exit
sudo mysql -u root -p #no need for pwd if you didnt set it up
#inside mysql 
CREATE DATABASE wikidb;
CREATE USER tami IDENTIFIED BY 'wikipassword';
USE wikidb;
GRANT SELECT, UPDATE, INSERT, DELETE, ALTER, CREATE, INDEX, DROP, LOCK TABLES, USAGE ON wikidb.* TO tami;

for PHP, in /etc/php/7.2/apache2/php.ini
Make the following changes

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/Kolkata

then import the previous .sql dump (extract from gzip if necessary)

sudo -s
mysqladmin -u tami -p drop wikidb
mysqladmin -u tami -p create wikidb
mysql -u tami -p wikidb < /opt/tami/mediawiki/wikidb-20200412.sql

and import the files

cd /opt/tami/mediawiki/
tar xvf wikimedia_20200412.tgz
sudo cp -R mediawiki /var/www/

start apache and check its ok, make sure all permissions are set
service apache2 start
pfff, that wasn’t easy…
now, to continue…

install a fresh dokuwiki locally.

sudo apt-get install apache2 libapache2-mod-php php php-xml
sudo a2enmod rewrite
service apache2 restart
#check and adjust until you get something at `127.0.0.1`

now, setups apache for dokuwiki 000-default.conf file and windows hosts to serve our guests

apache2ctl -S and tail -f /var/log/apache2/error.log are your friends

ok, you got here you have two domains working, one for the old mediawiki at mediawiki.local and the other, your new dokuwiki.local

  1. run
git clone https://github.com/projectgus/yamdwe
cd yamdwe
#using python2.7 from conda, see above for env yaml file
python yamdwe.py --http_user yair --http_pass http://mediawiki.localhost/api.php http://dokuwiki.localhost/doku.php

progress
i have an initial port to a local instance of dokuwiki, the file attachment are there but i have to manually edit all pages to fit . nice about dokuwiki it is “flat” as in no database walls. just a bunch of txt files. …

sed to the rescue, attachments show up now
sudo find /var/www/dokuwiki/data/pages -type f -exec sed -i 's/{{file_/{{:file:/g' {} \;
de lols

moved to notepad++ for search and replace missions, much easier to do/see errors on the entire pages folder.

installed douwiki maintenance plugins, like:
1.rebuild index
2.find external broken links
3.iframe support
4.move plugin, to reorder WIPs and stuff
5.fastwiki should make editing snappier
6.video sharing plug
7.warp advanced styling/div handling

1 Like

מה יש בדוקוויקי שאין במדיהוויקי?

text file vs mysql
allows for private pages an general ACL
a new house is a clean house

looking for grep help

[[http://www.youtube.com/watch?v=zkasODtGzwo||video 1]]
to
{{youtube>zkasODtGzwo?medium}}

כלומר מקום חדש ונקי יחייב אותנו לעשות סדר בבלגן.

אמ… לא עדיף כלי שכבר כולל כלים לעשיית סדר?

כלי שכבר כולל כלים לעשיית סדר

??

כן. כלי אדמינסטיבי של הפלטפורמה שיעזור למנוע את המצב הנוכחי.

אני מניח שעוד 5 שנים המצב הנוכחי יחזור על עצמו.

לברוח ולהתחיל מחדש זה לא פיתרון.

מה מפריע לך במצב הנוכחי?

תשמע אין לך משתמש בוויקי הקיים אז נראה לי מוזר שאתה נכנס לזה.
אפשר לשמוע מה מונע ממך לשתמש בכלי הקיים?
מה מפריע לך במצב הנוכחי?

האמת שדווקא יש לי וניהלתי אתרי מדיהוויקי בעבר.
אני לא מכיר את דוקווויקי.
אני נכנס לזה כי אני לא אוהב לראות אנשים מנסים לפתור בעייה עם הכלי הלא נכון.

אין לי בעייה שהוויקי תיהיה דוקוויקי. אבל לטעון שזה כדי שיהיה פחות בלאגן זה שגוי.

אז אתה LV-246…

נחזור לעניין, הבעיה העיקרית אם מדיוויקי היא שאין אפשרות לעבוד על עמוד וויקי במצב פרטי עד הדף מוכן לפרסום
זה משהו שאני נוהג לעשות ומונע הרבה בלאגן
מידיווקי לא מוכנים לאפשר זאת , כמו גם סתם עמודים פרטיים

המטרה שלי שהוויקי יוכל להיות יומן פרוייקטים אישיים וציבוריים אם שליטה של המחבר במצבם. כרגע זה לא המצב

כל המידע מהמדיהוויקי ישמר כמובן

אה. מה זה lv-246?
והאם אתה בטוח שאין הרחבה לזה?

תקרא את הלינק שצרפתי
יש הרחבה אחת שמבטיחה ומתוחזקת אבל במחיר של התקנת מחדש של הפצת מדיהוויקי שהם הוציאו , מעדיף פלטפורמה שרואה בזה צורך

קראתי.
ברשותך אני אעשה סקר של תוכנות ויקי כדי לראות אם יש עוד אפשרויות.

ראיתי שדוקווויקי מיועדת לאתרים קטנים ואני לא אוהב את החיסרון הזה. אני חושב שלתאמי יש פוטנציאל לכתוב הרבה תוכן.

אלו האפשרויות האחרות שמצאתי:

https://en.wikipedia.org/wiki/MoinMoin

על אותו עיקרון כמו דוקו ויקי. אותו חיסרון. רק שזו כתובה בפייתון.

https://decko.org/

לא יודע מה זה בדיוק. נראה חדשני כזה. שווה בדיקה.

https://en.wikipedia.org/wiki/Wiki.js

נראה כמו פרויקט שגדל. תומכת במכולות.

אין לי בעייה לבדוק אותן. יש עוד יכולות שאנחנו מחפשים?

שי

לבדוק אותם זה אומר לבצע את מה שתארתי בפוסט
להמיר את התוכן הקיים ממדיה וויקי, לבדוק תאימות וכמובן תמיכה ב RTL

לגבי ההערה שלך על דוקווייקי, זאת הפצת הוויקי השנייה בפופולאריות רק למדיהוויקי.
לא יודע מאיפה גרדת את חוות הדעת לגבי יכולותיה לעמוד בעומסים, היא
ועושה caching בדיפולט כך שזה יותר עניין של השרת שעליה היא רצה מכל דבר אחר.

למערכות שלא משתמשות במסד נתונים תמיד יש מגבלת עומסים נמוכה מזו של מערכות שכן. עניין של יעילות דוקווויקי בעצמם כותבים שהם לא מיועדים לפרויקט גדול.

https://www.dokuwiki.org/devel:scalability

ראה כאן לגבי איטיות אפשרית. נראה שיהיה בסדר בסהכ. אבל ייתכן שנצטרך לשחק קצת עם מערכת הקבצים ו- inodes.

שי

+1 for dokuwiki.
i really like it.

most pressing issue is to decipher the auto tami name generator running on the old system

yeah, that. I suggest we have a random wiki generator on the new wiki.