format_list_bulletedBu İçerikte Bahsedilen Konular
- arrow_rightBookStack Nedir ve Neden Kendi Wiki Sayfanızı Host Etmelisiniz?
- arrow_rightBookStack Sistem Gereksinimleri
- arrow_rightBookStack Kurulumu: Adım Adım Rehber
- arrow_right1. Sunucu Hazırlığı ve Bağımlılıkların Kurulumu
- arrow_right2. Veritabanı Oluşturma
- arrow_right3. BookStack Kurulumu
- arrow_right4. Composer ile Bağımlılıkları Yükleme
- arrow_right5. Ortam Değişkenlerini Yapılandırma
- arrow_right6. Veritabanı Migrate İşlemi
- arrow_right7. Nginx Web Sunucusu Yapılandırması
- arrow_rightSSL Sertifikası ile Güvenli Bağlantı
- arrow_rightBookStack Özellikleri ve Kullanım Alanları
- arrow_rightTemel Özellikler
- arrow_rightBookStack Alternatifleriyle Karşılaştırma
- arrow_rightBookStack'i Güncelleme ve Bakım
- arrow_rightGüvenlik Güncellemeleri
- arrow_rightYedekleme Stratejisi
BookStack Nedir ve Neden Kendi Wiki Sayfanızı Host Etmelisiniz?
BookStack, açık kaynak kodlu, PHP ve Laravel tabanlı bir wiki ve dokümantasyon platformudur. 2015 yılında piyasaya sürülen bu yazılım, özellikle ekiplerin ve bireylerin bilgi tabanı oluşturması için tasarlanmıştır. Resmi GitHub sayfasına göre, BookStack dünya genelinde 1 milyondan fazla aktif kurulum sayısına ulaşmıştır (GitHub Stars: 25.000+).
Kendi wiki sayfanızı host etmeniz için başlıca nedenler şunlardır:
- Veri bağımsızlığı: Verileriniz tamamen sizin kontrolünüzde kalır, üçüncü taraf hizmetlerine bağımlı olmazsınız.
- Maliyet avantajı: Açık kaynak yapısı sayesinde lisans ücreti ödemezsiniz.
- Özelleştirme: Kendi alan adınızda, kendi tasarımınızla çalışır.
- Kurumsal güvenlik: Hassas bilgileriniz harici sunucularda tutulmaz.
Bu rehberde, Ubuntu 24 üzerinde Plesk kurulumu gibi sunucu yönetim konularında olduğu gibi, BookStack kurulumunu da adım adım ele alacağız.
BookStack Sistem Gereksinimleri
BookStack'ı kurmadan önce sunucunuzun aşağıdaki gereksinimleri karşıladığından emin olun. Resmi dokümantasyona göre minimum ve önerilen gereksinimler şu şekildedir:
| Bileşen | Minimum | Önerilen |
|---|---|---|
| İşlemci (CPU) | 1 çekirdek | 2+ çekirdek |
| RAM | 1 GB | 2 GB+ |
| Depolama | 2 GB | 10 GB+ SSD |
| PHP Sürümü | PHP 8.1 | PHP 8.2 / 8.3 |
| Veritabanı | MySQL 5.7 / MariaDB 10.2 | MySQL 8.0 / MariaDB 10.6 |
| Web Sunucusu | Apache 2.4 / Nginx 1.20 | Nginx 1.25+ |
Önerilen yapılandırmayla çalışmak, wiki sayfanızın performansını %40-60 oranında artırabilir. Ayrıca NVMe SSD kullanımı, sayfa yükleme sürelerini geleneksel HDD'lere kıyasla önemli ölçüde düşürür.
BookStack Kurulumu: Adım Adım Rehber
1. Sunucu Hazırlığı ve Bağımlılıkların Kurulumu
Öncelikle sunucunuzda gerekli yazılımları kurmanız gerekmektedir. Ubuntu 24 kullanıyorsanız aşağıdaki komutlarla başlayın:
sudo apt update && sudo apt upgrade -y
sudo apt install -y nginx php8.3 php8.3-fpm php8.3-mysql php8.3-gd php8.3-mbstring
sudo apt install -y php8.3-xml php8.3-curl php8.3-zip php8.3-bcmath
sudo apt install -y mariadb-server git unzip wget
Bu bağımlılıklar arasında PHP 8.3, BookStack'in en stabil çalıştığı sürümdür. Resmi dokümantasyona göre PHP 8.1 ve üzeri desteklenmektedir. MariaDB kurulumuyla birlikte sunucu lokasyonu seçimi konusunda da veritabanı performansını etkileyen coğrafi faktörleri göz önünde bulundurabilirsiniz.
2. Veritabanı Oluşturma
BookStack, verilerini saklamak için bir veritabanına ihtiyaç duyar. Aşağıdaki adımlarla MySQL/MariaDB veritabanınızı oluşturun:
sudo mysql_secure_installation
sudo mysql -u root -p
MySQL konsolunda şu komutları çalıştırın:
CREATE DATABASE bookstack CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'bookstack_user'@'localhost' IDENTIFIED BY 'Güçlü_Bir_Şifre_123!';
GRANT ALL PRIVILEGES ON bookstack.* TO 'bookstack_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
İpucu: Veritabanı şifrenizi güvenli bir yerde saklayın. Ortam değişkenlerinde (environment variables) bu bilgiyi kullanacaksınız.
3. BookStack Kurulumu
BookStack'i kurmak için iki ana yöntem bulunmaktadır: Git ile klonlama veya doğrudan indirme. Git yöntemi güncellemeleri daha kolay yönetmenizi sağlar.
cd /var/www
sudo git clone https://github.com/BookStackApp/BookStack.git bookstack
cd bookstack
sudo git checkout release # En son kararlı sürüm
sudo chown -R www-data:www-data /var/www/bookstack
release dalını kullanmak, en kararlı sürümü kullanmanızı garanti eder. BookStack'in geliştirme ekibi, 3-6 ayda bir yeni sürümler yayınlamaktadır.
4. Composer ile Bağımlılıkları Yükleme
cd /var/www/bookstack
sudo -u www-data composer install --no-dev
Composer kurulu değilse önce kurmanız gerekir:
sudo apt install -y composer
sudo -u www-data composer install --no-dev
5. Ortam Değişkenlerini Yapılandırma
BookStack, .env dosyası üzerinden yapılandırılır. Örnek dosyayı oluşturun:
cd /var/www/bookstack
sudo cp .env.example .env
sudo nano .env
Dosya içinde aşağıdaki kritik değerleri düzenleyin:
APP_URL=https://wiki.example.com
APP_DEBUG=false
DB_HOST=localhost
DB_DATABASE=bookstack
DB_USERNAME=bookstack_user
DB_PASSWORD=Güçlü_Bir_Şifre_123!
CACHE_DRIVER=database
SESSION_DRIVER=database
QUEUE_CONNECTION=database
Güvenlik notu: APP_KEY değerini oluşturmak için şu komutu çalıştırın:
sudo -u www-data php artisan key:generate
6. Veritabanı Migrate İşlemi
Veritabanı tablolarını oluşturmak için:
sudo -u www-data php artisan migrate
Varsayılan kullanıcı oluşturmak için:
sudo -u www-data php artisan bookstack:create-admin
# E-posta, ad ve şifre belirleyin
Varsayılan giriş bilgileri [email protected] / password şeklindedir. İlk girişten sonra mutlaka değiştirin.
7. Nginx Web Sunucusu Yapılandırması
sudo nano /etc/nginx/sites-available/bookstack
Aşağıdaki yapılandırmayı ekleyin:
server {
listen 80;
server_name wiki.example.com;
root /var/www/bookstack/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Yapılandırmayı etkinleştirin:
sudo ln -s /etc/nginx/sites-available/bookstack /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Nginx hakkında detaylı bilgi için yük dengeleyici rehberimizi inceleyebilirsiniz.
SSL Sertifikası ile Güvenli Bağlantı
Wiki sayfanızda SSL kullanmak, veri güvenliği açısından kritik öneme sahiptir. Let's Encrypt ile ücretsiz SSL kurulumu:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d wiki.example.com
SSL kurulumu sonrasında BookStack'in .env dosyasındaki APP_URL değerini https:// olarak güncelleyin ve çalışanlarını yeniden başlatın:
sudo -u www-data php artisan config:cache
sudo systemctl reload nginx
BookStack Özellikleri ve Kullanım Alanları
Temel Özellikler
BookStack, wiki platformları arasında öne çıkan özellikleriyle dikkat çeker:
- Kitap ve Sayfa Hiyerarşisi: İç içe kitaplar, bölümler ve sayfalar oluşturabilirsiniz.
- WYSIWYG Editör: TinyMCE tabanlı görsel editör, Markdown desteği sunar.
- Rol Bazlı Yetkilendirme: Kullanıcılara detaylı izinler atayabilirsiniz.
- Görsel Galeri: Sayfalara resim ve dosya yükleme desteği.
- Arama Motoru: Tüm içerikte güçlü tam metin arama.
- Versiyon Kontrolü: Sayfa geçmişini görüntüleme ve geri alma.
- API Erişimi: Üçüncü taraf entegrasyonları için REST API.
Araştırmalara göre, kurumların %67'si bilgi yönetimi sorunları yaşadığını ve bunun verimlilik kayıplarına yol açtığını belirtmektedir. BookStack gibi bir wiki çözümü bu sorunları önemli ölçüde azaltabilir.
BookStack Alternatifleriyle Karşılaştırma
| Özellik | BookStack | Wiki.js | MediaWiki | DokuWiki |
|---|---|---|---|---|
| Programlama Dili | PHP / Laravel | Node.js | PHP | PHP |
| Kurulum Kolaylığı | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ |
| Varsayılan Editör | WYSIWYG | Markdown | Wiki Markup | Markdown |
| Görsel Arayüz | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐ |
| Veritabanı Desteği | MySQL / PostgreSQL | PostgreSQL / MySQL | MySQL | Dosya tabanlı |
| API Desteği | Evet | Evet | Evet | Eklenti ile |
BookStack, özellikle kullanıcı dostu arayüzü ve kolay kurulumuyla diğer alternatiflerden ayrılır. CMS karşılaştırma rehberimizde de belirttiğimiz gibi, doğru araç seçimi projenizin başarısı için kritiktir.
BookStack'i Güncelleme ve Bakım
Güvenlik Güncellemeleri
BookStack'i güncel tutmak, güvenlik açıklarını kapatmak için hayati önem taşır. Güncelleme komutları:
cd /var/www/bookstack
sudo git pull origin release
sudo -u www-data composer install --no-dev
sudo -u www-data php artisan migrate
sudo -u www-data php artisan cache:clear
sudo -u www-data php artisan config:cache
BookStack geliştiricileri, kritik güvenlik güncellemelerini 24-48 saat içinde yayınlamaktadır. Bu nedenle düzenli olarak güncelleme kontrolü yapmanız önerilir.
Yedekleme Stratejisi
Veri kaybına karşı düzenli yedekleme şarttır. Aşağıdaki bileşenleri yedekleyin:
- Veritabanı:
mysqldump -u bookstack_user -p bookstack > backup_$(date +%Y%m%d).sql - Dosyal