DokuWiki adalah perangkat lunak wiki Open Source yang mudah digunakan dan serbaguna yang tidak memerlukan database. Di sukai oleh pengguna karena sintaksinya yang bersih dan mudah dibaca. Kemudahan perawatan, kemudahan backup, dan integrasi menjadikannya favorit oleh para administrator.

Akses Kontrol bawaan dan konektor otentikasi membuat DokuWiki sangat berguna dalam konteks perusahaan dan sejumlah besar plugin yang dikontribusikan oleh komunitasnya yang aktif memungkinkan berbagai kasus penggunaan di luar wiki tradisional.

Tutorial ini akan menunjukkan kepada Anda bagaimana menginstal DokuWiki pada server CentOS 8 yang baru.

Persyaratan DokuWiki

Pastikan server Anda memenuhi persyaratan berikut.

  • Perangkat lunak web server yang mendukung PHP (Apache, NGINX, IIS, Lighttpd, LiteSpeed)
  • PHP versi 5.6 atau lebih baru, versi yang lebih baru sangat disarankan.

Prasyarat

  • Server dengan sistem operasi CentOS 8.
  • Masuk sebagai root atau user dengan hak sudo

Langkah awal

Periksa versi CentOS Anda:

cat /etc/centos-release
# CentOS Linux release 8.0.1905 (Core)

Siapkan zona waktu server, Pada contoh kali ini kita akan mengatur pada zona waktu menjadi Asia/Jakarta :

timedatectl list-timezones
sudo timedatectl set-timezone 'Asia/Jakarta'

Perbarui paket sistem operasi Anda (software). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan terbaru dan perbaikan keamanan untuk paket perangkat lunak default sistem operasi Anda:

sudo dnf update -y

Instal beberapa paket penting yang diperlukan untuk administrasi dasar sistem operasi CentOS:

sudo dnf install -y curl wget vim git unzip socat bash-completion epel-release

Langkah 1 – Install PHP dan PHP extensions

Install PHP dan PHP extensions yang di perlukan :

sudo dnf install -y php php-cli php-fpm php-gd php-xml php-zip

Untuk menampilkan modul PHP yang telah terkompilasi, anda dapat menjalankan :

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Periksa versi PHP :

php --version

# PHP 7.2.11-1-(cli) (built: Oct 26 2019 14:14:18) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.3.11-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies

Start dan aktifkan PHP-FPM service dengan perintah :

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Langkah 2 – Instal Acme.sh client dan install sertifikat Let’s Encrypt (OPSIONAL)

Mengamankan situs web Anda dengan HTTPS sangat penting, ini adalah praktik yang baik untuk mengamankan lalu lintas situs Anda. Untuk mendapatkan sertifikat SSL dari Let’s Encrypt, kita akan menggunakan klien Acme.sh.

Acme.sh adalah perangkat lunak unix shell murni untuk mendapatkan sertifikat SSL dari Let’s Encrypt dengan tanpa dependensi.

Download dan install Acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

periksa versi Acme.sh :

acme.sh --version
# v2.8.2

Dapatkan sertifikat RSA dan ECC/ECDSA untuk domain/hostname Anda:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Jika ingin membuat sertifikat palsu untuk pengujian, Anda dapat menambahkan flag --stagingke perintah di atas.

Setelah menjalankan perintah di atas, certificates dan keys akan berada di:

  • untuk RSA di direktori : /home/username/example.com.
  • untuk ECC/ECDSA di direktori : /home/username/example.com_ecc.

Untuk list semua sertifikat, jalankan perintah :

acme.sh --list

Buat direktori untuk menyimpan sertifikat Anda. Kita akan menggunakan direktori /etc/letsencrypt

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Install/copy sertifikat ke direktori /etc/letsencrypt.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Semua sertifikat akan diperpanjang secara otomatis setiap 60 hari.

Setelah mendapatkan sertifikat, keluar dari user root dan kembali ke user biasa dengan hak sudo :

exit

