웹사이트 검색

CentOS 7에 BookStack Documentation Wiki를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 우리가 할 일\n
  3. 1단계 - EPEL 저장소 설치
  4. 2단계 - CentOS 7에 Nginx 설치
  5. 3단계 - PHP 및 PHP-FPM 설치
  6. 4단계 - MySQL/MariaDB 설치 및 구성
  7. 5단계 - CentOS 7에 PHP Composer 설치
  8. 6단계 - CentOS 7에 BookStack 설치
  9. 7단계 - BookStack용 Nginx 가상 호스트 구성\n
  10. 8단계 - 테스트
  11. 참조

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

이 튜토리얼에서는 LEMP(Linux, Nginx, PHP-FPM, MySQL/MariaDB) 스택 아래 CentOS 7에서 BookStack을 설치하고 구성하는 방법을 단계별로 보여줍니다. 이 튜토리얼에서는 PHP Composer 설치 및 명령줄을 사용한 MySQL 데이터베이스 생성을 포함한 주제를 다룹니다.

전제 조건

  • 센트OS 7
  • 루트 권한\n

우리가 할 일

  1. EPEL 저장소 설치
  2. Nginx 설치
  3. PHP-FPM 설치 및 구성
  4. MySQL/MariaDB 설치 및 구성
  5. PHP 작성기 설치
  6. BookStack 설치
  7. Nginx 가상 호스트 BookStack 구성\n
  8. 테스트

1단계 - EPEL 저장소 설치

새 타사 저장소를 시스템에 추가합니다. Nginx 및 기타 패키지를 설치할 수 있도록 CentOS 7 시스템에 EPEL(Extra Packages for Enterprise Linux) 리포지토리를 추가해야 합니다.

아래의 yum 명령을 사용하여 EPEL 저장소를 설치합니다.

sudo yum -y install epel-release

2단계 - CentOS 7에 Nginx 설치

이 튜토리얼에서는 LEMP 스택 아래에서 BookStack 플랫폼을 실행하고 EPEL 저장소에서 Nginx 웹 서버를 설치합니다.

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

sudo yum -y install nginx

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

systemctl start nginx
systemctl enable nginx

이제 netstat 명령을 사용하여 확인하십시오.

netstat -plntu

목록에 포트 80이 있고 Nginx 서비스에서 사용하는지 확인하십시오.

Nginx 웹 서버가 이제 CentOS 7 시스템에 설치되었습니다.

추가: 시스템에서 방화벽을 실행 중인 경우 아래 명령을 실행하여 구성에 새 HTTP 서비스를 추가하십시오.

firewall-cmd --add-service=http --permanent
firewall-cmd --reload

3단계 - PHP 및 PHP-FPM 설치

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

PHP 및 PHP-FPM을 설치하기 전에 아래의 rpm 명령을 사용하여 CentOS 7 시스템에 새로운 webtatic 저장소를 추가하십시오.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

이제 다음과 같은 방법으로 yum 명령을 사용하여 필요한 모든 확장과 함께 PHP 및 PHP-FPM을 설치합니다.

sudo yum -y install php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-devel php70w-common php70w-mbstring php70w-tidy php70w-zip php70w-soap curl

설치가 완료되면 php.ini 구성 파일을 편집하고 php-fpm 풀 구성 www.conf를 편집해야 합니다.

vim 편집기를 사용하여 php.ini 구성 파일을 수정합니다.

vim /etc/php.ini

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

cgi.fix_pathinfo=0

저장 및 종료.

다음으로 풀 구성 파일 www.conf를 편집합니다.

vim /etc/php-fpm.d/www.conf

PHP-FPM 서비스를 실행하기 위한 기본 사용자를 nginx 사용자 및 그룹으로 변경합니다.

user = nginx
group = nginx

수신 라인에서 아래와 같이 sock 파일로 값을 변경합니다. 우리는 sock 파일 아래에서 PHP-fpm을 실행할 것입니다.

listen = /var/run/php-fpm/php-fpm.sock

이제 소켓 권한 및 소유자 구성에 대해 설명합니다. 이 줄의 주석을 제거하고 아래와 같이 값을 변경하십시오.

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

마지막으로 PHP-FPM 환경의 주석을 해제합니다.

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

저장 및 종료.

구성이 완료되면 PHP-FPM 서비스를 시작하고 부팅할 때마다 실행되도록 활성화합니다.

systemctl start php-fpm
systemctl enable php-fpm

이제 netstat 명령을 사용하여 확인하십시오.

netstat -pl | grep php

그리고 PHP-FPM 양말 파일을 구했는지 확인하십시오.

BookStack 플랫폼에 필요한 모든 확장이 포함된 PHP 및 PHP-FPM 7.0이 CentOS 7 시스템에 설치되었습니다.

4단계 - MySQL/MariaDB 설치 및 구성

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

MariaDB 데이터베이스를 설치하려면 아래 yum 명령을 실행하십시오.

yum install -y mariadb mariadb-server

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

systemctl start mariadb
systemctl enable mariadb

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

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

mysql_secure_installation

그러면 새 MySQL 루트 암호를 묻는 메시지가 표시됩니다. 루트 사용자의 암호를 입력하고 Enter 키를 누릅니다. 다른 경우에는 Y(예)를 입력하고 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 설치를 위해 새로운 MySQL 데이터베이스를 생성해야 합니다. 사용자 bookstak 및 비밀번호 [email 를 사용하여 bookstackdb라는 새 데이터베이스를 생성합니다.

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

mysql -u root -p

셸에서 아래의 모든 MySQL 쿼리를 실행합니다.

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

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

5단계 - CentOS 7에 PHP Composer 설치

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

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

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

그러면 홈 디렉토리에 composer.phar 파일이 생깁니다. 파일을 /usr/bin 디렉토리로 이동하고 아래와 같이 작성기 명령을 시도하십시오.

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

그리고 당신은 당신의 시스템에 설치된 작곡가 버전을 얻을 것입니다.

이제 PHP Composer가 CentOS 7 시스템에 설치되었습니다.

6단계 - CentOS 7에 BookStack 설치

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

BookStack을 설치하기 전에 시스템에 git을 설치하십시오.

yum -y install git

이제 새 /var/www 디렉토리를 만듭니다.

mkdir -p /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 디렉토리의 소유권 권한을 nginx 사용자 및 그룹으로 변경합니다.

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

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

루트 애플리케이션 디렉토리 /var/www/BookStack에서 다음 명령을 실행합니다.

php artisan key:generate
php artisan migrate

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

테이블 마이그레이션이 성공할 때까지 기다리십시오.

BookStack 애플리케이션이 설치되었으며 비밀 고유 키 애플리케이션이 생성되고 BookStack에 대한 데이터베이스 체계가 업데이트되었습니다.

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

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

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

cd /etc/nginx
vim conf.d/bookstack.conf

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

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:/var/run/php-fpm/php-fpm.sock;
  }

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

저장 및 종료.

이제 nginx 구성을 테스트하고 오류가 없는지 확인한 다음 nginx 서비스를 다시 시작하십시오.

nginx -t
systemctl restart nginx

BookStack 애플리케이션용 Nginx 가상 호스트가 생성 및 활성화되었습니다.

8단계 - 테스트

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

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

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

BookStack 사용자 대시보드를 가져와야 합니다.

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

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

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

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

참조

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