Parsoid/Setup/pl

Zanim zaczniesz

edit

Jeśli używasz Parsoid w połączeniu z VisualEditor, zauważ, że są one rozwijane równolegle i uaktualnienia do jednego często wymagają odpowiedniego uaktualnienia do drugiego. W razie wątpliwości sprawdź Extension:VisualEditor/pl stronę i postępuj zgodnie z instrukcjami konfiguracyjnymi.

Oczywiście Parsoid może być używany samodzielnie (do przekonwertowania wikitext na HTML DOM i na odwrót) a jeśli nie potrzebujesz programu VisualEditor, możesz zignorować powyższe.

Jeśli jesteś programistą lub nie masz dostępu do sudo apt-get, ponieważ jesteś na współdzielonym hostingu, prawdopodobnie zechcesz śledzić instrukcje Developer Setup. Ta strona dokumentuje konfigurację typowego użytkownika Parsoid przy użyciu rodzimego oprogramowania dla twojego systemu operacyjnego. (Chociaż, jeśli preferowany system operacyjny nie jest tutaj wymieniony, możesz wypróbować instrukcje instalatora — powodzenia!)

Jeśli udostępniany hosting nie pozwala zainstalować Parsoid, możesz również wypróbować to obejście:Installation on a shared host.

Jeśli napotkasz problemy, skonsultuj się ze stronami troubleshooting. Jeśli chcesz wesprzeć swoje problemy i zaproponować rozwiązania innym, zachęcamy do dodania tych informacji do stron rozwiązywania problemów, aby zachować tę stronę typowych instrukcji instalacyjnych w sposób możliwie jasny i prosty.

Najpierw musisz zainstalować Parsoid. Po wykonaniu tej czynności przejdź do opcji #Konfiguracja,sekcji tej strony, aby upewnić się, że Parsoid może komunikować się z instancją mediawiki.

Instalacja

edit

Ubuntu / Debian

edit
Włączone repozytoria pakietów Parsoid 2015-09-17. Jeśli zainstalowałeś Parsoid przed tą datą, będziesz musiał postępować zgodnie z poniższymi instrukcjami, aby dodać nowe repozytorium Parsoid i by otrzymać zaktualizowane pakiety. Jeśli instalujesz Parsoid jako nowy pakiet, postępuj zgodnie z poniższymi instrukcjami.
Parsoid zaktualizował swój klucz GPG 2016-07-27. Jeśli zainstalowałeś Parsoid przed tą datą, będziesz musiał postępować zgodnie z poniższymi instrukcjami, aby dodać nowy klucz Parsoid GPG, zanim otrzymasz zaktualizowane pakiety. Jeśli instalujesz Parsoid jako nowy pakiet, postępuj zgodnie z poniższymi instrukcjami.

Pakiety te działają na wszystkich architekturach i przy aktualnych dystrybucjach: Ubuntu 14+ i Debian testowanie, niestabilne lub wheezy (stable) z backportami. Zobacz instrukcje manual installation on Linux or Mac OS X jeśli twoja dystrybucja jest starsza i nie ma nodejs >= v4.x dostępny.

Zaimportuj repozytorium klucza gpg: (klucz zaktualizowany w lipcu 27, 2016)

sudo apt install dirmngr
sudo apt-key advanced --keyserver keys.gnupg.net --recv-keys 90E9F83F22250DD7

Jeśli ostatnie polecenie powyżej nie jest aktualizowane w trybie roboczym w lipcu (gpgkeys: klucza 90E9F83F22250DD7 nie można odzyskać), możesz wypróbować inny kluczowy serwer. Ten powinien działać:

sudo apt-key advanced --keyserver pgp.mit.edu --recv-keys 90E9F83F22250DD7

Dodaj repozytorium Wikimedia:

  • Ubuntu
sudo apt-add-repository "deb https://releases.wikimedia.org/debian jessie-mediawiki main"

Na Ubuntu 16.04 może być konieczne zainstalowanie "software-properties-common" w celu uruchomienia "apt-add-repository"

apt-get install software-properties-common
  • Debian
echo "deb https://releases.wikimedia.org/debian jessie-mediawiki main" | sudo tee /etc/apt/sources.list.d/parsoid.list

Zainstaluj:

sudo apt install apt-transport-https
sudo apt update && sudo apt install parsoid

Następnie otwórz plik konfiguracyjny in /etc/mediawiki/parsoid/config.yaml i zaktualizuj go, aby odzwierciedlić adres URL interfejsu API. Zobacz sekcję #Konfiguracja poniżej, aby uzyskać szczegółowe informacje.

