Wikibase/Süit

From mediawiki.org
This page is a translated version of the page Wikibase/Suite and the translation is 96% complete.
Outdated translations are marked like this.
Wikibase logosu
Wikibase logosu
Bu belge, Wikibase paketinin elle yüklenmesini kapsar. Docker kurulum talimatları için $1 sayfasına bakın. For instructions installing Wikibase Suite under Docker, see Wikibase/Docker . Yalnızca Wikibase uzantısını yüklemek için Wikibase/Installation sayfasına bakın.

Giriş

Bir Wikibase kurulumu genellikle aşağıdaki unsurlardan oluşur:

  • Bir RDBMS (MariaDB/MySQL veya SQLite) [gerekli]
  • MediaWiki [gerekli]
    • Wikibase uzantısı [gerekli]
    • Diğer ilgili uzantılar [isteğe bağlı]
  • Vikiveri sorgulama hizmeti (WDQS) [isteğe bağlı]
    • WDQS proxy'si
    • WDQS ön ucu
  • QuickStatements [isteğe bağlı]
  • Elasticsearch [isteğe bağlı]

Docker kurulumu tüm bu bileşenleri içerir ve tek bir docker-compose komutuyla başlatılabilir. Bu kurulum, birçok Wikibase kullanıcısının, özellikle de yeni başlayanların ihtiyaçlarını karşılar.

Ancak, Docker'ı çalıştırmak istemeyenler için (ilave yönetim yükü, üretimdeki ölçekleme sorunları veya bileşenleri daha iyi anlama arzusu nedeniyle), her bir bileşeni elle nasıl kuracağınız aşağıda açıklanmıştır.

Ağ yapılandırması

Ağ açıklamasına ve şemasına bakın: https://www.mediawiki.org/wiki/Wikibase/Maintaining#Architecture_overview

Dalmadan önce

Wikibase teknik belge sitesinde okunacak ve yararlanılacak çok sayıda teknik belge var.

Bu süreçte başarılı bir şekilde gezinmek için muhtemelen şunlara sahip olmalısınız:

  • Linux ve web sunucusu yazılımlarına aşinalık
  • Yazılım yükleme izniniz olan bir veya daha fazla sunucu

Wikibase paketini yükleme

MariaDB

Notlar

Talimatlar

Bir sonraki adımda bağlanan MediaWiki kurulumu, hâlihazırda oluşturulmuş bir veritabanı ve kullanıcı ile çalışan bir RDBMS'ye dayanır.

MariaDB'yi kullanmanızı öneririz ve tam bir kurulum kılavuzu bu belgenin kapsamı dışında olsa da, bu mükemmel belge koleksiyonu ve bu eğitimi ile başlayın.

MediaWiki

Notlar

  • MediaWiki'nin vanilya kurulumu (doğru şekilde) PostgreSQL'i bir çalışma seçeneği olarak belirtirken, Wikibase'in PostgreSQL ile çalışmadığını unutmayın.
  • MediaWiki'nin bu kurulumu için php-fpm ile nginx kullanmanızı öneririz.
  • Bu yapılandırma, aynı ana bilgisayar üzerinde çalışan php-fpm'niz olduğunu varsayar; bir ağ bağlantı noktası kullanmak için fastcgi_pass HOST:9000 kullanın.
  • Aşağıdaki PHP uzantılarına ihtiyacınız olacak (belgeyi yükle): calendar ctype dom fileinfo iconv intl json mysql mbstring xml

Talimatlar

MediaWiki kurulum talimatları

Çalışan MediaWiki nginx yapılandırması

Wikibase uzantısı

Notlar

Composer'ın düzgün çalışması için zip ve unzip yükleyin.

Wikibase veri modeli şu belgelerde açıklanmıştır:

Talimatlar

Wikibase kurulum kılavuzu

Düzenleyici kurulum kılavuzu

İsteğe bağlı kenar çubuğu

Ana sayfa kenar çubuğunuza Wikibase ile ilgili bazı bağlantılar eklemek isterseniz, LocalSettings.php dosyanızı bu yapılandırma stanzalarını ekleyebilirsiniz.

Uzantılar

There are many extensions often used with Wikibase. Only some require special install instructions for a Wikibase context; the list below includes information about all extensions included in our Docker images.

