웹사이트 검색

Ubuntu 16.04 LTS에 BookStack을 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 우리가 할 일\n
  3. 1단계 - Ubuntu 업데이트 및 업그레이드
  4. 2단계 - Ubuntu 16.04에 Nginx 설치
  5. 3단계 - PHP-FPM 설치 및 구성
  6. 4단계 - MariaDB 데이터베이스 설치 및 구성
  7. 5단계 - PHP Composer 설치
  8. 6단계 - BookStack 설치
  9. 7단계 - BookStack용 Nginx 가상 호스트 구성\n
  10. 8단계 - 테스트
  11. 참조

BookStack은 프로젝트에 대한 문서/위키 콘텐츠를 생성하는 오픈 소스 플랫폼입니다. Laravel 웹 프레임워크를 사용하여 PHP 프로그래밍 언어로 작성되었습니다. 기본적으로 프로젝트 문서/위키는 BookStack에 책으로 저장되고 그 뒤에 장과 페이지가 저장됩니다. 또한 장 및 페이지를 기반으로 설명서를 책으로 쉽게 만들고 읽을 수 있습니다.

이 튜토리얼에서는 Ubuntu 16.04의 LEMP(Linux, Nginx, PHP-FPM, MySQL/MariaDB) 스택에서 BookStack을 설치하고 구성하는 방법을 단계별로 보여줍니다. 이 자습서에서는 PHP Composer를 설치하고 명령줄을 사용하여 수동으로 MySQL 데이터베이스를 만드는 방법을 포함한 세부 정보를 다룹니다.

전제 조건

  • 우분투 16.04
  • 루트 권한\n

우리가 할 일

  1. 저장소 업데이트 및 시스템 업그레이드
  2. Ubuntu 16.04에 Nginx 설치
  3. PHP-FPM 설치 및 구성
  4. MariaDB 데이터베이스 설치 및 구성
  5. PHP 작성기 설치
  6. BookStack 설치 및 구성
  7. BookStack용 Nginx 가상 호스트 구성\n
  8. 테스트

1단계 - Ubuntu 업데이트 및 업그레이드

BookStack 설치를 위한 패키지를 설치하기 전에 Ubuntu 리포지토리와 시스템이 최신 상태인지 확인하십시오.

그렇지 않은 경우 Ubuntu 리포지토리를 업데이트하고 아래 명령을 사용하여 시스템을 업그레이드할 수 있습니다.

sudo apt update
sudo apt upgrade

2단계 - Ubuntu 16.04에 Nginx 설치

이 튜토리얼에서는 LEMP 스택에서 BookStack 플랫폼을 실행하고 Ubuntu 리포지토리에서 Nginx 웹 서버를 설치합니다.

아래의 apt 명령을 사용하여 Ubuntu에 Nginx 웹 서버를 설치합니다.

sudo apt install nginx -y

설치가 완료되면 서비스를 시작하고 시스템 부팅 시마다 실행되도록 활성화합니다.

systemctl start nginx
systemctl enable nginx

이제 nginx 서비스 상태와 시스템의 열린 포트를 확인하고 목록에 HTTP 포트 80이 있는지 확인합니다.

아래 명령을 실행하십시오.

systemctl status nginx
netstat -plntu

다음은 결과입니다.

Nginx 웹 서버는 Ubuntu 16.04 서버에 설치됩니다.

3단계 - PHP-FPM 설치 및 구성

이 단계에서는 PHP-FPM 7.0을 설치하고 구성합니다. PDO, Tokenizer, GD, Tidy, MBString 및 OpenSSL을 포함하여 BookStack에 필요한 일부 확장과 함께 PHP 및 PHP-FPM을 설치합니다.

아래의 apt 명령을 실행하여 필요한 모든 확장과 함께 PHP 및 PHP-FPM을 설치합니다.

sudo apt install php7.0-fpm php7.0-mcrypt php7.0-curl php7.0-cli php7.0-mysql php7.0-gd php7.0-xsl php7.0-json php7.0-intl php-pear php7.0-dev php7.0-common php7.0-mbstring php7.0-tidy php7.0-zip php-soap libcurl3 curl -y

