TikiWiki adalah sistem manajemen konten sumber bebas dan terbuka yang ditulis dalam bahasa PHP. TikiWiki merupakan CMS yang sangat kuat, memiliki fitur lengkap dan dapat digunakan untuk membuat situs web, wiki, aplikasi Web, basis pengetahuan, portal, galeri gambar dan banyak lagi.

TikiWiki hadir dengan serangkaian fitur yang kaya, termasuk, Forums, Blog, Maps, Workspace, Slideshow, Shopping Cart, Bug and issue tracker, Multilingual, File and image gallery, Events dan banyak lagi.

Dalam tutorial ini, kita akan belajar cara Cara Install dan Konfigurasi CMS Tiki Wiki pada Debian 10.

Prasyarat

  • Server yang menjalankan Debian 10
  • User non-root dengan hak akses sudo.

Sebelum Mulai, 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 apt-get update && sudo apt-get upgrade -y

Setelah seluruh software di server diperbarui, restart server untuk menerapkan perubahan.

Install LAMP Server

TikiWiki berjalan di web server Apache/Nginx, ditulis dalam bahasa PHP dan menggunakan MariaDB/MySQL untuk menyimpan datanya.

Jadi, Anda perlu menginstal Apache, MariaDB, PHP, dan ekstensi lain yang diperlukan di server Anda. Pertama, instal server Apache dan MariaDB dengan perintah berikut:

apt-get install apache2 mariadb-server unzip -y

Secara default, Debian 10 datang dengan PHP versi 7.3. Tapi, TikiWiki tidak mendukung PHP 7.3. Jadi, kita harus menginstal PHP 7.2 dan ekstensi lain yang diperlukan.

Untuk menambahkan repositori SURY, pertama download GPG key dan tambahkan ke sistem.

wget https://packages.sury.org/php/apt.gpg
 apt-key add apt.gpg

Selanjutnya, tambahkan repositori SURY ke APT dengan perintah :

echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list

Selanjutnya, update repositori dan instal PHP7.2 bersama semua ekstensi yang diperlukan dengan perintah :

apt-get update
apt-get install 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-zip -y

Setelah menginstal PHP7.2, buka file php.ini dengan text editor nano dan ubah beberapa pengaturan:

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

Tambahkan baris berikut:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Asia/Jakarta

Simpan dan tutup file setelah Anda selesai. Kemudian, lanjutkan ke langkah berikutnya.

Konfigurasikan MariaDB Untuk TikiWiki

MariaDB terinstall secara default. Demi keamanan, Anda dapat melakukannya dengan perintah :

mysql_secure_installation

Pada bagian ini, kita akan mengubah kata sandi root, menghapus pengguna anonim, melarang login root dari jarak jauh dan menghapus database pengujian

    Enter current password for root (enter for none):
    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

Setelah MariaDB diamankan, masuk ke shell MariaDB dengan perintah :

mysql -u root -p

Berikan kata sandi root Anda, lalu buat database dan user database untuk TikiWiki dengan perintah :

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

Selanjutnya, berikan semua hak istimewa ke user database dengan perintah :

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

Selanjutnya, flush privilege dan keluar dari shell MariaDB dengan perintah :

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

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Download TikiWiki

Pertama, Anda perlu download  TikiWiki versi terbaru dari situs Sourceforge. Buat direktori dengan perintah mkdir di dalam direktori /var/www/ dan unzip file yang diunduh dengan perintah :

cd /var/www/
mkdir tikiwiki
wget https://sourceforge.net/projects/tikiwiki/files/latest/download -O tikiwiki.zip

Setelah unduhan selesai, unzip tikiwiki.zip dengan perintah berikut :

unzip tikiwiki.zip -d /var/www/tikiwiki

Selanjutnya, berikan izin dan kepemilikan yang tepat ke direktori tikiwiki dengan perintah berikut:

chown -R www-data:www-data /var/www/tikiwiki/
chmod -R 755 /var/www/tikiwiki/

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasikan Apache untuk TikiWiki

Selanjutnya, Anda perlu membuat file konfigurasi host virtual Apache untuk TikiWiki. Anda dapat membuatnya dengan perintah berikut:

nano /etc/apache2/sites-available/tikiwiki.conf

Tambahkan konten berikut:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/tikiwiki
     ServerName example.com

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

     ErrorLog ${APACHE_LOG_DIR}/tikiwiki_error.log
     CustomLog ${APACHE_LOG_DIR}/tikiwiki_access.log combined