OAuth

Aşağıda göreceğiniz gibi, Wikibase'in Vikiveri sorgulama hizmeti için OAuth uzantısına ihtiyacı var.

Kurulum

OAuth yükleme talimatları kapsamlıdır. Bu yüklemeyi tamamlamak için Kullanıcı hakları çalışması anlayışından yararlanacağınızı unutmayın.

Diğer uzantılar

These extensions can be installed simply using their own installation instructions.

Native and non-native data types

Extending Wikibase's functionality beyond its native data types may require the installation of additional extensions.

Native data types
  • commonsMedia = "string"
  • entity-schema = "string"
  • external-id = "string"
  • geo-shape = "string"
  • globe-coordinate = "globecoordinate"
  • monolingualtext = "monolingualtext"
  • quantity = "quantity"
  • string = "string"
  • tabular-data = "string"
  • time = "time"
  • url = "string"
  • wikibase-item = "wikibase-entityid"
  • wikibase-property = "wikibase-entityid"
Non-native data types

Many other data types exist and are implemented in some instances of Wikibase, such as Wikidata. Because these other instances are frequently highly customized, below is a list of officially supported data types and the extensions they require:

Wikidata Sorgu Servisi

Blazegraph SPARQL sorgu arka ucundan ve güncelleyicisinden oluşan Wikidata Sorgu Hizmeti (WDQS), Wikibase ile birlikte kullanılabilir ve sıklıkla kullanılır.

Talimatlar

Cesur kullanıcılar kendi WDQS örneklerini derlemek isteyebilir iken, önceden derlenmiş sürümü kullanmanızı öneririz.

Elasticsearch

Genel bakış

Elasticsearch, Lucene tabanlı bir arama motorudur. MediaWiki/Wikibase ile çalışmasını sağlamak için aşağıdaki yazılıma ihtiyacınız olacak:

Talimatlar

wfLoadExtension( 'Elastica' );
wfLoadExtension( 'CirrusSearch' );
wfLoadExtension( 'WikibaseCirrusSearch' );

$wgCirrusSearchServers = [ '<name/IP of host running ElasticSearch>' ];
$wgSearchType = 'CirrusSearch';
$wgCirrusSearchExtraIndexSettings['index.mapping.total_fields.limit'] = 5000;
$wgWBCSUseCirrus = true;
> $PATH_TO_ELASTICSEARCH/bin/elasticsearch-plugin install org.wikimedia.search:extra:6.5.4
> $PATH_TO_ELASTICSEARCH/bin/elasticsearch-plugin install org.wikimedia.search.highlighter:experimental-highlighter-elasticsearch-plugin:6.5.4
  • elasticsearch.yml ile gerektiği gibi değiştirin:
    • cluster.name yönergesiyle kümenizi adlandırın.
    • Tek düğümlü bir küme oluşturun: discovery.zen.minimum_master_nodes: 1
    • network.host ile gerektiği gibi ayarlayın
  • jvm.options ile gerektiği gibi değiştirin (her şeyden önce, ana makinenizin kullanabileceği bellek miktarına göre -Xms ve -Xmx ayarlayın)
  • Disk boyutunuz için "baskın aşaması" ayarlarını not edin.
    • Diskin en az %5'inin her zaman kullanılabilir olmasını sağlayabilir veya cluster.routing.allocation.disk.watermark.flood_stage ayarını değiştirebilirsiniz. Daha fazla bilgi için bu StackOverflow maddesine bakın.
  • CirrusSearch için UpdateSearchIndexConfig çalıştırın:
php extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php --startOver
  • Arka planda çalışan işleri başlatın:
php /var/www/html/maintenance/runJobs.php --wiki my_wiki --wait &
  • ForceSearchIndex çalıştırın:
php extensions/CirrusSearch/maintenance/ForceSearchIndex.php --queue --maxJobs 10000 --pauseForJobs 1000 --skipLinks --indexOnSkip

QuickStatements

Talimatlar

  • Git'i kullanarak iki depoyu web kökünüze kopyalayın (bundan böyle www_root olarak anılacaktır):
  • www_root/quickstatements içinde, composer install çalıştırın.
  • Takip eden dosyalar için aşağıdaki ortam değişkenleri için kurulumunuzda uygun değerleri belirleyin ve ayarlayın. Ayrıca envsubst kullanılarak yerinde kolayca değiştirilebilirler.