Uwagi:

  • Modyfikacje wprowadzone do pliku konfiguracyjnego staną się aktywne dopiero po ponownym uruchomieniu usługi service parsoid restart.
  • Repozytorium będzie zawierało najnowszą dostępną wersję Parsoid. Older versions można zainstalować ręcznie.
  • Domyślny port to 8142 (nie 8000 więc musisz na przykład zmienić $wgVirtualRestConfig['modules']['parsoid']['url'] w LocalSettings.php).
  • Plik dziennika to /var/log/parsoid/parsoid.log, i jest automatycznie obracany (?).

Zastrzeżenia dotyczące deb:

  • Jeśli masz starszą dystrybucję i nodejs >= v4 jest niedostępny, zobacz the Nodejs installation instructions. Być może uda Ci się uzyskać najnowszą wersję pakietu nodejs. Jeśli musisz zainstalować node.js ze źródła (zalecamy nave), musisz użyć instrukcji Parsoid/Developer Setup.
  • Niektórzy użytkownicy zgłaszają, że powinieneś również upewnić się, że curl jest również zainstalowany: sudo apt-get install curl. Podaj więcej szczegółów tutaj, jeśli uważasz, że tak jest w twojej konfiguracji.
    • 2018-09-20 podczas naszego uaktualnienia z mw v29 do 31 , mamy już zainstalowane curl. Kiedy testowałem VE dostałem to:
Błąd ładowania danych z serwera/Error loading data from server: internal_api_error_Exception: [0db2f13b5ceecfae5a4c1a98] Exception caught: PHP cURL extension missing. Check https://www.mediawiki.org/wiki/Manual:CURL. Would you like to retry?

rozwiązany przy pomocy

apt install php-curl
systemctl reload apache2

PS: po wysłaniu tego zauważyłem https://www.mediawiki.org/wiki/Extension:VisualEditor#Troubleshooting wspomina podobnie .

Arch

edit

Parsoid jest dostępny w AUR pod aur/parsoid (release version) lub aur/parsoid-git (development version). Zainstaluj jednak pakiety AUR. Włącz i uruchom usługę Parsoid (systemctl enable parsoid; systemctl start parsoid) i skonfiguruj jak poniżej. Pamiętaj, aby ponownie uruchomić usługę, aby zmiany zaczęły obowiązywać.

To instaluje się domyślnie do /usr/share/webapps/parsoid/.

RedHat/CentOS

edit

Parsoid jest dostępny z repozytorium Git.

Spróbuj utworzyć pusty katalog i sprawdź kopię Parsoid:

yum install git npm
git clone --recursive https://gerrit.wikimedia.org/r/mediawiki/services/parsoid/deploy
git clone https://gerrit.wikimedia.org/r/mediawiki/services/parsoid
cd parsoid
npm install

