Ana içeriğe geç

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

bluesprice

  • İ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

bluesprice

  • Türkçe dilini seçip devam ediyoruz

bluesprice

  • Bu kısımda ortam kontrolleri sağlanır. Eksik bileşenler var ancak ortam kuruluma hazır

bluesprice

  • Burada MySQL ayarları sağlanır, veritabanı bilgilerinizi girip devam edin

bluesprice

  • Kullanıcı adımızı, şifremizi ve şimdiden sıkıldım, sadece wikiyi yükle seçeneğini işaretleyip devam edin

bluesprice

  • devam edin

bluesprice

  • devam edin

bluesprice

  • LocalSettings.php dosyasını indirip sunucuda /var/www/bluesprice dizinine atın

bluesprice

  • 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

bluespice

  • Yapılandırmamız başarılı ancak tüm bileşenlerin kurulması için devam edin

bluespice

  • 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.