GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal MediaWiki dengan Nginx dan Mengenkripsi SSL di Ubuntu 20.04

MediaWiki adalah perangkat lunak wiki sumber terbuka yang ditulis dalam PHP. Ini memungkinkan Anda untuk membuat situs web wiki Anda sendiri di server. Ini adalah salah satu platform wiki paling populer karena kesederhanaan dan kemampuan penyesuaiannya. Saat ini, digunakan oleh banyak perusahaan untuk mengelola halaman wiki mereka. Ini menyediakan alat serbaguna dan gratis untuk menerbitkan konten di internet.

Dalam tutorial ini, kami akan menunjukkan cara menginstal MediaWiki dengan server web Nginx dan Let's Encrypt SSL di Ubuntu 20.04.

Prasyarat

  • Server yang menjalankan Ubuntu 20.04.
  • Nama domain valid yang ditunjukkan dengan IP server Anda.
  • Kata sandi root dikonfigurasi di server.

Memulai

Pertama, perbarui paket sistem ke versi yang diperbarui dengan menjalankan perintah berikut:

apt-get update -y

Setelah semua paket diperbarui, Anda dapat melanjutkan ke langkah berikutnya.

Instal Nginx, MariaDB dan PHP

MediaWiki membutuhkan server web Nginx, server database MariaDB, PHP, dan ekstensi lainnya. Anda dapat menginstal semuanya dengan perintah berikut:

apt-get install nginx mariadb-server php php-fpm php-mbstring php-xml php-json php-mysql php-curl php-intl php-gd php-mbstring texlive imagemagick unzip -y

Setelah semua paket terinstal, instal Composer dengan perintah berikut:

apt-get install composer -y

Selanjutnya, edit file php.ini dan ubah pengaturan default:

nano /etc/php/7.4/fpm/php.ini

Ubah baris berikut:

memory_limit = 512M
post_max_size =32M
upload_max_filesize = 32M
date.timezone = Asia/Kolkata

Simpan dan tutup file kemudian restart PHP-FPM untuk menerapkan perubahan:

systemctl restart php7.4-fpm

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Buat Database MariaDB

MediaWiki menggunakan MariaDB sebagai backend database sehingga Anda perlu membuat database dan pengguna untuk MediaWiki.

Pertama, sambungkan ke MariaDB dengan perintah berikut:

mysql

Setelah Anda terhubung, buat database dan pengguna dengan perintah berikut:

MariaDB [(none)]> CREATE DATABASE mediadb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mediadb.* TO 'mediauser'@'localhost' IDENTIFIED BY 'password';

Selanjutnya, flush hak istimewa dan keluar dari MariaDB dengan perintah berikut:

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

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Unduh MediaWiki

Pertama. buka situs web MediaWiki dan pilih versi terbaru MediaWiki. Kemudian, jalankan perintah berikut untuk mengunduhnya ke server Anda:

wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.2.zip

Setelah unduhan selesai, unzip file yang diunduh dengan perintah berikut:

unzip mediawiki-1.35.2.zip

Selanjutnya, pindahkan direktori hasil ekstrak ke direktori root web Nginx dengan perintah berikut:

mv mediawiki-1.35.2 /var/www/html/mediawiki

Selanjutnya, ubah direktori ke MediaWiki dan instal semua dependensi PHP dengan perintah berikut:

cd /var/www/html/mediawiki
composer install --no-dev

Setelah semua dependensi terinstal, atur izin dan kepemilikan yang tepat dengan perintah berikut:

chown -R www-data:www-data /var/www/html/mediawiki
chmod -R 755 /var/www/html/mediawiki

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Nginx untuk MediaWiki

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

nano /etc/nginx/conf.d/wiki.conf

Tambahkan baris berikut:

server {
        listen 80;
        server_name wiki.example.com;

        root /var/www/html/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 ~ /\.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 verifikasi Nginx untuk kesalahan sintaks dengan perintah berikut:

nginx -t

Anda akan melihat output berikut:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Selanjutnya, restart layanan Nginx untuk menerapkan perubahan:

systemctl restart nginx

Anda juga dapat memverifikasi status Nginx dengan perintah berikut:

systemctl status nginx

Anda akan melihat output berikut:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2021-06-02 05:06:48 UTC; 3s ago
       Docs: man:nginx(8)
    Process: 24594 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 24605 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 24606 (nginx)
      Tasks: 2 (limit: 2353)
     Memory: 2.8M
     CGroup: /system.slice/nginx.service
             ??24606 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??24607 nginx: worker process

Jun 02 05:06:48 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Jun 02 05:06:48 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.

Akses UI Web MediaWiki

Sekarang, buka browser web Anda dan ketik URL http://wiki.example.com . Anda akan diarahkan ke halaman berikut:

Sekarang, klik siapkan wiki tombol. Anda akan melihat halaman berikut:

Di sini, pilih bahasa wiki Anda dan klik Lanjutkan tombol. Anda akan melihat halaman berikut:

Sekarang, klik tombol Lanjutkan tombol. Anda akan melihat halaman berikut:

Sekarang, berikan detail basis data Anda dan klik tombol Lanjutkan tombol. Anda akan melihat halaman berikut:

Pilih gunakan akun yang sama seperti untuk pemasangan dan klik Lanjutkan tombol. Anda akan melihat halaman berikut:

Sekarang, berikan nama situs wiki Anda, nama pengguna, dan kata sandi. Kemudian, klik tombol Lanjutkan tombol. Anda akan melihat halaman berikut:

Klik Lanjutkan tombol untuk memulai instalasi. Anda akan melihat halaman berikut:

Klik Lanjutkan tombol. Setelah instalasi selesai, Anda akan melihat halaman berikut:

Sekarang, klik tombol unduh untuk mengunduh LocalSettings.php file ke sistem Anda. Kemudian, salin file ini ke server Anda di dalam direktori root MediaWiki dan atur izin yang sesuai dengan perintah berikut:

chown www-data:www-data /var/www/html/mediawiki/LocalSettings.php

Selanjutnya, kembali ke browser web Anda dan klik masukkan wiki Anda . Anda akan melihat dasbor MediaWiki di halaman berikut:

Amankan MediaWiki dengan Let's Encrypt SSL

Selanjutnya, Anda perlu menginstal paket klien Certbot untuk menginstal pengelolaan Let's Encrypt SSL.

Pertama, instal Certbot dengan perintah berikut:

apt-get install python3-certbot-nginx -y

Setelah instalasi selesai, jalankan perintah berikut untuk menginstal Let's Encrypt SSL di situs web Anda:

certbot --nginx -d wiki.example.com

Anda akan diminta untuk memberikan alamat 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 nginx, Installer nginx
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 wiki.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/wiki.conf

Selanjutnya, pilih apakah akan mengarahkan lalu lintas HTTP ke HTTPS seperti yang ditunjukkan di bawah ini:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 menyelesaikan instalasi. Anda akan melihat output berikut:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/wiki.conf

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

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

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/wiki.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/wiki.example.com/privkey.pem
   Your cert will expire on 2021-12-30. 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

 - We were unable to subscribe you the EFF mailing list because your
   e-mail address appears to be invalid. You can try again later by
   visiting https://act.eff.org.

Sekarang, situs web Anda diamankan dengan Let's Encrypt SSL. Anda dapat mengaksesnya dengan aman menggunakan URL https://wiki.example.com.

Kesimpulan

Selamat! Anda telah berhasil menginstal MediaWiki dengan Nginx dan Let's Encrypt SSL di Ubuntu 20.04. Sekarang Anda dapat dengan mudah meng-host situs wiki Anda sendiri dengan MediaWiki.


Ubuntu
  1. Cara Menginstal Nextcloud dengan Nginx dan Lets Encrypt SSL di Ubuntu 20.04 LTS

  2. Cara Menginstal Magento 2 dengan Nginx dan Mengenkripsi SSL di Ubuntu 20.04 LTS

  3. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  1. Cara Menginstal Drupal 8 dengan Nginx, PHP-FPM dan SSL di Ubuntu 15.10

  2. Cara Menginstal OpenCart 2 dengan Nginx dan SSL di Ubuntu 15.10

  3. Cara Menginstal Shopware dengan NGINX dan Mari mengenkripsi di Ubuntu 18.04 LTS

  1. Instal Automad CMS dengan Nginx dan Lets Encrypt SSL di Ubuntu 18.04

  2. Cara Menginstal X-Cart dengan Nginx dan Mengenkripsi SSL di Ubuntu 18.04 LTS

  3. Cara Menginstal Drupal dengan Nginx dan Mengenkripsi SSL di Ubuntu 20.04 LTS