MW_SITE_NAME="site name"
WB_PUBLIC_SCHEME_HOST_AND_PORT=<public ip>
WIKIBASE_SCHEME_AND_HOST=<localhost>
WB_PROPERTY_NAMESPACE=122
WB_ITEM_NAMESPACE=120
WB_PROPERTY_PREFIX="Property:"
WB_ITEM_PREFIX="Item:"
  • Belirtilen içeriklerle aşağıdaki dosyaları oluşturun.

/www_root/quickstatements/public_html/config.json:

{
	"site" : "${MW_SITE_NAME}" ,
	"bot_config_file" : "/var/www/html/bot.ini" ,
	"logfile" : "/var/log/quickstatements/tool.log" ,
	"sites" : {
		"${MW_SITE_NAME}" : {
			"oauth" : {
				"language":"${MW_SITE_LANG}" ,
				"project":"${MW_SITE_NAME}" ,
				"ini_file":"/quickstatements/data/oauth.ini" ,
				"publicMwOAuthUrl":"${WB_PUBLIC_SCHEME_HOST_AND_PORT}/w/index.php?title=Special:OAuth" ,
				"mwOAuthUrl":"${WB_PUBLIC_SCHEME_HOST_AND_PORT}/w/index.php?title=Special:OAuth" ,
				"mwOAuthIW":"mw"
			} ,
			"server" : "${WB_PUBLIC_HOST_AND_PORT}" ,
			"api" : "${WIKIBASE_SCHEME_AND_HOST}/w/api.php" ,
			"pageBase" : "${WB_PUBLIC_SCHEME_HOST_AND_PORT}/wiki/" ,
			"toolBase" : "${QS_PUBLIC_SCHEME_HOST_AND_PORT}/" ,
			"types" : {
				"P" : { "type":"property" , "ns":"${WB_PROPERTY_NAMESPACE}" , "ns_prefix":"${WB_PROPERTY_PREFIX}" } ,
				"Q" : { "type":"item" , "ns":"${WB_ITEM_NAMESPACE}" , "ns_prefix":"${WB_ITEM_PREFIX}" }
			}
		}
	}
}

/quickstatements/data/oauth.ini:

; HTTP User-Agent header
agent = 'Wikibase QuickStatements'
; assigned by Special:OAuthConsumerRegistration (request modelled after https://www.wikidata.org/wiki/Special:OAuthListConsumers/view/77b4ae5506dd7dbb0bb07f80e3ae3ca9)
consumerKey = '<OAUTH_CONSUMER_KEY>'
consumerSecret = '<OAUTH_CONSUMER_SECRET>'
  • Bu ortam değişkenlerini kurulumunuza göre ayarlayın:
    • MW_ADMIN_NAME: Hizmetli haklarına sahip MediaWiki kullanıcı adı
    • QS_PUBLIC_SCHEME_HOST_AND_PORT: Sorgu hizmeti anınızın harici IP'si
  • Değişkenler ayarlandığında, OAuth'un kurulu olduğu MediaWiki kurulumunuzda aşağıdaki php betiğini çalıştırarak bir OAuth tüketicisi oluşturun:
php /var/www/html/extensions/OAuth/maintenance/createOAuthConsumer.php \
    --approve \
    --callbackUrl $QS_PUBLIC_SCHEME_HOST_AND_PORT/api.php \
    --callbackIsPrefix true \
    --user $MW_ADMIN_NAME \
    --name QuickStatements \
    --description QuickStatements \
    --version 1.0.1 \
    --grants createeditmovepage \
    --grants editpage \
    --grants highvolume \
    --jsonOnSuccess
  • Başarılı bir yanıt, bu örnekte olduğu gibi "oluşturulmuş" işareti "true" olarak ayarlayacaktır:
{"created":true,"id":1,"name":"QuickStatements","key":"30e532f04e1bdf63ac281fcbc819170c","secret":"f60f31ad4196af40bb0598e1d4d3435a3515604e","approved":1}

Daha fazla bilgi için Docker resim README dosyasına bakın.

Kaynakça