Langkah 3 – Instal dan Konfigurasi Nginx

DokuWiki akan berjalan di server web apa pun yang mendukung PHP. Dalam tutorial ini, kita akan menggunakan Nginx. Jika Anda lebih suka Apache atau server web lain, Anda dapat menggunakannya daripada Nginx.

Download dan install NGINX dari repository default CentOS :

sudo dnf install -y nginx

Periksa versi NGINX :

sudo nginx -v
# nginx version: nginx/1.14.2

Selanjutnya, konfigurasikan NGINX untuk CMS DokuWiki. Kita akan membuat server block untuk DokuWiki dan tambahkan konfigurasi berikut.

sudo nano /etc/nginx/conf.d/dokuwiki.conf

Copy / paste konfigurasi Nginx berikut dan simpan:

server {

    listen [::]:443 ssl;
    listen 443 ssl;
    listen [::]:80;
    listen 80;
    # RSA
    ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/example.com/private.key;
    # ECC
    ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
    server_name wiki.example.com;
    root /var/www/dokuwiki;
    index index.html index.htm index.php doku.php;
    
    client_max_body_size 15M;
    client_body_buffer_size 128K;
    
    location / {
        try_files $uri $uri/ @dokuwiki;
    }
    
    location ^~ /conf/ { return 403; }
    location ^~ /data/ { return 403; }
    location ~ /\.ht { deny all; }
    
    location @dokuwiki {
        rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
        rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
        rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
        rewrite ^/(.*) /doku.php?id=$1 last;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Periksa konfigurasi NGINX untuk melihat tidak ada syntax errors:

sudo nginx -t

Reload Nginx dengan perintah berikut

sudo systemctl reload nginx.service

Step 4 – Install DokuWiki

Buat direktori root dokumen untuk DokuWiki

sudo mkdir -p /var/www/dokuwiki

Masuk ke direktori document root:

cd /var/www/dokuwiki

Download rilis terbaru DokuWiki dari DokuWiki download page dengan menggunakan perintah wget:

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

Perintah di bawah ini akan extract file tarball DokuWiki, menghapus arsip tar dokuwiki-stable.tgz dan memindahkan file hasil extract ke document root  :

sudo tar xvf dokuwiki-stable.tgz
sudo rm dokuwiki-stable.tgz
sudo mv dokuwiki-2018-04-22b/* . && mv dokuwiki-2018-04-22b/.* .
sudo rmdir dokuwiki-2018-04-22b/

Ubah kepemilikan direktori /var/www/dokuwiki menjadiwww-data:

sudo chown -R nginx:nginx /var/www/dokuwiki

Kemdian restart  php7.3-fpm.service:

sudo systemctl restart php7.3-fpm.service

Langkah 5 – Install DokuWiki Web Interface

Buka browser web Anda dan ketik URL http://example.com/install.php. Anda akan diarahkan ke halaman berikut:

page 1 - DokuWiki installer

Berikan semua informasi yang diperlukan seperti nama superuser, email, kata sandi. Kemudian, klik tombol Save. Setelah instalasi selesai dengan sukses, Anda akan melihat halaman berikut:

page 2 - Set username and password

Sekarang, klik pada your new DokuWiki. Anda akan melihat halaman berikut:

page 3 - DokuWiki successfully installed

Sekarang, klik tombol login. Anda akan diarahkan ke halaman berikut:

page 4 - Login Dokuwiki

Sekarang, berikan nama pengguna dan kata sandi Admin Anda. Kemudian, klik tombol Log In. Anda harus melihat dashboard DokuWiki di halaman berikut:

page 5 - Welcome to DokuWiki

Setelah konfigurasi berhasil, hapus file install.php dari direktori root DokuWiki:

sudo rm /var/www/dokuwiki/install.php

Selamat! Anda telah berhasil menginstal dan mengkonfigurasi DokuWiki di server CentOS 8. Anda sekarang dapat membuat situs wiki Anda sendiri dengan mudah menggunakan DokuWiki.