Ubuntu에서의 [[dokuwiki]] 설치에 대해 정리한다. * [[dokuwiki:backup|Dokuwiki Backup]] * [[ssl:lets_encrypt|Let's encrypt]] certbot 으로 인증서 설치. ===== 기본 설치 문서 ===== * http://www.dokuwiki.org/Install 에 기본 설치 문서가 있다. ===== 파일 정리 ===== * /var/www/ 에 dokuwiki 파일 압축을 푼다. * $ mv /var/www/dokuwik-version dokuwiki * $ chown -R www-data:www-data dokuwiki ===== Apache 기본 설정 ===== * /etc/apache2/conf.d/charset 에서 "AddDefaultCharset UTF-8" 추가한다. * [[apache:security|Apache 보안사항 적용]] * /etc/apache2/site-enabled/default 에 다음 추가 Alias /wiki /var/www/dokuwiki AllowOverride All * **AllowOverride All**은 .htaccess 파일 접근 권한 때문에 필요하다. * /etc/init.d/apache2 restart 로 재시작. ===== 파일 업로드 용량 변경 ===== * ''/etc/php/7.0/fpm/php.ini'' 에서 원하는 용량으로 변경 upload_max_filesize = 5M * nginx 의 해당 site 설정파일에서 server { client_max_body_size 5m; } ===== 서버 설정 마무리 ===== * http://server/dokuwiki/install.php 를 실행하여 설치를 마무리 한다. * 완료후 install.php는 삭제해버린다. * ''php7.0-xml'' 패키지가 있어야만 검색 속도가 빨라진다. sudo apt-get install php7.0-xml sudo service php7.0-fpm restart ===== 보안 ===== * dokuwiki 아래의 bin,conf,inc,data 디렉토리는 브라우저로 접근 가능하면 안된다. .htaccess 파일이 접근알 자동으로 막고 있지만, 혹시 접근 되는 파일이 있는지 직접 브라우저에서 주소를 쳐서 확인해본다. * 만약 위 디렉토리에서 접근 가능한 파일이 있다면 그것은 아파치 설정에서 **AllowOverride All**이 빠져있기 때문일 수 있다. * 사용자 Register 방지 : 나 외의 다른 사용자는 가입 불가이며, 읽기 쓰기 금지이다. http://www.dokuwiki.org/faq:regdisable 참조 * conf/local.php 에 **$conf['disableactions'] = 'register';** 추가 ===== 예쁜 URL 만들기 ===== * http://www.dokuwiki.org/rewrite 참조 * .htaccess에서 주석 풀어주고, * conf/local.php 파일에서 * $conf['userewrite'] = 1; $conf['useslash'] = 1; ===== Template Hook ===== * 템플릿 코드 변경없이 특정 위치에 HTML을 삽입할 수 있게 해줌. * [[https://www.dokuwiki.org/template:dokuwiki#supported_include_hooks|;Dokuwiki Supported include hooks]] * [[https://www.dokuwiki.org/ko:devel:templates|ko:devel:templates [DokuWiki]]] * 템클릿 코드는 ''lib/tpl/dokuwiki/'' * 템플릿이 include 하는 HTML 파일들은 ''conf/'' * ''lib/tpl/dokuwiki/tpl_footer.php'' : 편집모드일경우 광고 disable 코드 있음. * ''conf/*.html'' : 실제 광고 script 들어 있음. ''footer_no_ads.html''은 광고 없는 footer ^ Filename ^ Position of included HTML ^ | ''meta.html'' | Inside the HTML , use this to add additional styles or metaheaders | | ''sidebarheader.html'' | At the top of the sidebar (if any) | | ''sidebarfooter.html'' | At the bottom of the sidebar (if any) | | ''pageheader.html'' | At the top inside the content box, above the actual content | | ''pagefooter.html'' | At the bottom inside the content box, below the actual content | | ''header.html'' | At the top of the page, above the logo and wiki title | | ''footer.html'' | At the very end of the page after all other page content | ===== Plugins ===== * 플러그인은 ''dokuwiki/lib/plugins/'' 에 플러그인 이름을 가진 디렉토리로 저장된다. * 플러그인 관리자에서 직접 다운로드해 설치할 수도 있고, 파일을 받아서 해당 디렉토리에 압축을 풀어도 된다. ==== 현재 적용된 플러그인 ==== * [[https://www.dokuwiki.org/plugin:changes|changes]] * [[https://www.dokuwiki.org/plugin:command|command]] * 사용자 정의 명령 추가. * ''dokuwiki/plugins/command/ext''에 추가할 명령 PHP 파일을 넣는다. * [[https://www.dokuwiki.org/plugin:gist|gist]] ===== AccessKey 충돌 변경 ===== * [[dokuwiki:accesskey_change|Dokuwiki Access Key change]]