[Ubuntu] Dokuwiki 설치

[Ubuntu] Dokuwiki 설치
Photo by Maarten van den Heuvel / Unsplash

사용환경

  • OS : Ubuntu 22.04 LTS (Jammy Jellyfish)
  • Dokuwiki : Release 2024-02-06a "Kaos"

A. 시작하기 전에..

포스트 업로드 순서가 좀 잘 된거 같긴한데... 그래도 순서 신경쓰지 않고 올려보자. 디테일한 설명은 좀 배제하고 최대한 간략하게 요약본으로 정리해본다.

설치한 Ubuntu는 Server버전(Minimized 선택 안함)이다.

B. 설치 전 OS 업데이트

$ sudo apt update
$ sudo apt list --upgradable
$ sudo apt -y upgrade
$ sudo reboot

dokuwiki 설치 전에 OS부터 업데이트해주자. 업데이트가 완료되면 재부팅해서 업데이트가 잘 적용되었는지 확인한다.

C. 시간대 변경

$ sudo timedatectl set-timezone Asia/Seoul

서버를 설치할 때 따로 시간대 설정이 안보였었는데 역시나 UTC 0로 설정되어 있다. 다른 포스트에서 상세하게 설명이 되어있으니 나머지는 그 포스트를 참고하자.

D. 연관패키지 설치

$ sudo apt install -y apache2 php php-gd php-xml php-json
$ sudo systemctl start apache2
$ sudo systemctl enable apache2

설치가 완료되면 웹브라우저를 열어서 apache가 정상적으로 동작하는지 확인한다.

직접 캡쳐

위와 같이 웹페이지가 열리면 apache2는 정상적으로 동작!

