BlueSpice¶
Nedir?¶
BlueSpice MediaWiki, MediaWiki tabanlı ve GNU Genel Kamu Lisansı tarafından lisanslanan ücretsiz wiki yazılımıdır. Özellikle MediaWiki için kurumsal wiki dağıtımı olarak işletmeler için geliştirilmiştir ve 150'den fazla ülkede kullanılmaktadır.

Kurulum¶
- Sistemimizi güncelleyelim
apt-get update && apt-get upgrade
- PHP reposu ekleyebilmemiz için gerekli bileşen
apt install software-properties-common
- MediaWiki PHP 7.4 te stabil çalışmıyor. Bu yüzden 7.3 indireceğiz
- PHP repo eklemesi yapıyoruz
add-apt-repository ppa:ondrej/php
- Tekrar repolarımızı güncelleyelim
sudo apt-get update
- Apache web servisimizi indirelim
apt install apache2
- PHP 7.3 ve bileşenleri indiriliyor
apt update; \
apt install apache2 \
libapache2-mod-php7.3 \
php7.3 \
php7.3-cli \
php7.3-common \
php7.3-curl \
php7.3-gd \
php7.3-intl \
php7.3-json \
php7.3-mbstring \
php7.3-mysql \
php7.3-opcache \
php7.3-tidy \
php7.3-xml \
php7.3-zip; \
apt clean
- php.ini dosyamızı düzenleyelim
nano /etc/php/7.3/apache2/php.ini
- Aşağıdaki ifadeleri bulup değerlerini aşağıdaki gibi ayarlayın
date.timezone = Europe/Istanbul
max_execution_time = 600
post_max_size = 128M
upload_max_filesize = 128M
/etc/apache2/sites-available
dizinine gidelim
cd /etc/apache2/sites-available
bluespice.conf
adında yeni bir dosya oluşturalım
nano bluespice.conf
- Dosya içerisinde aşağıdakini ekleyin
<VirtualHost *:80>
ServerName SERVERNAME
ServerAlias SERVERALIAS
DocumentRoot /var/www/bluespice
<Directory /var/www/bluespice>
Options FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/bluespice/w/images>
AllowOverride None
AddType text/plain .html .htm .shtml .phtml .php .php3 .php4 .php5 .php7
php_admin_flag engine off
Require all granted
</Directory>
<Directory /var/www/bluespice/w/cache>
Require all denied
</Directory>
<DirectoryMatch .git>
Require all denied
</DirectoryMatch>
ErrorLog ${APACHE_LOG_DIR}/error-bluespice.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access-bluespice.log combined
ServerSignature On
</VirtualHost>
- Varsayılan conf dosyasını devre dışı bırakıyoruz
a2dissite 000-default
- Ardından oluşturduğumuz bluespice.conf dosyası devreye alınıyor
a2ensite bluespice
- Yönlendirme modülünü aktif ediyoruz
a2enmod rewrite
- Apache servisinin başlaması için tanımlama yaptığımız dizin yolunun olması gerekiyor
mkdir /var/www/bluespice
- Apache2 servisini yeniden başlatalım
service apache2 restart
- Buradaki linkten bluespice free verisyon indirelim.
- En son sürümü indiriyorum
- İndirdiğiniz zip dosyasını sunucuya filezilla veya benzeri programla atın
- Zip dosyasının bulunduğu dosyaya terminal üzerinden gidin ve zipten çıkarın
apt install unzip
unzip BlueSpice-free-3.1.zip
- Önceden oluşturduğumuz dosyası silelim
rm -r /var/www/bluespice
- Dosyayı www dizinine taşıyacağız
mv bluespice/ /var/www
- Gerekli izinleri tanımlayalım
chmod -R 755 /var/www/
- Gerekli izinler
chown -R www-data /var/www/
- Veritabanı olarak MariaDB kuracağız
apt update; \
apt install mariadb-server mariadb-client; \
apt clean
- Veritabanına giriş yapalım
mysql -u root -p
- Veritabanı oluşturalım
create database bluespice;
- Veritabanı kullanıcısı oluşturalım
create user [email protected] identified by '[email protected]#';
- Kullanıcıya veritabanı için gerekli yetkileri verelim
grant all on bluespice.* to [email protected];
- Değişiklikleri kalıcı hale getirelim
flush privileges;
- Çıkış yapalım
exit
- Şimdi Elasticsearch kurulumu yapacağız.
- Elasticsearch, Bir arama motorudur. Site içerisinde gelişmiş aramalar yapmamızı sağlayacak.
- Ön koşul olarak gnupg gereklidir
apt install gnupg
- Java 11 indiriyoruz
sudo apt install openjdk-11-jdk
- JAVA_HOME ortam değişkeninin yapılandırılması
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
- Gerekli indirmeler
sudo apt install apt-transport-https
- Elasticsearch için GPG anahtarını içeri aktarıyoruz
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
- Sistemimizdeki apt deposunu yapılandırmamız gerek. Aşağıdaki komut ile Elasticsearch indirebilmemiz için sistemimize bir repo eklemesi yapacağız
add-apt-repository "deb https://artifacts.elastic.co/packages/7.x/apt stable main"
- Elasticsearch indiriliyor
sudo apt update && sudo apt install elasticsearch
- Bluespice üzerinde gelişmiş arama yapabilmek için Elasticsearch'a bağlı bir eklenti indiriyoruz
/usr/share/elasticsearch/bin/elasticsearch-plugin install -b ingest-attachment
- Elasticsearc aktif ediliyor
systemctl enable elasticsearch; \
service elasticsearch start
Warning
Makinenize düşük kaynak tanımladıysanız elasticsearch başlar başlamaz kill olabilir. Kaynaklarınızı yükseltin
- Şimdi node.js kuracağız. Node.js Visual Editör(düzenleme aracı) için gerekli.
apt update; \
apt install nodejs npm; \
apt clean
- Parsoid Kurulumu(Visual Editör için işleme aracı)
- İlgili paket repodan kurulmayacaktır. Parsoid /opt altına kurulur.
cd /opt
- Git aracını indirelim
apt install git
- Parsoid indiriliyor
git clone --depth 1 --branch v0.10.0 https://gerrit.wikimedia.org/r/p/mediawiki/services/parsoid parsoid
- Parsoid aşağıdaki komutlarla kurulur
cd parsoid; \
npm install
- İP adresimizi görmek için gerekli aracı indirelim
apt install net-tools
- IP adresimizi öğreniyoruz
ifconfig
- Tarayıcıda bu şekilde giriş yapıyoruz
http://IP-ADRESS/
- LocalSettings.php not found. uyarısı ile karşılaştık bu yüzden set up the wiki yazısına tıklayıp kurulum yapıyoruz
- Türkçe dilini seçip devam ediyoruz
- Bu kısımda ortam kontrolleri sağlanır. Eksik bileşenler var ancak ortam kuruluma hazır
- Burada MySQL ayarları sağlanır, veritabanı bilgilerinizi girip devam edin
- Kullanıcı adımızı, şifremizi ve şimdiden sıkıldım, sadece wikiyi yükle seçeneğini işaretleyip devam edin
- devam edin
- devam edin
- LocalSettings.php dosyasını indirip sunucuda /var/www/bluesprice dizinine atın
- bluespice dizinine gidin
cd /var/www/bluespice
- update işlemi yapalım
maintenance/update.php
- Gerekli izin işlemleri
cd /var/www && chmod -R 777 *
- Apache servisine restart atın
systemctl restart apache2
-
Bir önceki görselde yazıda enter your wiki. butonuna tıklayın
-
Oluşturduğunuz bilgiler ile oturum açın
- Yapılandırmamız başarılı ancak tüm bileşenlerin kurulması için devam edin
- parsoid kurulumunun tamamlanması için aşağıdaki dizine gidin
cd /var/www/bluespice/extensions/BlueSpiceVisualEditorConnector/docs/parsoid
ls
komutu ile kontrol ettiğinizde config.yaml ve localsettings.js adında iki dosya göreceksiniz- Bu iki dosyayı /opt/parsoid dizinine kopyalayın
cp config.yaml /pt/parsoid && cp localsettings.js /opt/parsoid
/opt/parsoid
dizinine gidin
cd /opt/parsoid
- parsoid çalıştırılarak test ediliyor
node bin/server.js
- Hata almadan aşağıdaki gibi çıktı alıyorsanız yapılandırmada herhangi bir problem yok demektir.
- ctrl + c yaparak çıkabilirsiniz
[email protected]:/opt/parsoid# node bin/server.js
{"name":"parsoid","hostname":"bluefull","pid":15758,"level":30,"levelPath":"info/service-runner","msg":"master(15758) initializing 4 workers","time":"2020-11-01T23:41:38.539Z","v":0}
{"name":"lib/index.js","hostname":"bluefull","pid":15770,"level":30,"levelPath":"info","msg":"loading ...","time":"2020-11-01T23:41:40.158Z","v":0}
{"name":"parsoid","hostname":"bluefull","pid":15770,"level":60,"errno":"EADDRINUSE","code":"EADDRINUSE","syscall":"bind","address":null,"port":8000,"levelPath":"fatal/service-runner/unhandled","msg":"bind EADDRINUSE null:8000","time":"2020-11-01T23:41:40.174Z","v":0}
{"name":"parsoid","hostname":"bluefull","pid":15770,"level":60,"errno":"EADDRINUSE","code":"EADDRINUSE","syscall":"bind","address":null,"port":8000,"levelPath":"fatal/service-runner/unhandled","msg":"bind EADDRINUSE null:8000","time":"2020-11-01T23:41:40.175Z","v":0}
{"name":"parsoid","hostname":"bluefull","pid":15758,"level":40,"message":"first worker died during startup, continue startup","worker_pid":15770,"exit_code":1,"startup_attempt":1,"levelPath":"warn/service-runner/master","msg":"first worker died during startup, continue startup","time":"2020-11-01T23:41:40.283Z","v":0}
^C{"name":"parsoid","hostname":"bluefull","pid":15758,"level":30,"levelPath":"info/service-runner/master","msg":"master shutting down, killing workers","time":"2020-11-01T23:41:41.314Z","v":0}
{"name":"parsoid","hostname":"bluefull","pid":15758,"level":30,"levelPath":"info/service-runner/master","msg":"Exiting master","time":"2020-11-01T23:41:41.315Z","v":0}
- Daha sonrasında parsoid'i arka planda çalıştırabilmek için node.js aracılığıyla pm2'yi kurmalıyız
npm install -g pm2
- Ardından Parsoid'i pm2 ile başlatın
pm2 start /opt/parsoid/bin/server.js
┌────┬────────────────────┬──────────┬──────┬───────────┬──────────┬──────────┐
│ id │ name │ mode │ ↺ │ status │ cpu │ memory │
├────┼────────────────────┼──────────┼──────┼───────────┼──────────┼──────────┤
│ 0 │ server │ fork │ 0 │ online │ 0% │ 16.9mb │
└────┴────────────────────┴──────────┴──────┴───────────┴──────────┴──────────┘
- İlgili listeyi kaydedin
pm2 save
- Son olarak sistem başlangıcına pm2'yi ekleyelim
pm2 startup [platform]
- Python yüklemesi sağlayacağız. Python BlueSpice'nin bir parçası olan MediaWiki uza>
apt-get update; \
apt-get -y install python3; \
apt-get clean
- BlueSpice'nin performansını ve önbellekleme sağlamak için memcached indireceğiz
apt-get update; \
apt-get -y install memcached; \
apt-get clean
- Memcached yapılandırmasını aşağıdaki dosyadan sağlayabilirsiniz
- -m değerinizi belleğinize bağlı olarak yükseltebilirsiniz
nano /etc/memcached.conf
- Değişiklikleri aktif hale getirmek için:
service memcached restart
- TÜM BİLEŞENLER KURULDU VE TÜM YAPILANDIRMA SAĞLANDI.