To powinno wrzucić wszystko, co potrzebujesz, do bieżącego katalogu. Skopiuj domyślną konfigurację (który konfiguruje serwer Parsoid do nasłuchu http://localhost:8000):

cp config.example.yaml config.yaml

Edytuj ten plik za #Konfiguracja (poniżej), następnie uruchom serwer za pomocą:

node bin/server.js

W tym momencie, otwierając przeglądarkę na localhost:8000 powinien wyświetlić stronę z linkami do dokumentacji Parsoid na stronie www.mediawiki.org

Jako ostatni krok zmień swoje pliki startowe (init.d) aby dodać zadanie do ponownego uruchomienia node bin/server.js przy starcie serwera.

Vagrant

edit

Jeśli używasz wirtualną maszynę MediaWiki-Vagrant, rola parsoid ustawia działający Parsoid. Jeśli używasz rolę visualeditor, Umożliwi to również wykorzystanie parosoidów.

Windows

edit

Wymagania:

  • Zainstaluj Nodejs x86
  • Zainstaluj Git x86

Z nodejs musisz zainstalować narzędzia do budowania (jako administrator)

npm install --global --production windows-build-tools

Być może będziesz musiał zaktualizować swoją wersję npm, aby uniknąć błędów.

npm -g install npm@latest

jeśli npm @ dalej jest zepsuty. Zobacz https://github.com/npm/npm/issues/16037

Jeśli twój aktualny katalog jest w C:\windows\system32, Wykonaj następujące polecenie

cd %USERPROFILE%

Zainstaluj Parsoida

npm install parsoid

Uwaga: jeśli otrzymasz komunikat o błędzie 'nie ma takiego pliku lub katalogu 'c:\user\{username}\package.json' uruchom następujące:

npm init

Skopiuj domyślną konfigurację i skonfiguruj funkcję parsoid dla Windows Vista/7

copy %USERPROFILE%\node_modules\parsoid\localsettings.example.js %USERPROFILE%\node_modules\parsoid\localsettings.js


lub dla Windows 8+

copy %APPDATA%\npm\node_modules\parsoid\localsettings.example.js %APPDATA%\npm\node_modules\parsoid\localsettings.js

Uruchom Parsoida

C:\Users\USERNAME\node_modules\parsoid>node bin/server.js

lub w Windows 10+

cd %APPDATA%\npm\node_modules\parsoid
node bin/server.js

Powinieneś otworzyć swój plik php.ini i odkomentuj następne moduły php:

  • extension=php_curl.dll
  • extension=php_openssl.dll

inaczej będziesz mieć kłopoty z Parsoidem

Docker

edit

To jest wersja Parsoida stworzona przez społeczność. Oryginalne repozytorium można znaleźć pod adresem TheNets's GitHub.

Dostępne są dwie wersje: 0.8.1 and 0.9.0.

Obrazy zostały utworzone ponad Alpine image.

Wymagania

edit

Jak uruchomić

edit

Aby uruchomić Parsoid uruchom poniższe polecenie. Zwróć uwagę na wersję MediaWiki i wybierz kompatybilną wersję Parsoid.

# Dla MediaWiki 1.28, 1.29 and 1.30
docker run -it -p 8080:80 -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php thenets/parsoid:0.8.1

# Dla MediaWiki 1.31
docker run -it -p 8080:80 -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php thenets/parsoid:0.9.0

Przykłady

edit

Aby dodać więcej niż jedną domenę:

docker run -it -p 8080:80 \
            -e PARSOID_DOMAIN_foobar=http://foobar.com/w/api.php \
            -e PARSOID_DOMAIN_example=http://example.com/w/api.php \
            -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php \
            thenets/parsoid:0.8.1

Jak odsłonić na określonym porcie: (Możesz użyć dowolnych numerów portów, które nie są jeszcze używane)

# Odsłoń port 8081
docker run -it -p 8081:80 -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php thenets/parsoid:0.8.1

# Odsłoń port 8142
docker run -it -p 8142:80 -e PARSOID_DOMAIN_localhost=http://localhost/w/api.php thenets/parsoid:0.8.1

Aby uzyskać więcej informacji o konfiguracji Docker, sprawdź GitHub page.

Konfiguracja

edit
Parsoid powinien być skonfigurowany poprzez edycję statycznego pliku config.yaml. Jeśli używasz wersji Parsoid starszej niż v0.6.0, będziesz musiał edytować localsettings.js, która na razie pozwala również na konfiguracje niestatyczne.

Począwszy od Parsoid 0.6.0, plik konfiguracyjny znajduje się tutaj:

  • /etc/mediawiki/parsoid/config.yaml

Jeżeli plik api.php Twojej wiki nie jest domyślny, tj. 'http://localhost/w/api.php' edytuj plik config.yaml i zmodyfikuj parametr uri wskazujący poprawną lokalizację:

        mwApis:
        - # This is the only required parameter,
          # the URL of you MediaWiki API endpoint.
          uri: 'http://yoursite.com/w/api.php'
          # The "domain" is used for communication with Visual Editor
          # and RESTBase.  It defaults to the hostname portion of
          # the `uri` property above, but you can manually set it
          # to an arbitrary string. -> yoursite.com = localhost
          domain: 'yoursite.com'  # optional

Właściwość uri podaje ścieżkę API do lokalnej wiki. Właściwość domain jest opcjonalna; domyślnie jest to nazwa hosta używana we właściwości uri, jeśli nie jest jawnie ustawiona, ale może to być dowolny ciąg znaków (nie musi on być rozpoznawany w DNS).

Jeśli twoja wiki znajduje się w odwrotnej konfiguracji proxy lub podobnej, możesz ustawić nazwę hosta w uri do wewnętrznej nazwy hosta lub adresu IP, który wskazuje na wewnętrzny adres IP Twojej wiki, aby uniknąć wysyłania żądań do publicznego adresu IP, a następnie kierować z powrotem na serwer wewnętrzny. Upewnij się jednak, że twój serwer sieciowy faktycznie kieruje żądania z tą nazwą hosta do wiki (jeśli serwer jest skonfigurowany do obsługi różnych rzeczy dla wielu witryn lub subdomen).

Na przykład: masz wiki na stronie www.example.com z publicznym adresem IP za serwerem proxy, a aktualny serwer aplikacji znajduje się na drugim wewnętrznym serwerze, który obsługuje tylko żądania do nazwy host wiki, www.example.com, ale nie z innymi nazwami hosta (ponieważ służy różnym stronom internetowym). Może być konieczne ustawienie na /etc/hosts aliasa z internal.www.example.com i skonfiguruj swój serwer sieciowy internal.www.example.com jako alias do www.example.com. Następnie możesz użyć tej nazwy hosta we właściwościach uri.

Domyślnie Parsoid otwiera gniazdo UDP i wysyła co minutę kilka metryk dotyczących stosu Parsoid do serwera statsD. Jeśli chcesz wysłać te dane do zaplecza rejestrowania (z poziomem dziennika "trace"), dodaj w config.yaml:

metrics:
    type: log

localsettings.js (lub settings.js) jako plik konfiguracyjny

edit

Jeśli wolisz używać localsettings.js jako twój plik konfiguracyjny, to w pliku config.yaml odkomentuj ścieżkę/path localsettings taka jak ta:

        # For backwards compatibility, and to continue to support non-static
        # configs for the time being, optionally provide a path to a
        # localsettings.js file.  See localsettings.example.js
        localsettings: ./localsettings.js

i komentarz mwApis, uri i domain parametry takie jak to:

        #mwApis:
        #- # This is the only required parameter,
          # the URL of you MediaWiki API endpoint.
          #uri: 'http://localhost/w/api.php'
          # The "domain" is used for communication with Visual Editor
          # and RESTBase.  It defaults to the hostname portion of
          # the `uri` property below, but you can manually set it
          # to an arbitrary string.
          #domain: 'localhost'  # optional

W tym podejściu plik konfiguracyjny znajduje się w jednej z następujących lokalizacji:

  • /etc/mediawiki/parsoid/settings.js (jeśli zainstalowałeś z naszych pakietów Linux)
  • <parsoid directory>/api/localsettings.js (jeśli podążałeś za instrukcją developer setup)

Jedyną wymaganą zmianą jest aktualizacja jej w celu odzwierciedlenia adresu URL interfejsu API, na przykład:

parsoidConfig.setMwApi({ uri: 'http://yoursite.com/w/api.php', domain: 'yoursite.com', prefix: 'myspecialwiki' });

Prefix to arbitralnie wybrany krótki ciąg znaków identyfikujący lokalne wiki, używany w komunikatach dziennika. Prefix jest również opcjonalnym, arbitralnym unikalnym łańcuchem, który zostanie wygenerowany, jeśli zostanie pominięty. Upewnij się, że konfiguracja VisualEditor używa tej samej wartości "domain" i/lub "prefixu" jak Parsoid. (Zobacz Instrukcje konfiguracji VisualEditor.)


Gdy wiele wiki ma tę samą usługę parsoid

edit

Jeśli masz wiele wiki, upewnij się, że domain łańcuch/string (i/lub prefix, jeśli używasz localsettings.js jako plik konfiguracyjny) jest unikalny dla każdego. Wielokrotne wiki udostępniające jednego hosta może wymagać jawnego ustawienia właściwości domain do dowolnego unikalnego łańcucha dla każdej wiki.

Przykład konfiguracji w config.yaml dla wielu wiki:

        mwApis:
        - # First wiki
          uri: 'http://yoursite.com/w/api.php'
          domain: 'yoursite.com'  # optional
        - # If you have another wiki on a different domain
          uri: 'http://yourothersite.com/w/api.php'
          domain: 'yourothersite.com'  # optional
        - # If you have another wiki on the same domain
          uri: 'http://yoursite.com/w2/api.php'
          domain: 'wiki2'  # optional

Przykład konfiguracji w localsettings.js dla wielu wiki:

parsoidConfig.setMwApi({ uri: 'http://yoursite.com/w/api.php', domain: 'yoursite.com', prefix: 'myspecialwiki' });
// If you have another wiki on a different domain:
parsoidConfig.setMwApi({ uri: 'http://yourothersite.com/w/api.php', domain: 'yourothersite.com', prefix: 'myotherspecialwiki' });
// If you have another wiki on the same domain:
// Note that the domain and prefix can be arbitrary, they just need to be unique to this wiki.
// (And they shouldn't contain slashes.)
parsoidConfig.setMwApi({ uri: 'http://yoursite.com/w2/api.php', domain: 'wiki2', prefix: 'wiki2' });


Zobacz Parsoid/Troubleshooting#Configuration aby uzyskać dodatkową pomoc w rozwiązywaniu problemów.

Zobacz Parsoid/Setup/RESTBase aby uzyskać informacje na temat konfigurowania lokalnej instancji RESTBase między lokalnym programem VisualEditor i lokalnym Parsoid.

Parsoid/Setup/RESTBase/Arbitrary domains strona opisuje zaawansowaną konfigurację RESTBase, ale może oferować dodatkowe informacje na temat celu prefix i właściwości domain.

Kategorie:VisualEditor Kategorie:Parsoid