$ php -v
PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2-1ubuntu2.14, Copyright (c), by Zend Technologies
$
직접 캡쳐 (https://www.dokuwiki.org/requirements)

dokuwiki 홈페이지에서 System 요구사항을 확인해보니 PHP 8버전이 권장되는 것이 확인되서 준비가 dokuwiki 설치준비가 완료되었다.(2024/02/24 기준)

E. dokuwiki 다운로드

$ wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
$ ls
dokuwiki-stable.tgz
$

이제 dokuwiki를 설치할 디렉토리를 생성하고 해당 디렉토리에 압축을 해제한다.

$ sudo mkdir /var/www/html/dokuwiki
$ sudo tar -xvzf dokuwiki-stable.tgz -C /var/www/html/dokuwiki/ --strip-components=1
$ ls -al /var/www/html/dokuwiki | grep .htaccess
-rw-r--r--  1 2012 2012  1688 Feb 12 21:09 .htaccess.dist
$ sudo cp /var/www/html/dokuwiki/.htaccess{.dist,}
$ ls -al /var/www/html/dokuwiki | grep .htaccess
-rw-r--r--  1 root root  1688 Feb 19 19:42 .htaccess
-rw-r--r--  1 2012 2012  1688 Feb 12 21:09 .htaccess.dist

/var/www/html/dokuwiki/.htaccess 파일까지 미리 작업해둔다.(나중에 Nice URL 작업할 때 필요함..)

F. Apache 설정파일 생성

이제 dokuwiki를 위한 Apache 설정파일을 생성한다.

$ sudo vi /etc/apache2/sites-available/dokuwiki.conf

vi를 이용해서 dokuwiki.conf 파일을 생성하고 아래의 내용을 넣어준다.

<VirtualHost *:80>
        ServerName    wiki.simplism.local
        DocumentRoot  /var/www/html/dokuwiki

        <Directory ~ "/var/www/html/dokuwiki/(bin/|conf/|data/|inc/)">
            <IfModule mod_authz_core.c>
                AllowOverride All
                Require all denied
            </IfModule>
            <IfModule !mod_authz_core.c>
                Order allow,deny
                Deny from all
            </IfModule>
        </Directory>

        ErrorLog   /var/log/apache2/dokuwiki_error.log
        CustomLog  /var/log/apache2/dokuwiki_access.log combined
</VirtualHost>

생성한 dokuwiki.conf 파일을 적용한다.

$ sudo a2ensite dokuwik.conf
Enabling site dokuwik.
To activate the new configuration, you need to run:
  systemctl reload apache2
$ sudo systemctl reload apache2

G. dokuwiki 소유주변경

Apache와 PHP를 이용해서 dokuwiki를 돌리기 위해서는 파일들의 소유주와 퍼미션 변경작업이 필요하다.

그 전에 Apache 프로세스의 실행계정을 확인한다.

$ cat /etc/apache2/envvars | grep APACHE_RUN
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
$

www-data라는 계정으로 Apache가 실행되고 있음을 확인하였으니.. 소유주와 퍼미션을 변경해보자.

$ cd /var/www/html/dokuwiki/
$ sudo chown www-data:www-data conf
$ sudo chown www-data:www-data data
$ cd data
$ ls -al
total 112
drwxr-xr-x 13 root root  4096 Feb 19 19:40 ./
drwxr-xr-x  8 root root  4096 Feb 19 19:42 ../
drwxr-xr-x  2 root root  4096 Feb 19 19:40 attic/
drwxr-xr-x  2 root root  4096 Feb 19 19:40 cache/
-rw-r--r--  1 2012 2012 30767 Feb 12 21:09 deleted.files
-rw-r--r--  1 2012 2012  6516 Feb 12 21:09 dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.png
-rw-r--r--  1 2012 2012 12093 Feb 12 21:09 dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.xcf
-rw-r--r--  1 2012 2012    32 Feb 12 21:09 _dummy
-rw-r--r--  1 2012 2012   143 Feb 12 21:09 .htaccess
drwxr-xr-x  2 root root  4096 Feb 19 19:40 index/
drwxr-xr-x  2 root root  4096 Feb 19 19:40 locks/
drwxr-xr-x  2 root root  4096 Feb 19 19:40 log/
drwxr-xr-x  3 root root  4096 Feb 19 19:40 media/
drwxr-xr-x  2 root root  4096 Feb 19 19:40 media_attic/
drwxr-xr-x  2 root root  4096 Feb 19 19:40 media_meta/
drwxr-xr-x  2 root root  4096 Feb 19 19:40 meta/
drwxr-xr-x  4 root root  4096 Feb 19 19:40 pages/
drwxr-xr-x  2 root root  4096 Feb 19 19:40 tmp/
$ sudo chown www-data:www-data pages
$ sudo chown www-data:www-data attic
$ sudo chown www-data:www-data media
$ sudo chown www-data:www-data media_attic
$ sudo chown www-data:www-data meta
$ sudo chown www-data:www-data media_meta
$ sudo chown www-data:www-data cache
$ sudo chown www-data:www-data index
$ sudo chown www-data:www-data locks
$ sudo chown www-data:www-data tmp
$ sudo chown www-data:www-data log
$ cd ../lib
$ sudo chown www-data:www-data plugins
$ sudo chown www-data:www-data tpl

H. dokuwiki 설치파일 호출

웹브라우저에서 http://[서버IP]/dokuwiki/install.php를 호출한다.(내 경우에는 http://wiki.simplism.kr/install.php)

직접 캡쳐

언어를 한국어로 바꾼다.(영어가 편하면 영어로 해도..)

설치한 위키는 비공개 개인용 위키로 사용할 예정이므로 라이선스 정보는 표기하지 않고, 닫힌 위키로 설정한다.

직접 캡쳐

저장버튼을 눌러주면 설치가 완료된다. 근데 이미지는 왜 깨진겨...

웹브라우저에서 위키주소(내 경우에는 http://wiki.simplism.local/)로 접속하면...?

직접 캡쳐

install.php에서 입력한 id, password로 로그인을 하면..

직접 캡쳐

이제 사용할 준비가 완료됬다!

추가작업

$ cd /var/www/html/dokuwiki
$ ls -l install.php
-rw-r--r-- 1 1001 127 21176 Feb 12 21:09 install.php
$ sudo mv install.php install.php_20240224
$

반드시 해야할 작업은 아니지만... 개인적으로는 설치가 완료되면 install.php는 install.php_날짜 형태로 변경해둔다. 누군가가 install.php를 호출할 수도 있어서? 어차피 덮어쓰기는 안되겠지만... 그래도 찜찜하니까 ㅋ

I. 마치면서..

짧게 쓸려고 했는데... 생각보다 너무 길어졌다. 다음 번에는 이 포스트를 보고서 dokuwiki를 설치하면 될 것 같긴하다.

Read more

AI 환각 (AI Hallucination)에 대한 단상

AI 환각 (AI Hallucination)에 대한 단상

ℹ️단상 (斷想, 생각나는 대로의 단편적인 생각) 생각을 어떻게든 적어두지 않으면 시간이 지나 잊혀져서 약간은 두서없을 나의 생각을 적는 다는 의미로 "~에 대한 단상"이라는 글들을 적어보려고 한다. 오픈 AI의 ChatGPT가 촉발한 생성형 AI는 기념비적인 과학기술의 발전으로 진보할 것이라는 기대감과 다른 한 편으로는 이 놀라운 신기술로 촉발될 부작용에

By simplism
[리뷰] 켄싱턴 오르빗 (Kensington Orbit) 트랙볼 마우스

[리뷰] 켄싱턴 오르빗 (Kensington Orbit) 트랙볼 마우스

* 구매처 : 알리익스프레스 * 가격 : 35.15 $ (50,220원) 난 하루 종일 컴퓨터를 사용하는 직업이라서... 모니터, 키보드, 마우스는 중요하다. 키보드는 몇 번에 걸쳐서 바꿔왔지만, 마우스는 일반적인 마우스 -> 버티컬 마우스로 바꿔서 꽤 오랫동안 써왔던거 같다. 버티컬 마우스로 바꾸고나서 손목과 오른 팔의 통증이 많이 사라져서 만족하고 있었는데... QHD 해상도 2대의 모니터를 주력으로

By simplism
[F1] 2024년 시즌초반 감상평 및  팀별 단상

[F1] 2024년 시즌초반 감상평 및 팀별 단상

작년에 이어서 올해도 쿠팡플레이를 통해서 전 시즌 F1 중계를 볼 수 있다. 딱히 다른 스포츠에 대해서 관심이 유독 없는데... 홍대병(마이너 취향??)인건지 사이버포뮬러의 영향(어릴 때 많이 보고.. 어른이 되서도 몇 번을 다시 본 것 같음..)인 것인지 F1이 너무 재미있더라. 넷플릭스에서 F1 다큐시리즈(본능의 질주, 빈디젤이 나오는 분노의

By simplism
[Ubuntu] NFS 클라이언트 설치 및 NFS볼륨 마운트작업

[Ubuntu] NFS 클라이언트 설치 및 NFS볼륨 마운트작업

사용환경 * OS : Ubuntu 22.04 LTS (Jammy Jellyfish) * Dokuwiki : Release 2024-02-06a "Kaos" * NAS : Synology DSM 7.1.1 A. 시작하기 전에.. 미니PC에 dokuwiki 설치하고 본격적으로 운영하기 전에 정기적인 백업을 해야할 것 같다. 그렇다고... 수동으로 주기적으로 하기에는 너무 번거롭고.. 윈도우즈 PC에서 사용하던 백업솔루션이 ubuntu도 지원해서 그 백업솔루션을 설치하기 전에

By simplism