FreeBSD 12 Üzerinde BookStack Kurulumu

Giriş

BookStack , bilgileri düzenlemek ve depolamak için basit, kendi kendine barındırılan, kullanımı kolay bir platformdur. BookStack tamamen ücretsiz ve açıktır, ayrıca MIT lisanslıdır. Kaynak GitHub'da bulunur . Bu öğreticide, BookStack'ı yeni bir FreeBSD 12 Vultr örneğine yükleyeceğiz.

Gereksinimler

  • Aşağıdaki sürümlere sahip PHP 7.0.0 veya sonraki sürümleri:
    • OpenSSL
    • PDO
    • MBString
    • Tokenizer
    • GD
    • MySQLND
    • Tidy
    • SimpleXML
    • DOM
  • MySQL / MariaDB sürüm 5.6 veya üstü
  • Git (Kesinlikle gerekli değildir ancak güncellemeleri yönetmeye yardımcı olur)
  • Besteci

Sen başlamadan önce

FreeBSD sürümünü kontrol edin.

uname -ro
# FreeBSD 12.0-RELEASE

FreeBSD sisteminizin güncel olduğundan emin olun.

freebsd-update fetch install
pkg update && pkg upgrade -y

Gerekli paketleri kurun.

pkg install -y sudo vim unzip curl wget bash socat git

Tercih ettiğiniz kullanıcı adıyla yeni bir kullanıcı hesabı oluşturun, kullanacağız johndoe.

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

visudoKomutu çalıştırın ve grup %wheel ALL=(ALL) ALLüyelerinin wheelherhangi bir komutu yürütmesine izin vermek için satırı kaldırın .

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

Şimdi ile yeni oluşturulan kullanıcınıza geçin su.

su - johndoe

NOT: Kullanıcı adınızla değiştirin johndoe.

Saat dilimini ayarlayın.

sudo tzsetup

PHP Yükle

PHP'yi ve gerekli PHP uzantılarını yükleyin.

sudo pkg install -y php72 php72-mbstring php72-tokenizer php72-pdo php72-pdo_mysql php72-openssl php72-hash php72-json php72-phar php72-filter php72-zlib php72-dom php72-xml php72-xmlwriter php72-xmlreader php72-pecl-imagick php72-curl php72-session php72-ctype php72-iconv php72-gd php72-simplexml php72-zip php72-filter php72-tokenizer php72-calendar php72-fileinfo php72-intl php72-mysqli php72-phar php72-opcache php72-tidy

Versiyonu kontrol et.

php --version
# PHP 7.2.18 (cli) (built: May  9 2019 01:13:31) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Yumuşak bağlantı php.ini-productioniçin php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

PHP-FPM'yi etkinleştirin ve başlatın.

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

MariaDB'yi yükleyin

MariaDB'yi yükleyin.

sudo pkg install -y mariadb102-client mariadb102-server

Versiyonu kontrol et.

mysql --version
# mysql  Ver 15.1 Distrib 10.2.24-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1

MariaDB'yi başlatın ve etkinleştirin.

sudo sysrc mysql_enable="yes" 
sudo service mysql-server start

mysql_secure_installationKurulumunuzun güvenliğini artırmak için komut dosyasını çalıştırın .

sudo mysql_secure_installation

Kök kullanıcı olarak MariaDB'de oturum açın.

mysql -u root -p
# Enter password:

Yeni bir veritabanı ve kullanıcı oluşturun. Bu yeni kullanıcının kimlik bilgilerini hatırlayın.

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;

Nginx'i yükle

Nginx'i yükleyin.

sudo pkg install -y nginx

Versiyonu kontrol et.

nginx -v
# nginx version: nginx/1.14.2

Nginx'i etkinleştirin ve başlatın.

sudo sysrc nginx_enable=yes
sudo service nginx start

sudo vim /usr/local/etc/nginx/bookstack.confBookStack için Nginx'i çalıştırın ve ayarlayın.

server {
  listen 80;
  listen [::]:80;
  server_name example.com;
  root /usr/local/www/bookstack/public;

  index index.php index.html;

  location / {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass 127.0.0.1:9000;
  }
}

Dosyayı kaydedin ve :+ W+ ile çıkın Q.

Şimdi bookstack.confana nginx.confdosyaya eklememiz gerekiyor.

sudo vim /usr/local/etc/nginx/nginx.confAşağıdaki satırı çalıştırın ve http {}bloğa ekleyin .

include bookstack.conf;

Nginx yapılandırma değişikliklerini test edin.

sudo nginx -t

Nginx'i yeniden yükleyin.

sudo service nginx reload

Besteciyi Yükle

Terminalinizde aşağıdaki komut dosyasını çalıştırarak Composer'ı global olarak yükleyin.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

NOT: Yukarıda listelenen komut bloğunda, karma, yükleyicinin her sürümü ile değişecektir. En son Composer kurulum komutları için https://getcomposer.org/download adresini ziyaret edin .

Versiyonu kontrol et.

composer --version
# Composer version 1.8.5 2019-04-09 17:46:47

BookStack'ı Yükle

Bir belge kök klasörü oluşturun.

sudo mkdir -p /usr/local/www/bookstack

/usr/local/www/bookstackDizinin sahipliğini olarak değiştirin johndoe.

sudo chown -R johndoe:johndoe /usr/local/www/bookstack

BookStack GitHub havuzunun sürüm dalını belge kök klasörüne kopyalayın.

cd /usr/local/www/bookstack
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch .

Besteci install komutunu dizinden çalıştırın /usr/local/www/bookstack.

composer install

.env.exampleDosyayı kopyalayın ve .envkendi veritabanı ve posta ayrıntılarınızla doldurun.

cp .env.example .env

Emin olun storage, bootstrap/cacheve public/uploadsklasörler web sunucusu tarafından yazılabilir.

Uygulama kök dizininde aşağıdaki komutu çalıştırın.

php artisan key:generate

Bu, benzersiz bir uygulama anahtarı oluşturur.

php artisan migrateVeritabanını güncellemek için çalıştırın .

/usr/local/www/bookstackDizinin sahipliğini olarak değiştirin www.

sudo chown -R www:www /usr/local/www/bookstack

Artık [email protected]şifresiyle varsayılan yönetici ayrıntılarını kullanarak giriş yapabilirsiniz password. Bu bilgileri ilk girişinizden hemen sonra değiştirmeniz önerilir.



Leave a Comment

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun