
๋ถ์คํ(BookStack API) ์ค์นํ๊ธฐ 1ํธ
https://awesomepossum.tistory.com/480
๋ถ์คํ(BookStack API) ์ค์นํ๊ธฐ for Window 1ํธ
์ํด๊ฐ ๋ฐ์๋ค.๊ฐ์ธ์ํค๋ฅผ ๋ง๋ค์ > https://www.bookstackapp.com/ BookStackMulti-Lingual BookStack users can set their preferred language. Thanks to great community contributors, current languages built into BookStack include EN, FR, DE, ES,
awesomepossum.tistory.com
1ํธ์ ์ด์ด์ ์ค๋์ 2ํธ์ด๋ค.
2. ๋ถ์คํ ์ค์น
2-5. ๊ณ ์ ํค ์ค์ ํ๊ธฐ

ํฐ๋ฏธ๋์ ์๋ ๋ช ๋ น์ด๋ก ์ ๋ํฌ key ์ค์ ํ๊ธฐ
php artisan key:generate
๋์ ์ด ๋ช ๋ น์ด๋ ํ ๋ฒ๋ง ์ ๋ ฅํด์ผ ํ๋ค! ๋ค์ค์ธ์ฆ์๊ฒฉ์ฆ๋ช ์ฒ๋ผ ํน์ ํ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ํธํ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ค์ํ ํค์ด๊ธฐ ๋๋ฌธ์ ์ด ๋ช ๋ น์ ์ฌ์ํํ๋ฉด ํฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.

๋ช ๋ น์ด ์ ๋ ฅํ๊ณ ์ํฐ์น๋ฉด ๋์ด ์๋๊ณ yes / no ์ต์ ์ด ๋จ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ๊น์ง yes๋ฅผ ์ ๋ ฅํด์ ์งํ์ ํด์ผ ํ๋ค.

๋ง์ฝ ์ ๊ณผ์ ์ด ์ ์ ์ฉ๋๊ฑฐ๋ผ๋ฉด bookstack ํด๋์ `.env` ํ์ผ์ ๋ฉ๋ชจ์ฅ์ผ๋ก ์ด์ด์ ํ์ธ ํด ๋ณผ ์ ์๋ค.
APP_KEY ๋ถ๋ถ์ ์๋นํ ๊ธด ๋๋คํค๊ฐ ์์ฑ๋์ด ์์ผ๋ฉด ์ฑ๊ณต์ด๋ค. ์ด ํค์ ํค๊ฐ ๋ด๊ธด .env ํ์ผ์ ์ ๋ ๋๊ตฌ์๋ ๊ณต์ ํด์๋ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ํ์ผ์ ๋ณต์ฌ๋ณธ๋ ๋ง๋ค์ด์ ๋ณ๋๋ก ๋ณด๊ดํ๋ ๊ฒ์ด ์ข๋ค. ์ค์ ์ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ฎ๊ธฐ๊ฑฐ๋ ๋ณต์ํ ๋ ํ์ํ ์ ์๋ค.

2-6. ์ฐ๋ฆฌ๊ฐ Apache๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ์ค์

๋๋ Apache๋ฅผ ์ด์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด ๋จ๊ณ๋ ์คํต
2-7. ์น ๋ฃจํธ๋ฅผ BookStack public ๋ก ์ค์ ํ๊ธฐ



Apache ํด๋๊ฐ ํ์ ์ผ๋ก ๋จ๋๋ฐ ์์ conf > extra ํด๋๋ก ๊ฐ์
์๋ `httpd-vhosts.conf` ํ์ผ์ ๋ฉ๋ชจ์ฅ์ผ๋ก ์ด๊ธฐ


BookStack Installation ์น์ฌ์ดํธ๋ก ๋์์์ Example Apache VirtualHost configuration ์ด๊ธฐ


์์ค๋ฅผ `httpd-vhosts.conf` ํ์ผ ์ตํ๋จ์ ๋ถ์ฌ๋ฃ๋๋ค.
ํ์ง๋ง ์ด ์์ค๋ ๋ฆฌ๋ ์ค ์ฌ์ฉ์์ฉ์ด๋ฏ๋ก Window์์๋ ์์ ์ ํด ์ค ํ์๊ฐ ์๋ค.
<VirtualHost *:80>
# This is a simple example of an Apache VirtualHost configuration
# file that could be used with BookStack.
# This assumes mod_php has been installed and is loaded.
#
# Change the "docs.example.com" usage in the "ServerName" directive
# to be your web domain for BookStack.
#
# Change the "/var/www/bookstack/public/", used twice below, to the
# location of the "public" folder within your BookStack installation.
#
# This configuration is only for HTTP, Not HTTPS.
# For HTTPS we recommend using https://certbot.eff.org/
ServerName docs.example.com
DocumentRoot /var/www/bookstack/public/
<Directory /var/www/bookstack/public/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
** ํฌํธ๋ฒํธ ์์
<VirtualHost *:8080>
bookstack์ ๋ค๋ฅธ ํฌํธ ๋ฒํธ์ ๋์ด์ Apache์ phpMyAdmin์ด๋ ์ถฉ๋ ๋ฐฉ์ง
** ์๋ฒ์ด๋ฆ ์์
ServerName localhost
๋ก์ปฌํธ์คํธ๋ก ์์
** ๋ฃจํธ ํด๋ ์์
DocumentRoot "C:\xampp\htdocs\bookstack\public"
๋ด PC์ bookstack\public ํด๋๋ก ์ฐ๊ฒฐ
** ์๋ ํ๊ทธ๋ ๊ฐ์ ์ฃผ์๋ก ์์ ํ๊ธฐ
๋ฐ๋์ ํฐ๋ฐ์ดํ ์์ ๋ฃ์
<Directory "C:\xampp\htdocs\bookstack\public">
์ด๋ ๊ฒ ๋ณ๊ฒฝ ํ ์ ์ฅํ๋ค.
XAMPP์์ Apache ์๋ฒ Stop ํ Start

์๋ฌ ๋ฐ์
๋ค์ httpd-vhosts.conf ํ์ผ์ ์ด๊ณ ๋งจ ํ๋จ์ ์๋ ์๋ ์ฝ๋ ์์ ํด์ฃผ๊ธฐ

ํํ์ ์ง์ฐ๊ณ ๊ทธ๋ฅ logs ์ ๋ ฅ

๋ค์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
httpd-vhosts.conf ์์ ์คํ ์ฐพ๊ธฐ ์์
<Directory "DocumentRoot "C:\xampp\htdocs\bookstack\public"> ์ด ๋ถ๋ถ์ด ์๋ชป๋จ
<Directory "C:\xampp\htdocs\bookstack\public"> ๋ก ์์ ํ๊ณ ์ฌ์คํ
์ด์ ์๋ฒ ์ ๋์๊ฐ๋ค

2-8. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์

php artisan migrate ๋ช ๋ น์ด๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์ ์ ์ํํ๋ ์ ์ฐจ์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ์์ ์ด๊ณ ์ด ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด, database/migrations ๋๋ ํ ๋ฆฌ์ ์๋ ๋ง์ด๊ทธ๋ ์ด์ ํ์ผ๋ค์ด DB์ ์ ์ฉ๋๋ค.
ํฐ๋ฏธ๋์ ์๋ ๋ช ๋ น์ด ๋ณต๋ถํ๊ณ yes ์ ๋ ฅํ๊ธฐ
php artisan migrate

์ด์ phpMyAdmin ๊ฐ ๋ณด๋ฉด DB์ ํ ์ด๋ธ ๊ตฌ์กฐ๊ฐ ์์ฑ๋ ๊ฑธ ํ์ธํ ์ ์๋ค.

2-9. ๊ด๋ฆฌ์ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ

๋๋์ด ๋ง์ง๋ง ๋จ๊ณ
์ฑ๊ณต์ ์ผ๋ก ์ค์น๊ฐ ์๋ฃ๋จ!
์ด์ ๊ธฐ๋ณธ ๊ด๋ฆฌ์ ๊ณ์ (admin@admin.com)๊ณผ ๋น๋ฐ๋ฒํธ(password)๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธํ ์ ์๊ณ ๋ณด์์ ์ํด ์ฒซ ๋ฒ์งธ ๋ก๊ทธ์ธ ํ์๋ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ค๋ ์๋ด์ด๋ค.
`httpd-vhosts.conf` ์ด๊ณ `Listen 8080` ์ถ๊ฐ

C:\xampp\htdocs\bookstack ์์`env` ์ด๊ณ APP_URL ์์ ํ๊ธฐ

์๋์ฒ๋ผ ์์ ํ๊ณ ์ ์ฅ
APP_URL=http://localhost
์ด์ ์ฃผ์์ฐฝ์ ์๋ ์ฃผ์ ์ ๋ ฅํ๋ฉด
http://localhost:8080
http://localhost:8080/login ์ด๋ ๊ฒ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋ฆฌ๋๋ ์ ๋๋ค.


๋๋์ด ๊ทธ๋ด์ธํ๋ฐ?

Test


์ผ๋จ ์ค๋์ ์ฌ๊ธฐ๊น์ง!
'ETC > ETC_Software' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ฐ๋ฐ ๊ด๋ จ ์ฉ์ด] ์ด๊ฑธ ์ด๋ ๊ฒ ์ฝ๋๊ฑฐ์์ด? ํ๋ก๊ทธ๋๋ฐ ์ฉ์ด ๋ฐ์ ์ ๋ฆฌ (20) | 2025.01.07 |
---|---|
WSL์ Docker(๋์ปค) ์ค์นํ๊ธฐ for Window (6) | 2025.01.05 |
๋ถ์คํ(BookStack API) ์ค์นํ๊ธฐ for Window 1ํธ (50) | 2025.01.02 |
[React] ๋ฆฌ์กํธ ์ค์น npm install ์คํจ ํด๊ฒฐ๋ฒ (42) | 2025.01.01 |
JSON vs XML, JSON ๋ฐฐ์ด (47) | 2024.12.26 |

๋ถ์คํ(BookStack API) ์ค์นํ๊ธฐ 1ํธ
https://awesomepossum.tistory.com/480
๋ถ์คํ(BookStack API) ์ค์นํ๊ธฐ for Window 1ํธ
์ํด๊ฐ ๋ฐ์๋ค.๊ฐ์ธ์ํค๋ฅผ ๋ง๋ค์ > https://www.bookstackapp.com/ BookStackMulti-Lingual BookStack users can set their preferred language. Thanks to great community contributors, current languages built into BookStack include EN, FR, DE, ES,
awesomepossum.tistory.com
1ํธ์ ์ด์ด์ ์ค๋์ 2ํธ์ด๋ค.
2. ๋ถ์คํ ์ค์น
2-5. ๊ณ ์ ํค ์ค์ ํ๊ธฐ

ํฐ๋ฏธ๋์ ์๋ ๋ช ๋ น์ด๋ก ์ ๋ํฌ key ์ค์ ํ๊ธฐ
php artisan key:generate
๋์ ์ด ๋ช ๋ น์ด๋ ํ ๋ฒ๋ง ์ ๋ ฅํด์ผ ํ๋ค! ๋ค์ค์ธ์ฆ์๊ฒฉ์ฆ๋ช ์ฒ๋ผ ํน์ ํ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ํธํ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ค์ํ ํค์ด๊ธฐ ๋๋ฌธ์ ์ด ๋ช ๋ น์ ์ฌ์ํํ๋ฉด ํฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.

๋ช ๋ น์ด ์ ๋ ฅํ๊ณ ์ํฐ์น๋ฉด ๋์ด ์๋๊ณ yes / no ์ต์ ์ด ๋จ๊ธฐ ๋๋ฌธ์ ์ด๊ฒ๊น์ง yes๋ฅผ ์ ๋ ฅํด์ ์งํ์ ํด์ผ ํ๋ค.

๋ง์ฝ ์ ๊ณผ์ ์ด ์ ์ ์ฉ๋๊ฑฐ๋ผ๋ฉด bookstack ํด๋์ .env
ํ์ผ์ ๋ฉ๋ชจ์ฅ์ผ๋ก ์ด์ด์ ํ์ธ ํด ๋ณผ ์ ์๋ค.
APP_KEY ๋ถ๋ถ์ ์๋นํ ๊ธด ๋๋คํค๊ฐ ์์ฑ๋์ด ์์ผ๋ฉด ์ฑ๊ณต์ด๋ค. ์ด ํค์ ํค๊ฐ ๋ด๊ธด .env ํ์ผ์ ์ ๋ ๋๊ตฌ์๋ ๊ณต์ ํด์๋ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ํ์ผ์ ๋ณต์ฌ๋ณธ๋ ๋ง๋ค์ด์ ๋ณ๋๋ก ๋ณด๊ดํ๋ ๊ฒ์ด ์ข๋ค. ์ค์ ์ ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ฎ๊ธฐ๊ฑฐ๋ ๋ณต์ํ ๋ ํ์ํ ์ ์๋ค.

2-6. ์ฐ๋ฆฌ๊ฐ Apache๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ์ค์

๋๋ Apache๋ฅผ ์ด์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด ๋จ๊ณ๋ ์คํต
2-7. ์น ๋ฃจํธ๋ฅผ BookStack public ๋ก ์ค์ ํ๊ธฐ



Apache ํด๋๊ฐ ํ์ ์ผ๋ก ๋จ๋๋ฐ ์์ conf > extra ํด๋๋ก ๊ฐ์
์๋ httpd-vhosts.conf
ํ์ผ์ ๋ฉ๋ชจ์ฅ์ผ๋ก ์ด๊ธฐ


BookStack Installation ์น์ฌ์ดํธ๋ก ๋์์์ Example Apache VirtualHost configuration ์ด๊ธฐ


์์ค๋ฅผ httpd-vhosts.conf
ํ์ผ ์ตํ๋จ์ ๋ถ์ฌ๋ฃ๋๋ค.
ํ์ง๋ง ์ด ์์ค๋ ๋ฆฌ๋ ์ค ์ฌ์ฉ์์ฉ์ด๋ฏ๋ก Window์์๋ ์์ ์ ํด ์ค ํ์๊ฐ ์๋ค.
<VirtualHost *:80> # This is a simple example of an Apache VirtualHost configuration # file that could be used with BookStack. # This assumes mod_php has been installed and is loaded. # # Change the "docs.example.com" usage in the "ServerName" directive # to be your web domain for BookStack. # # Change the "/var/www/bookstack/public/", used twice below, to the # location of the "public" folder within your BookStack installation. # # This configuration is only for HTTP, Not HTTPS. # For HTTPS we recommend using https://certbot.eff.org/ ServerName docs.example.com DocumentRoot /var/www/bookstack/public/ <Directory /var/www/bookstack/public/> Options Indexes FollowSymLinks AllowOverride None Require all granted <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule> </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
** ํฌํธ๋ฒํธ ์์
<VirtualHost *:8080>
bookstack์ ๋ค๋ฅธ ํฌํธ ๋ฒํธ์ ๋์ด์ Apache์ phpMyAdmin์ด๋ ์ถฉ๋ ๋ฐฉ์ง
** ์๋ฒ์ด๋ฆ ์์
ServerName localhost
๋ก์ปฌํธ์คํธ๋ก ์์
** ๋ฃจํธ ํด๋ ์์
DocumentRoot "C:\xampp\htdocs\bookstack\public"
๋ด PC์ bookstack\public ํด๋๋ก ์ฐ๊ฒฐ
** ์๋ ํ๊ทธ๋ ๊ฐ์ ์ฃผ์๋ก ์์ ํ๊ธฐ
๋ฐ๋์ ํฐ๋ฐ์ดํ ์์ ๋ฃ์
<Directory "C:\xampp\htdocs\bookstack\public">
์ด๋ ๊ฒ ๋ณ๊ฒฝ ํ ์ ์ฅํ๋ค.
XAMPP์์ Apache ์๋ฒ Stop ํ Start