</VirtualHost>

Simpan dan tutup file. Kemudian, aktifkan file konfigurasi virtual host Apache dengan perintah berikut:

a2ensite tikiwiki.conf

Terakhir, aktifkan modul Apache rewrite dan restart layanan Apache untuk menerapkan perubahan konfigurasi dengan perintah berikut:

a2enmod rewrite
systemctl restart apache2

Akses Web Interface TikiWiki

Sekarang, buka web browser dan ketik URL domain TikiWiki Anda. Secara otomatis Anda akan diarahkan ke halaman selamat datang TikiWiki:

Tiki Installer

Pilih bahasa Anda dan klik tombol Continue. Anda akan melihat halaman berikut:

Accept license

Terima perjanjian Lisensi dan klik tombol Continue . Anda akan melihat halaman berikut:

Check System Requirements

Konfirmasikan sistem Anda memenuhi persyaratan minimum dan klik tombol Continue. Anda akan melihat halaman berikut:

Set database connection

Database name and user

Berikan nama database, nama user dan kata sandi. Kemudian, klik tombol Continue. Anda akan melihat halaman berikut:

Choose database engine

Pilih mesin database dan klik tombol Install untuk memulai instalasi. Setelah instalasi selesai, Anda akan melihat halaman berikut:

Tiki Installation complete

Sekarang, klik tombol Continue, Anda akan melihat halaman berikut:

Configure general settings

Log settings

Berikan semua informasi yang diperlukan seperti judul Wiki, Email pengirim, Login aman, Email admin, dan klik tombol Continue. Anda akan melihat halaman berikut:

Installation notes

Baca semua informasi dan klik tombol Continue . Anda akan melihat halaman berikut:

Enter your Tiki

Sekarang, klik tombol “Enter Tiki and Lock Installer“. Anda akan melihat halaman berikut:

Enter Tiki and Lock Installer

Sekarang, atur kata sandi admin Anda dan klik tombol Apply. Anda akan melihat halaman berikut:

Get started with Tiki

Amankan TikiWiki dengan Let’s Encrypt

Di bagian ini, kami akan menjelaskan cara mengamankan situs TikiWiki Anda dengan Let’s Encrypt free SSL.

Pertama, Anda harus menginstal Certbot tool untuk download dan menginstal Let’s Encrypt untuk situs web Anda. Secara default, versi terbaru Certbot tidak tersedia di repositori default Debian 10. Jadi, Anda perlu menambahkan repositori Certbot ke sistem Anda.

Anda dapat menambahkan repositori Certbot dengan perintah berikut:

apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot

Selanjutnya, perbarui repositori dan instal Certbot dengan perintah berikut:

apt-get update -y
 apt-get install certbot python-certbot-apache -y

Setelah diinstal, buat file well-known.conf untuk Let’s Encrypt untuk memvalidasi domain Anda.

Pertama, buat direktori .well-known dan berikan izin yang tepat:

mkdir -p /var/lib/letsencrypt/.well-known
 chgrp www-data /var/lib/letsencrypt
 chmod g+s /var/lib/letsencrypt

Selanjutnya, buat file well-known.conf dengan perintah berikut:

nano /etc/apache2/conf-available/well-known.conf

Tambahkan baris berikut:

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

Simpan dan tutup file. Kemudian, aktifkan modul yang diperlukan dengan perintah berikut:

a2enmod ssl
 a2enmod http2
 a2enmod headers
 a2enconf well-known

Selanjutnya, restart layanan Apache untuk menerapkan semua perubahan konfigurasi:

systemctl restart apache2

Sekarang, mari kita mulai menginstal sertifikat SSL gratis untuk domain example.com dengan perintah berikut:

certbot --apache -d example.com

Pertama, Anda harus memberikan alamat email yang valid dan menyetujui persyaratan layanan seperti yang ditunjukkan di bawah ini:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/example.com-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/example.com-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/example.com-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Selanjutnya, pilih opsi 2 untuk mengunduh dan menginstal sertifikat SSL gratis untuk domain Anda. Setelah instalasi selesai dengan sukses. Anda harus mendapatkan output berikut:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/example.com.conf to ssl vhost in /etc/apache2/sites-available/
example.com-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-10-22. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Sekarang, buka browser web Anda dan akses CMS TikiWiki Anda menggunakan URL https://example.com.