GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal MediaWiki di Ubuntu 20.04 dengan Apache/Nginx

Tutorial ini akan menunjukkan kepada Anda cara menginstal MediaWiki di Ubuntu 20.04 . MediaWiki adalah perangkat lunak backend yang mendukung Wikipedia. Ini open-source gratis dan perangkat lunak wiki yang paling banyak digunakan saat ini. Pengguna MediaWiki yang terkenal termasuk Wikipedia.org dan wikia.com.

Anda dapat menggunakan MediaWiki untuk membuat situs wiki pribadi atau publik Anda sendiri. MediaWiki memiliki banyak ekstensi berguna yang telah dibuat baik untuk Wikipedia maupun untuk situs wiki lainnya.

Prasyarat

MediaWiki adalah program yang ditulis dalam PHP. Untuk mengikuti tutorial ini, pertama-tama Anda harus menginstal LAMP atau LEMP stack di server Ubuntu 20.04 Anda.

Jika Anda lebih suka Apache server web, lalu siapkan tumpukan LAMP.

  • Cara Memasang LAMP Stack di Server/Desktop Ubuntu 20.04

Jika Anda lebih suka Nginx server web, lalu siapkan tumpukan LEMP.

  • Cara Memasang LEMP Stack (Nginx, MariaDB, PHP7.4) di Ubuntu 20.04 LTS

Anda juga memerlukan nama domain. Saya mendaftarkan nama domain saya dari NameCheap karena harganya murah dan mereka memberikan perlindungan privasi whois gratis seumur hidup.

Setelah menginstal LAMP atau LEMP stack, baca instruksi berikut untuk menginstal MediaWiki.

Langkah 1:Mengunduh MediaWiki

Unduh versi stabil terbaru dari MediaWiki:

wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.1.tar.gz

Ekstrak arsip ke /var/www/ .

sudo mkdir -p /var/www/

sudo tar xvf mediawiki-1.35.1.tar.gz -C /var/www/

Ganti nama direktori.

sudo mv /var/www/mediawiki-1.35.1 /var/www/mediawiki

Kemudian kita perlu menginstal beberapa ekstensi PHP yang dibutuhkan oleh MediaWiki.

sudo apt install php7.4-mbstring php7.4-xml php7.4-fpm php7.4-json php7.4-mysql php7.4-curl php7.4-intl php7.4-gd php7.4-mbstring texlive imagemagick

Jika Anda menggunakan server web Apache, Anda perlu me-restart Apache.

sudo systemctl restart apache2

Selanjutnya, kita perlu menginstal dependensi eksternal melalui Composer (pengelola dependensi PHP).

sudo apt install composer

cd /var/www/mediawiki/

sudo composer install --no-dev

Perhatikan bahwa MediaWiki saat ini tidak mendukung PHP8.0. Jika Anda telah menginstal PHP8.0 di server Ubuntu Anda, maka Anda harus menjalankan sudo update-alternatives --config php perintah untuk mengatur PHP7.4 sebagai versi default.

Setelah semua dependensi diinstal, jalankan perintah berikut untuk mengatur pengguna server web (www-data ) sebagai pemilik direktori ini.

sudo chown www-data:www-data /var/www/mediawiki/ -R

Langkah 2:Membuat Basis Data

Masuk ke server MariaDB dengan perintah di bawah ini.

sudo mysql -u root

Buat database untuk MediaWiki. Tutorial ini memberi nama database mediawiki , tetapi Anda dapat menggunakan nama apa pun yang Anda suka.

CREATE DATABASE mediawiki;

Kemudian jalankan perintah berikut di MariaDB prompt untuk membuat pengguna database dan memberikan hak istimewa kepada pengguna ini. Ganti mediawiki , wikiuser dan password dengan nama basis data pilihan Anda, nama pengguna basis data, dan kata sandi pengguna.

GRANT ALL PRIVILEGES ON mediawiki.* TO 'wikiuser'@'localhost' IDENTIFIED BY 'password';

Selanjutnya, hapus hak istimewa MariaDB dan keluar.

flush privileges;

exit;

Langkah 3:Buat Apache Virtual Host atau File Konfigurasi Nginx untuk MediaWiki

Apache

Jika Anda menggunakan server web Apache, buat host virtual untuk MediaWiki.

sudo nano /etc/apache2/sites-available/mediawiki.conf

Salin dan tempel teks berikut ke dalam file. Ganti wiki.your-domain.com dengan nama domain Anda yang sebenarnya. Jangan lupa untuk membuat catatan DNS A untuk nama domain ini.

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www//mediawiki/
    ServerName wiki.your-domain.com

    <Directory /var/www/html/mediawiki/>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/mediawiki_error
    CustomLog /var/log/apache2/mediawiki_access common
</VirtualHost>

Simpan dan tutup file. Kemudian aktifkan host virtual ini.

sudo a2ensite mediawiki.conf

Muat ulang Apache agar perubahan di atas diterapkan.

sudo systemctl reload apache2

Nginx

Jika Anda menggunakan server web Nginx, buat file blok server untuk MediaWiki di bawah /etc/nginx/conf.d/ direktori.

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

Salin teks berikut dan tempel ke dalam file. Ganti wiki.your-domain.com dengan nama domain Anda yang sebenarnya. Jangan lupa untuk membuat catatan DNS A untuk nama domain ini.