์๋ฌ ๋ฐ์
๋ค์ httpd-vhosts.conf ํ์ผ์ ์ด๊ณ ๋งจ ํ๋จ์ ์๋ ์๋ ์ฝ๋ ์์ ํด์ฃผ๊ธฐ

ํํ์ ์ง์ฐ๊ณ ๊ทธ๋ฅ logs ์ ๋ ฅ

๋ค์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
httpd-vhosts.conf ์์ ์คํ ์ฐพ๊ธฐ ์์
<Directory "DocumentRoot "C:\xampp\htdocs\bookstack\public"> ์ด ๋ถ๋ถ์ด ์๋ชป๋จ
<Directory "C:\xampp\htdocs\bookstack\public"> ๋ก ์์ ํ๊ณ ์ฌ์คํ
์ด์ ์๋ฒ ์ ๋์๊ฐ๋ค

2-8. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์

php artisan migrate ๋ช ๋ น์ด๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์ ์ ์ํํ๋ ์ ์ฐจ์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์ ๋ฐ์ดํธํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ์์ ์ด๊ณ ์ด ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด, database/migrations ๋๋ ํ ๋ฆฌ์ ์๋ ๋ง์ด๊ทธ๋ ์ด์ ํ์ผ๋ค์ด DB์ ์ ์ฉ๋๋ค.
ํฐ๋ฏธ๋์ ์๋ ๋ช ๋ น์ด ๋ณต๋ถํ๊ณ yes ์ ๋ ฅํ๊ธฐ
php artisan migrate

์ด์ phpMyAdmin ๊ฐ ๋ณด๋ฉด DB์ ํ ์ด๋ธ ๊ตฌ์กฐ๊ฐ ์์ฑ๋ ๊ฑธ ํ์ธํ ์ ์๋ค.

2-9. ๊ด๋ฆฌ์ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ

๋๋์ด ๋ง์ง๋ง ๋จ๊ณ
์ฑ๊ณต์ ์ผ๋ก ์ค์น๊ฐ ์๋ฃ๋จ!
์ด์ ๊ธฐ๋ณธ ๊ด๋ฆฌ์ ๊ณ์ (admin@admin.com)๊ณผ ๋น๋ฐ๋ฒํธ(password)๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธํ ์ ์๊ณ ๋ณด์์ ์ํด ์ฒซ ๋ฒ์งธ ๋ก๊ทธ์ธ ํ์๋ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํด์ผ ํ๋ค๋ ์๋ด์ด๋ค.
httpd-vhosts.conf
์ด๊ณ Listen 8080
์ถ๊ฐ

C:\xampp\htdocs\bookstack ์์env
์ด๊ณ APP_URL ์์ ํ๊ธฐ

์๋์ฒ๋ผ ์์ ํ๊ณ ์ ์ฅ
APP_URL=http://localhost
์ด์ ์ฃผ์์ฐฝ์ ์๋ ์ฃผ์ ์ ๋ ฅํ๋ฉด
http://localhost:8080
http://localhost:8080/login ์ด๋ ๊ฒ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋ฆฌ๋๋ ์ ๋๋ค.


๋๋์ด ๊ทธ๋ด์ธํ๋ฐ?

Test


์ผ๋จ ์ค๋์ ์ฌ๊ธฐ๊น์ง!
'ETC > ETC_Software' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ฐ๋ฐ ๊ด๋ จ ์ฉ์ด] ์ด๊ฑธ ์ด๋ ๊ฒ ์ฝ๋๊ฑฐ์์ด? ํ๋ก๊ทธ๋๋ฐ ์ฉ์ด ๋ฐ์ ์ ๋ฆฌ (20) | 2025.01.07 |
---|---|
WSL์ Docker(๋์ปค) ์ค์นํ๊ธฐ for Window (6) | 2025.01.05 |
๋ถ์คํ(BookStack API) ์ค์นํ๊ธฐ for Window 1ํธ (50) | 2025.01.02 |
[React] ๋ฆฌ์กํธ ์ค์น npm install ์คํจ ํด๊ฒฐ๋ฒ (42) | 2025.01.01 |
JSON vs XML, JSON ๋ฐฐ์ด (47) | 2024.12.26 |