설치가 완료되면 php fpm 및 php cli에 대한 php.ini 구성 파일을 구성해야 합니다.

vim을 사용하여 fpm 구성을 위해 php.ini 파일을 편집합니다.

vim /etc/php/7.0/fpm/php.ini

cgi.fix_pathinfo 줄의 주석을 해제하고 값을 0으로 변경합니다.

cgi.fix_pathinfo=0

저장 및 종료.

vim을 사용하여 cli 구성을 위해 php.ini 파일을 편집합니다.

vim /etc/php/7.0/cli/php.ini

cgi.fix_pathinfo 줄의 주석을 해제하고 값을 0으로 변경합니다.

cgi.fix_pathinfo=0

저장 및 종료.

이제 PHP-FPM 서비스를 시작하고 시스템 부팅 시마다 실행되도록 활성화합니다.

systemctl start php7.0-fpm
systemctl enable php7.0-fpm

Ubuntu 시스템에서 PHP-FPM은 sock 파일 아래에서 실행됩니다. 아래 netstat 명령을 사용하여 확인하십시오.

netstat -pl | grep fpm

그러면 아래와 같은 결과를 얻게 됩니다.

필요한 모든 확장이 포함된 PHP 및 PHP-FPM이 설치되었습니다.

4단계 - MariaDB 데이터베이스 설치 및 구성

BookStack은 MySQL 데이터베이스에 대한 지원만 제공하며 MySQL 버전 >= 5.6에서만 실행됩니다. 이 자습서에서는 Ubuntu 리포지토리에서 설치할 수 있는 MariaDB 최신 버전을 사용합니다.

다음 apt 명령을 실행하여 MariaDB 데이터베이스를 설치합니다.

sudo apt install mariadb-server mariadb-client -y

설치가 완료되면 서비스를 시작하고 시스템 부팅 시마다 실행되도록 활성화합니다.

systemctl start mysql
systemctl enable mysql

이제 데이터베이스의 루트 암호를 구성해야 합니다.

다음 명령을 실행하여 루트 데이터베이스 비밀번호를 설정하십시오.

mysql_secure_installation

그러면 새 MySQL 루트 암호를 묻는 메시지가 표시됩니다. 루트 사용자의 암호를 입력하고 Enter 키를 누릅니다. 다른 경우에는 Y를 yes로 입력하고 다시 Enter를 누르십시오.

Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

이제 MySQL 루트 암호가 설정되었습니다.

다음으로 BookStack 설치를 위한 새 데이터베이스를 생성해야 합니다.

