웹사이트 검색

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


이 페이지에서

  1. 요구 사항\n
  2. 시작하기\n
  3. LAMP 서버 설치
  4. MariaDB 구성
  5. 북스택 설치
  6. Bookstack용 Apache 구성
  7. 북스택 액세스
  8. 결론

BookStack은 사용자를 위한 문서 및 위키 콘텐츠를 만드는 데 사용할 수 있는 무료 오픈 소스 지식 관리 플랫폼입니다. BookStack은 PHP 언어로 작성되었으며 Laravel 웹 프레임워크를 사용합니다. BookStack을 사용하면 필요에 따라 BookStack을 설정하고 이름, 로고 및 등록 옵션을 변경할 수 있습니다. BookStack은 다국어 지원, Markdown 편집기, 사용자 정의 가능, 검색 가능, WYSIWYG 인터페이스, 역할 및 권한 관리, 통합 인증 등과 같은 많은 기능을 제공합니다.

이 튜토리얼에서는 Ubuntu 18.04 서버에서 Apache와 함께 Bookstack을 설치하는 방법을 배웁니다.

요구 사항

  • Ubuntu 18.04를 실행하는 서버.\n
  • sudo 권한이 있는 루트가 아닌 사용자.\n

시작하기

시작하기 전에 시스템을 최신 버전으로 업데이트해야 합니다. 다음 명령을 실행하여 이를 수행할 수 있습니다.

sudo apt-get update -y
sudo apt-get upgrade -y

시스템이 업데이트되면 시스템을 다시 시작하여 변경 사항을 적용하십시오.

램프 서버 설치

먼저 Apache 웹 서버, MariaDB 서버, PHP 및 기타 PHP 모듈을 시스템에 설치해야 합니다. 다음 명령을 실행하여 모두 설치할 수 있습니다.

sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-tidy php7.2-zip unzip wget git -y

모든 패키지가 설치되면 php.ini 파일을 열고 몇 가지 사항을 변경합니다.

sudo nano /etc/php/7.2/apache2/php.ini

다음과 같이 변경합니다.

memory_limit = 256M
upload_max_filesize = 150M
max_execution_time = 360
date.timezone = Asia/Kolakata

파일을 저장하고 닫습니다.

MariaDB 구성

기본적으로 MariaDB는 보안되지 않습니다. 따라서 먼저 보안을 유지해야 합니다. 다음 명령을 실행하여 보안을 설정할 수 있습니다.

sudo mysql_secure_installation

아래와 같이 모든 질문에 답하십시오.

    Enter current password for root (enter for none): ENTER
    Set root password? [Y/n]: N
    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

MariaDB가 보호되면 MariaDB 셸에 로그인합니다.

mysql -u root -p

루트 비밀번호를 제공하십시오. 그런 다음 Bookstack에 대한 데이터베이스와 사용자를 만듭니다.

MariaDB [(none)]> CREATE DATABASE bookstackdb;
MariaDB [(none)]> CREATE USER 'bookstack'@'localhost' IDENTIFIED BY 'password';

위의 명령에서 암호라는 단어를 안전한 암호로 바꾸십시오. 나중에 사용할 수 있도록 내려놓지 마십시오. 그런 다음 다음 명령을 사용하여 Bookstack에 모든 권한을 부여합니다.

MariaDB [(none)]> GRANT ALL ON bookstackdb.* TO 'bookstack'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

여기서 암호라는 단어를 위에서 사용한 것과 동일한 암호로 다시 바꿉니다. 다음으로 권한을 플러시하고 MariaDB 셸을 종료합니다.

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

북스택 설치

먼저 Composer를 시스템에 설치해야 합니다. Composer는 PHP의 종속성 관리자입니다. 다음 명령으로 Composer를 설치할 수 있습니다.

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

다음으로 디렉터리를 /var/www/html로 변경하고 다음 명령을 사용하여 Git 리포지토리에서 최신 버전의 Bookstack을 다운로드합니다.

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

다음으로 디렉터리를 Bookstack으로 변경하고 다음 명령을 사용하여 PHP에 필요한 모든 종속성을 설치합니다.

cd Bookstack
sudo composer install

모든 종속성이 설치되면 다음 명령을 사용하여 샘플 환경 구성 파일을 복사합니다.

sudo cp .env.example .env

다음으로 .env 파일에서 데이터베이스 설정을 업데이트합니다.

sudo nano .env

다음과 같이 변경합니다.

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

파일을 저장하고 닫습니다. 그런 다음 애플리케이션 키를 생성하고 다음 명령을 사용하여 데이터베이스를 마이그레이션합니다.

sudo php artisan key:generate

산출:

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Application key [base64:KTcNpGD5CacIz20eiKpusk02YaHm14OQTZTERizEDBw=] set successfully.

다음으로 데이터베이스를 마이그레이션해야 합니다. 다음 명령을 사용하여 데이터베이스를 마이그레이션할 수 있습니다.

sudo php artisan migrate

다음 출력이 표시되어야 합니다.

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Migration table created successfully.

다음으로 다음 명령을 사용하여 Bookstack 디렉터리에 적절한 권한을 부여합니다.

sudo chown -R www-data:www-data /var/www/html/BookStack/
sudo chmod -R 755 /var/www/html/BookStack/

Bookstack용 Apache 구성

다음으로 Bookstack용 Apache 가상 호스트 파일을 만들어야 합니다. 다음 명령으로 만들 수 있습니다.

sudo nano /etc/apache2/sites-available/bookstack.conf

다음 줄을 추가합니다.

<VirtualHost *:80>
     ServerAdmin 
     DocumentRoot /var/www/html/Bookstack
     ServerName example.com
     ServerAlias www.example.com

    <Directory /var/www/html/Bookstack/>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

위 파일의 example.com 및 www.example.com을 자신의 도메인 이름으로 바꿉니다. 그런 다음 파일을 저장하고 닫고 Apache 가상 호스트 파일을 활성화하고 다음 명령을 사용하여 모듈을 다시 작성합니다.

sudo a2ensite bookstack.conf
sudo a2enmod rewrite

마지막으로 Apache 웹 서비스를 다시 시작하여 모든 변경 사항을 적용합니다.

sudo systemctl restart apache2

북스택에 액세스

웹 브라우저를 열고 URL을 입력합니다. 제 경우에는 http://example.com이고 다음 페이지로 리디렉션됩니다.

이제 기본 사용자 이름을 [email 로, 비밀번호를 비밀번호로 입력한 다음 로그인 버튼을 클릭하세요. 다음 페이지에서 Bookstack 대시보드로 리디렉션됩니다.

다음 단계는 BookStack 로그인을 보호하기 위해 기본 비밀번호를 변경하는 것입니다.

결론

축하합니다! Ubuntu 18.04 LTS 서버에 Bookstack을 성공적으로 설치했습니다. 이제 Bookstack을 사용하여 자신만의 위키 사이트를 쉽게 만들 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.