server {
        listen 80;
        listen [::]:80;
        server_name wiki.your-domain.com;

        root /var/www/mediawiki;
        index index.php;
   
        error_log /var/log/nginx/mediawiki.error;
        access_log /var/log/nginx/mediawiki.access;

        location / {
                try_files $uri $uri/ /index.php;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.ht {
          deny all;
         }

        location ~ \.php$ {
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            include snippets/fastcgi-php.conf;
        }
}

Simpan dan tutup file. Kemudian uji konfigurasi Nginx.

sudo nginx -t

Jika pengujian berhasil, muat ulang server web Nginx.

sudo systemctl reload nginx

Langkah 4:Mengaktifkan HTTPS

Untuk mengenkripsi lalu lintas HTTP, kita dapat mengaktifkan HTTPS dengan memasang sertifikat TLS gratis yang dikeluarkan dari Let's Encrypt. Jalankan perintah berikut untuk menginstal klien Let's Encrypt (certbot) di server Ubuntu 20.04.

sudo apt install certbot

Jika Anda menggunakan Apache , instal plugin Certbot Apache.

sudo apt install python3-certbot-apache

Dan jalankan perintah ini untuk mendapatkan dan menginstal sertifikat TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.your-domain.com

Jika Anda menggunakan Nginx , maka Anda juga perlu menginstal plugin Certbot Nginx.

sudo apt install python3-certbot-nginx

Selanjutnya, jalankan perintah berikut untuk mendapatkan dan menginstal sertifikat TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.your-domain.com

Dimana

  • --nginx :Gunakan plugin nginx.
  • --apache :Gunakan plugin Apache.
  • --agree-tos :Menyetujui persyaratan layanan.
  • --redirect :Memaksa HTTPS dengan pengalihan 301.
  • --hsts :Tambahkan header Strict-Transport-Security ke setiap respons HTTP. Memaksa browser untuk selalu menggunakan TLS untuk domain. Mempertahankan dari SSL/TLS Stripping.
  • --staple-ocsp :Mengaktifkan Stapel OCSP. Respons OCSP yang valid ditempelkan ke sertifikat yang ditawarkan server selama TLS.

Sertifikat sekarang harus diperoleh dan diinstal secara otomatis.

Langkah 5:Menjalankan Skrip Instalasi Berbasis Web

Buka https://wiki.you-domain.com di browser web Anda untuk memulai skrip instalasi berbasis web. Klik Selesaikan penginstalan link untuk memulai wizard penyiapan.

Selanjutnya, pilih bahasa yang akan digunakan untuk instalasi MediaWiki dan untuk wiki itu sendiri.

Wizard penyiapan kemudian akan memeriksa lingkungan server Anda, seperti ekstensi PHP.

Pergi ke langkah berikutnya. Anda perlu mengonfigurasi pengaturan basis data. Pilih MariaDB, MySQL, or compatible untuk Database type . Masukkan localhost untuk Database host dan masukkan nama database mediawiki serta nama pengguna dan sandi database yang dibuat pada langkah 2.

Pada langkah berikutnya, Anda dapat memilih untuk menggunakan akun database yang sama untuk akses web.

Kemudian masukkan nama Wiki Anda dan buat akun admin.

Dalam Options halaman, Anda memiliki opsi untuk mengatur wiki Anda sebagai Buka wiki , diperlukan pembuatan akun, hanya editor resmi dan wiki pribadi. Kemudian Anda dapat memilih lisensi.

Klik Continue untuk memulai instalasi Mediawiki.

Sebuah LocalSettings.php file akan dihasilkan dalam proses instalasi. Anda perlu mengunduh file ini dan memasukkannya ke dalam /var/www/mediawiki/ direktori server Ubuntu 20.04 Anda. Setelah selesai, Anda akan dapat mengakses MediaWiki yang baru diinstal di http://wiki.your-domain.com .

Untuk membuat halaman suatu istilah, cukup buka

wiki.your-domain.com/index.php/your-term

atau

wiki.your-domain.com/index.php?title=your-term

Cara Mengatur SMTP untuk Mengirim Email

Jika instans MediaWiki Anda akan digunakan oleh lebih dari satu orang, penting bahwa server MediaWiki Anda dapat mengirim email transaksional, seperti email pengaturan ulang kata sandi, email pemberitahuan, dll.

Edit LocalSettings.php berkas.

sudo nano /var/www/mediawiki/LocalSettings.php

Tambahkan baris berikut di akhir file ini.

$wgSMTP = [
    'host'     => 'tls://mail.your-domain.com', // could also be an IP address. Where the SMTP server is located. If using SSL or TLS, add the prefix "ssl://" or "tls://".
    'port'     =>  587,                         // Port to use when connecting to the SMTP server
    'auth'     =>  true,                        // Should we use SMTP authentication (true or false)
    'username' =>  '[email protected]',      // Username to use for SMTP authentication (if being used)
    'password' =>  'user_password'              // Password to use for SMTP authentication (if being used)
];

Simpan dan tutup file.

Untuk cara setting email server silahkan simak tutorial berikut ini. Catatan bahwa saya sangat merekomendasikan menjalankan server email iRedMail pada OS bersih yang baru. Menginstal iRedMail pada OS yang memiliki aplikasi web lain dapat gagal, dan kemungkinan merusak aplikasi yang ada.

  • Cara menyiapkan server email berfitur lengkap dengan mudah di Ubuntu 20.04 dengan iRedMail

Ubuntu
  1. Cara Menginstal Apache di Ubuntu 18.04

  2. Cara menginstal Apache di Ubuntu 20.04

  3. Cara Menginstal Nginx di Ubuntu 16.04

  1. Cara Menginstal Joomla dengan Apache di Ubuntu 18.04

  2. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  3. Cara menginstal osTicket dengan Nginx di Ubuntu 18.04 LTS

  1. Cara Menginstal WordPress 5.x Dengan Nginx Di Ubuntu 18.04 / Ubuntu 16.04

  2. Cara Menginstal NextCloud di Ubuntu 20.04 dengan Apache

  3. Cara Menginstal WordPress dengan Nginx di Ubuntu