사용자 bookstak 및 비밀번호 [email 를 사용하여 bookstackdb라는 새 데이터베이스를 생성합니다.

루트 사용자로 MySQL 셸에 로그인합니다.

mysql -u root -p

이제 아래의 모든 MySQL 쿼리를 실행합니다.

create database bookstackdb;
create user ';
flush privileges;
exit;

Ubuntu 시스템에 MySQL/MariaDB가 설치되었고 BookStack 설치를 위한 데이터베이스가 생성되었습니다.

5단계 - PHP Composer 설치

Composer는 PHP의 종속성 관리자입니다. 프로젝트에 필요한 PHP 종속성을 관리할 수 있습니다. 이 단계에서는 설치 프로그램 스크립트를 사용하여 Composer를 설치합니다. Composer는 BookStack에 필요한 모든 PHP 라이브러리를 다운로드하는 데 사용됩니다.

홈 디렉토리로 이동하여 curl을 사용하여 설치 프로그램을 다운로드합니다.

cd ~/
curl -sS https://getcomposer.org/installer | php

그러면 홈 디렉토리에 있는 composer.phar 파일을 가져와 /usr/bin 디렉토리로 파일을 이동하고 아래와 같이 composer 명령을 실행합니다.

mv composer.phar /usr/bin/composer
composer -v

시스템에 설치된 작곡가 버전을 받게 됩니다.

이제 PHP Composer가 Ubuntu 16.04에 설치되었습니다.

6단계 - BookStack 설치

이 단계에서는 루트 애플리케이션 디렉토리가 될 /var/www 디렉토리 아래에 BookStack을 설치합니다.

/var/www 디렉토리로 이동하고 git 명령을 사용하여 BookStack 소스 코드를 복제합니다.

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

BookStack/ 디렉토리로 이동하고 아래와 같이 작성기 명령을 사용하여 모든 PHP 종속성을 설치합니다.

cd BookStack/
composer install

오류가 없는지 확인하고 완료되면 아래와 같은 결과가 표시됩니다.

이제 환경 구성 파일 .env.example을 복사하고 vim을 사용하여 편집합니다.

cp .env.example .env
vim .env

데이터베이스 세부 정보 줄에서 아래와 같이 데이터베이스 정보로 모든 항목을 변경합니다.

# Database details
DB_HOST=localhost
DB_DATABASE=bookstackdb
DB_USERNAME=bookstack

저장 및 종료.

그리고 BookStack 디렉토리의 소유자를 www-data 사용자 및 그룹으로 변경합니다.

chown -R www-data:www-data /var/www/BookStack

다음으로 BookStack에 대한 고유한 애플리케이션 키를 생성하고 PHP 장인 명령을 사용하여 데이터베이스 스키마를 업데이트해야 합니다.

루트 응용 프로그램 디렉토리 /var/www/BookStack에서 아래와 같이 명령을 실행합니다.

php artisan key:generate
php artisan migrate

확인 메시지가 나타나면 yes를 입력하고 Enter 키를 누릅니다.

명령이 비밀 키를 생성하고 데이터베이스 체계를 가져올 때까지 기다립니다.

이제 BookStack이 Ubuntu 16.04에 설치되었고 비밀 고유 키 응용 프로그램이 생성되었으며 BookStack의 데이터베이스 체계가 업데이트되었습니다.

7단계 - BookStack용 Nginx 가상 호스트 구성

이 단계에서는 BookStack에 대한 nginx 가상 호스트를 구성합니다. BookStack URL의 도메인 이름으로 book.hakase-labs.co를 사용할 것입니다.

/etc/nginx 디렉터리로 이동하고 vim 편집기를 사용하여 sites-available 디렉터리 아래에 새 가상 호스트 파일 bookstack을 만듭니다.

cd /etc/nginx/
vim sites-available/bookstack

아래 구성을 붙여넣습니다.

server {
  listen 80;
  server_name book.hakase-labs.co;
  root /var/www/BookStack/public;

  access_log  /var/log/nginx/bookstack_access.log;
  error_log  /var/log/nginx/bookstack_error.log;

  client_max_body_size 1G;
  fastcgi_buffers 64 4K;

  index  index.php;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }

  location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
    deny all;
  }

  location ~ \.php(?:$|/) {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
  }

  location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
    expires 30d;
    access_log off;
  }
}

저장 및 종료.

이제 가상 호스트를 활성화하고 구성을 테스트하십시오.

ln -s /etc/nginx/sites-available/bookstack /etc/nginx/sites-enabled/
nginx -t

아래와 같이 오류가 없는지 확인하십시오.

이제 Nginx 서비스를 다시 시작하십시오.

systemctl restart nginx

BookStack용 Nginx 가상 호스트가 추가 및 활성화되었습니다.

8단계 - 테스트

웹 브라우저를 열고 주소 표시줄에 BookStack URL을 입력하세요. 내 주소는 http://book.hakase-labs.co/입니다.

그러면 아래와 같이 로그인/페이지로 리디렉션됩니다.

비밀번호와 함께 기본 관리자 사용자 [이메일 보호]를 입력한 다음 로그인 버튼을 누릅니다.

그러면 BookStack 사용자 대시보드가 표시됩니다.

설정 메뉴를 클릭하면 설정 페이지가 나타납니다.

이제 사용자 메뉴를 클릭한 다음 관리 사용자를 클릭하십시오. 이메일 주소로 기본 이메일을 변경하고 자신의 비밀 비밀번호로 비밀번호를 변경하십시오.

그런 다음 저장 버튼을 클릭합니다.

이로써 Ubuntu 16.04에서 LEMP(Linux, Nginx, MariaDB 및 PHP-FPM) 스택을 사용한 BookStack 설치가 성공적으로 완료되었습니다.

참조

  • https://www.bookstackapp.com/docs/