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]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]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
.
Parsoid is maintained by the Editing Department (Parsing Team).
Get help:
|