DokuWiki adalah aplikasi perangkat lunak Wiki gratis, sumber terbuka dan kuat yang ditulis dalam PHP. Ini menggunakan file untuk menyimpan datanya daripada menggunakan database. Ini sederhana, ringan dan memungkinkan Anda membuat dan mengedit situs web dari browser web. Ini menawarkan banyak fitur yang memungkinkan Anda untuk menskalakan dan mengoptimalkan situs web Anda dengan mudah. Ini digunakan oleh banyak pengguna karena sintaksnya yang bersih dan mudah dibaca, kemudahan pemeliharaan, pencadangan, dan integrasi.
Dalam tutorial ini, saya akan menunjukkan cara menginstal DokuWiki dengan Apache dan Let's Encrypt SSL di Debian 11.
Prasyarat
- Server yang menjalankan Ubuntu 20.04.
- Nama domain valid yang ditunjukkan dengan IP server Anda.
- Kata sandi root dikonfigurasi di server.
Memulai
Sebelum memulai, disarankan untuk memperbarui paket sistem Anda ke versi terbaru. Anda dapat memperbaruinya dengan menjalankan perintah berikut:
apt-get update -y
Setelah semua paket diperbarui, Anda dapat melanjutkan ke langkah berikutnya.
Instal Apache dan PHP
DokuWiki berjalan di Apache atau Nginx dan ditulis dalam bahasa PHP. Jadi, Anda perlu menginstal Apache, PHP, dan ekstensi lain yang diperlukan ke server Anda. Anda dapat menginstalnya dengan menjalankan perintah berikut:
apt-get install apache2 php php-gd php-xml php-json -y
Setelah semua paket terinstal, mulai layanan Apache dan aktifkan untuk memulai saat reboot sistem:
systemctl start apache2
systemctl enable apache2
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal DokuWiki
Pertama, buka halaman unduh DokuWiki dan unduh versi terbaru DokuWiki menggunakan perintah berikut:
wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz
Setelah unduhan selesai, buat direktori untuk DokuWiki di dalam direktori root web Apache:
mkdir /var/www/html/dokuwiki
Selanjutnya, ekstrak file yang diunduh ke direktori DokuWiki dengan perintah berikut:
tar -xvzf dokuwiki-stable.tgz -C /var/www/html/dokuwiki/ --strip-components=1
Selanjutnya, salin beberapa file yang diperlukan menggunakan perintah berikut:
cp /var/www/html/dokuwiki/.htaccess{.dist,}
Selanjutnya, atur kepemilikan yang tepat ke direktori DokuWiki:
chown -R www-data:www-data /var/www/html/dokuwiki
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Buat Host Virtual Apache untuk DokuWiki
Selanjutnya, Anda perlu membuat file konfigurasi virtual host Apache untuk meng-host DokuWiki di internet, Anda dapat membuatnya menggunakan perintah berikut:
nano /etc/apache2/sites-available/dokuwiki.conf
Tambahkan baris berikut:
<VirtualHost *:80> ServerName dokuwiki.example.com 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>
Simpan dan tutup file kemudian aktifkan file konfigurasi virtual host menggunakan perintah berikut:
a2ensite dokuwiki.conf
Selanjutnya, muat ulang Apache untuk menerapkan perubahan.
systemctl reload apache2
Anda juga dapat memeriksa status Apache dengan perintah berikut:
systemctl status apache2
Anda akan mendapatkan output berikut:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-10-24 04:01:29 UTC; 9min ago Docs: https://httpd.apache.org/docs/2.4/ Process: 27698 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Tasks: 77 (limit: 4691) Memory: 12.5M CGroup: /system.slice/apache2.service ??21346 /usr/sbin/apache2 -k start ??27703 Passenger watchdog ??27706 Passenger core ??27711 Passenger ust-router ??27729 /usr/sbin/apache2 -k start ??27730 /usr/sbin/apache2 -k start
Amankan DokuWiki dengan Let's Encrypt SSL
Setelah mengkonfigurasi Apache, disarankan untuk mengamankan situs wiki Anda dengan sertifikat Let's Encrypt SSL. Untuk melakukannya, Anda perlu menginstal klien Certbot di sistem Anda. Certbot adalah klien yang mudah digunakan yang mengambil sertifikat dari Let's Encrypt, otoritas sertifikat terbuka yang diluncurkan oleh EFF, Mozilla, dan lainnya—dan menyebarkannya ke server web. Dengan menggunakan klien Certbot Let's Encrypt, Anda dapat dengan mudah mengunduh, memasang, dan memperbarui sertifikat SSL untuk domain Anda.
Anda dapat menginstal Certbot dengan perintah berikut:
apt-get install certbot python3-certbot-apache -y
Setelah klien Certbot berhasil diinstal, jalankan perintah berikut untuk menginstal Let's Encrypt SSL untuk situs web Anda:
certbot --apache -d dokuwiki.example.com
Anda akan diminta untuk memberikan email yang valid dan menerima 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 dokuwiki.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/dokuwiki-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/dokuwiki-le-ssl.conf Enabling available site: /etc/apache2/sites-available/dokuwiki-le-ssl.conf
Selanjutnya, pilih apakah akan mengarahkan ulang lalu lintas HTTP ke HTTPS atau mengonfigurasi Nginx untuk mengalihkan semua lalu lintas untuk mengamankan akses HTTPS seperti yang ditunjukkan pada keluaran berikut:
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
Ketik 2 dan tekan Enter untuk memulai proses. Setelah instalasi selesai, Anda akan mendapatkan output berikut:
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/dokuwiki.conf to ssl vhost in /etc/apache2/sites-available/dokuwiki-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://dokuwiki.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=dokuwiki.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/dokuwiki.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/dokuwiki.example.com/privkey.pem Your cert will expire on 2021-01-25. 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" - 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
Pada titik ini, situs Dokuwiki Anda diamankan dengan Let's Encrypt SSL. Sekarang Anda dapat mengakses situs Anda dengan aman menggunakan protokol HTTPS.
Menyiapkan Pembaruan Otomatis Sertifikat SSL Mari Enkripsi
Secara default, sertifikat Let's Encrypt berlaku selama 90 hari. Jadi, Anda perlu menyiapkan tugas cron untuk memperbarui sertifikat SSL secara otomatis. Aman untuk membuat tugas cron yang berjalan setiap minggu atau bahkan setiap hari.
Jika Anda ingin memperbarui sertifikat SSL secara manual, jalankan perintah berikut:
certbot renew --dry-run
Anda dapat mengatur tugas cron untuk memperbarui sertifikat SSL secara otomatis setiap hari pada pukul 10:00 dengan mengedit file berikut:
crontab -e
Tambahkan baris berikut:
00 10 * * * root /usr/bin/certbot renew >/dev/null 2>&1
Simpan dan tutup file, setelah Anda selesai.
Akses DokuWiki
Sekarang, buka browser web Anda dan ketik URL https://dokuwiki.example.com/install.php . Anda akan melihat layar penginstalan DokuWiki:
Berikan nama wiki Anda, nama pengguna admin, kata sandi, email, pilih kebijakan Anda dan klik tombol Simpan tombol. Anda akan diarahkan ke halaman berikut:
Klik "DokuWiki baru Anda ". Anda akan melihat layar berikut:
Klik Masuk tombol. Anda akan diarahkan ke layar login DokuWiki seperti yang ditunjukkan di bawah ini:
Berikan nama pengguna, kata sandi admin Anda, dan klik tombol Masuk tombol. Anda akan melihat dasbor DokuWiki pada layar berikut:
Kesimpulan
Selamat! Anda telah berhasil menginstal DokuWiki dan mengamankannya dengan Let's Encrypt SSL di Debian 11. Sekarang Anda dapat mulai membuat situs web pertama Anda menggunakan DokuWiki. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.