Dalam tutorial ini, saya akan menunjukkan kepada Anda langkah demi langkah cara menginstal MediaWiki dengan server web Nginx di Ubuntu 16.04. Saya akan memandu Anda tentang cara menginstal dan mengonfigurasi tumpukan LEMP untuk instalasi MediaWiki, termasuk membuat dan mengonfigurasi SSL Letsencrypt gratis baru untuk keamanan MediaWiki.
MediaWiki adalah salah satu perangkat lunak wiki paling populer yang awalnya dikembangkan untuk digunakan di Wikipedia. Ini adalah perangkat lunak bebas dan sumber terbuka yang ditulis dalam bahasa pemrograman PHP, dan telah menjadi perangkat lunak paling dominan dalam kategori wiki. Awalnya dikembangkan oleh Magnus Manske pada tahun 2002, alat ini sekarang dalam versi 1.30. MediaWiki telah digunakan oleh banyak perusahaan/organisasi besar termasuk Nginx, Intel, Novell, dan NASA.
Apa yang akan kami lakukan:
- Instal Nginx di Ubuntu 16.04
- Instal dan Konfigurasi PHP-FPM
- Instal dan Konfigurasi Database MySQL
- Unduh dan Konfigurasi MediaWiki
- Buat SSL Letsencrypt baru di Ubuntu 16.04
- Konfigurasi Nginx Virtual Host untuk Instalasi MediaWiki
- Instalasi Berbasis Web MediaWiki
- Konfigurasi Default Skin MediaWiki
Prasyarat
- Server Ubuntu 16.04
- Hak istimewa root
Langkah 1 - Instal Nginx di Ubuntu 16.04
Langkah pertama yang harus kita lakukan untuk instalasi MediaWiki adalah menginstal web server. Jadi di bagian ini, kita akan menginstal server web Nginx, memulai layanan Nginx, dan kemudian mengaktifkannya untuk diluncurkan secara otomatis saat boot sistem.
Sebelum menginstal server Web, sambungkan ke server Anda, perbarui semua repositori, lalu tingkatkan versi.
sudo apt update
sudo apt upgrade -y
Sekarang instal Nginx menggunakan perintah apt berikut.
sudo apt install nginx -y
Setelah itu, mulai nginx dan aktifkan untuk diluncurkan saat boot sistem.
systemctl start nginx
systemctl enable nginx
Sekarang periksa port HTTP menggunakan netstat dan pastikan Anda melihat port 80 digunakan oleh Nginx.
netstat -plntu
Server web Nginx telah diinstal di Ubuntu 16.04.
Langkah 2 - Instal dan Konfigurasi PHP-FPM
Sekarang kita akan menginstal PHP-FPM di Ubuntu 16.04. Dan kami akan menggunakan PHP 7.0 untuk instalasi MediaWiki.
Instal PHP dan PHP-FPM (bersama dengan semua ekstensi yang diperlukan) menggunakan perintah apt di bawah ini.
sudo apt install imagemagick php7.0-fpm php7.0-intl php7.0-xml php7.0-curl php7.0-gd php7.0-mbstring php7.0-mysql php-apcu
Dan setelah instalasi selesai, kita perlu mengubah beberapa konfigurasi default untuk PHP-FPM. Kita perlu meningkatkan ukuran file maksimal upload serta konfigurasi batas memori.
Buka direktori konfigurasi PHP dan edit file php-fpm 'php.ini' menggunakan vim.
cd /etc/php/7.0
vim fpm/php.ini
Tingkatkan konfigurasi 'upload_max_filesize' menjadi '20M', dan tingkatkan 'memory_limit' menjadi '128M'.
upload_max_filesize = 20M
memory_limit = 128M
Simpan dan keluar.
Sekarang restart layanan PHP-FPM dan aktifkan untuk diluncurkan secara otomatis saat boot menggunakan perintah systemctl berikut.
systemctl restart php7.0-fpm
systemctl enable php7.0-fpm
PHP-FPM sekarang berjalan di Ubuntu 16.04, dan berjalan di bawah file kaus kaki. Periksa menggunakan perintah netstat di bawah ini.
netstat -pl | grep php
Dan Anda akan mendapatkan file sock PHP-FPM seperti gambar di bawah ini.
Langkah 3 - Instal dan Konfigurasikan Database MySQL
MediaWiki menyimpan semua data dan konten dalam database, dan kompatibel dengan berbagai server database. Untuk panduan ini, kita akan menggunakan database MySQL untuk instalasi MediaWiki.
Pada langkah ini, kita akan menginstal server database MySQL dan kemudian membuat database dan pengguna baru untuk MediaWiki.
Instal database MySQL di Ubuntu 16.04 menggunakan perintah apt berikut.
sudo apt install mysql-server mysql-client -y
Anda akan dimintai kata sandi 'root' MySQL - ketik kata sandi Anda sendiri dan tekan 'Enter'.
Ulangi kata sandi 'root' MySQL Anda.
Instalasi MySQL selesai. Sekarang mulai MySQL dan aktifkan untuk diluncurkan saat boot menggunakan perintah systemctl di bawah ini.
systemctl start mysql
systemctl enable mysql
Selanjutnya, kita akan membuat database dan pengguna baru untuk MediaWiki. Kami akan membuat database baru bernama 'mediawikidb ' dengan pengguna 'mediawiki ' dan sandi 'sandi saya '.
Hubungkan ke server mysql menggunakan perintah mysql di bawah ini.
mysql -u root -p
Sekarang buat database dan pengguna dengan kueri MySQL berikut.
create database mediawikidb;
grant all privileges on mediawikidb.* to [email protected]'localhost' identified by 'mypassword';
flush privileges;
exit;
Server MySQL terinstal di Ubuntu 16.04, dan database untuk instalasi MediaWiki telah dibuat.
Langkah 4 - Unduh dan Konfigurasi MediaWiki
Untuk panduan ini, kami akan menggunakan MediaWiki versi 1.30. Dan sebelum kita mengunduh MediaWiki, kita perlu menginstal beberapa paket di server.
Jalankan perintah apt di bawah ini untuk menginstal paket baru.
sudo apt install composer git zip unzip -y
Sekarang buat direktori 'mediawiki' baru dan klon kode sumber mediawiki ke direktori tersebut.
mkdir -p /var/www/mediawiki
git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git /var/www/mediawiki
Selanjutnya, buka direktori '/var/www/mediawiki' dan instal beberapa dependensi PHP yang diperlukan untuk instalasi MediaWiki menggunakan perintah composer.
cd /var/www/mediawiki
composer install --no-dev
Setelah semua instalasi dependensi PHP selesai, ubah pemilik direktori mediawiki menjadi pengguna dan grup 'www-data'.
chown -R www-data:www-data /var/www/mediawiki
Versi terbaru MediaWiki 1.30 diunduh di direktori '/var/www/mediawiki'.
Langkah 5 - Buat SSL Letsencrypt di Ubuntu 16.04
Untuk alasan keamanan, kami akan menjalankan MediaWiki di bawah koneksi HTTPS. Semua koneksi HTTP akan secara otomatis dialihkan ke HTTPS. Dan untuk tujuan ini, kita membutuhkan sertifikat SSL. Kami akan menggunakan SSL gratis dari Letsencrypt.
Untuk menghasilkan sertifikat SSL baru dari Letsencrypt, kita perlu menginstal baris perintah letsencrypt ke server. Gunakan perintah berikut untuk melakukannya:
sudo apt install letsencrypt -y
Setelah instalasi selesai, hentikan server web Nginx.
systemctl stop nginx
Selanjutnya, buat sertifikat SSL baru menggunakan perintah letsencrypt di bawah ini.
letsencrypt certonly
Anda akan dimintai alamat email Anda - ini digunakan untuk pemberitahuan perpanjangan sertifikat.
Jadi, ketik alamat email Anda dan pilih 'OK'.
Untuk TOS (Ketentuan Layanan) Letsencrypt, pilih 'Setuju' dan tekan Enter.
Dan sekarang ketik nama domain wiki Anda, milik saya adalah 'wiki.hakase-labs.co'.
Dan jika sudah selesai maka akan mendapatkan hasil seperti gambar dibawah ini.
Sertifikat SSL untuk instalasi MediaWiki telah dibuat di direktori '/etc/letsencrypt/live'.
Langkah 6 - Konfigurasi MediaWiki Nginx Virtual Host
Tumpukan LEMP (Linux, Nginx, MySQL, dan PHP-FPM) untuk instalasi MediaWiki telah disiapkan, dan kode sumber MediaWiki telah diunduh di direktori '/var/www/mediawiki'.
Pada langkah ini, kita akan membuat file virtual host Nginx baru 'mediawiki', dan kemudian mengaktifkan virtual host.
Buka direktori konfigurasi Nginx dan buat file host virtual baru 'mediawiki' menggunakan vim.
cd /etc/nginx/
vim sites-available/mediawiki
Tempelkan host virtual Nginx berikut untuk konfigurasi MediaWiki di sana.
# HTTP Request will be Redirected to the HTTPS
server {
listen 80;
listen [::]:80;
server_name wiki.hakase-labs.co;
return 301 https://$host$request_uri;
}
# HTTPS Configuration
server {
listen 443 ssl;
listen [::]:443;
server_name wiki.hakase-labs.co;
root /var/www/mediawiki;
index index.php;
autoindex off;
# SSL Certificate Configuration
ssl_certificate /etc/letsencrypt/live/wiki.hakase-labs.co/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wiki.hakase-labs.co/privkey.pem;
client_max_body_size 5m;
client_body_timeout 60;
location / {
try_files $uri $uri/ @rewrite;
}
location @rewrite {
rewrite ^/(.*)$ /index.php?title=$1&$args;
}
location ^~ /maintenance/ {
return 403;
}
# PHP Configuration
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
try_files $uri /index.php;
expires max;
log_not_found off;
}
location = /_.gif {
expires max;
empty_gif;
}
location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {
deny all;
}
location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {
internal;
}
# Security for 'image' directory
location ~* ^/images/.*.(html|htm|shtml|php)$ {
types { }
default_type text/plain;
}
# Security for 'image' directory
location ^~ /images/ {
try_files $uri /index.php;
}
}
Ubah sesuai kebutuhan/kasus Anda, lalu simpan dan keluar.
Selanjutnya, aktifkan host virtual mediawiki baru menggunakan perintah berikut.
ln -s /etc/nginx/sites-available/mediawiki /etc/nginx/sites-enabled/
Uji konfigurasi nginx dan pastikan tidak ada kesalahan. Kemudian restart layanan.
nginx -t
systemctl restart nginx
Port HTTPS 443 baru dibuka di server Anda - periksa menggunakan perintah netstat dengan cara berikut.
netstat -plntu
Di bawah ini adalah hasilnya.
Langkah 7 - Instalasi Berbasis Web MediaWiki
Sekarang buka browser web Anda dan ketik nama domain Anda di bilah alamat.
http://wiki.hakase-labs.co
Dan Anda akan diarahkan ke koneksi HTTPS.
Klik tautan 'siapkan wiki' pada halaman untuk mengonfigurasi MediaWiki.
- Konfigurasi Bahasa
Pilih bahasa Anda sendiri, kami akan memilih 'Bahasa Inggris' dan klik 'Lanjutkan'.
- Pemeriksaan Lingkungan
Dan sekarang, MediaWiki akan melakukan pemeriksaan lingkungan. Pastikan Anda mendapatkan hasil seperti gambar di bawah ini.
Klik 'Lanjutkan' untuk penginstalan.
- Konfigurasi Basis Data
Sekarang untuk konfigurasi Database. Di bidang 'Nama database', ketik 'mediawikidb' dengan awalan 'wiki_'. Selanjutnya, ketik database user 'mediawiki' dan password 'mypassword'.
Dan klik 'Lanjutkan'.
- Setelan Basis Data
Untuk pengaturan Database, biarkan default dan klik 'Lanjutkan'.
- Buat Pengguna Admin
Sekarang kita perlu membuat akun administrator. Ketik pengguna, kata sandi, dan email Anda sendiri seperti yang ditunjukkan di bawah ini.
Dan klik 'Lanjutkan'.
- Konfigurasi Tambahan MediaWiki
Dan Anda harus membuka halaman tentang 'Konfigurasi Tambahan MediaWiki'.
Biarkan dengan nilai default, dan klik 'Lanjutkan'.
- Instalasi MediaWiki
Sekarang klik 'Lanjutkan' lagi untuk menginstal MediaWiki.
Dan Anda akan sampai ke halaman yang mirip dengan yang ditunjukkan di bawah ini.
Klik 'Lanjutkan' lagi.
Sekarang Anda akan melihat halaman yang mengatakan instalasi selesai. Anda akan diminta untuk mengunduh file baru 'LocalSettings.php' - unduh file tersebut.
Dan unggah file 'LocalSetting.php' ke direktori mediawiki server '/var/www/mediawiki'. Juga, jangan lupa untuk mengubah pemilik file menjadi pengguna dan grup 'www-data'.
scp LocalSettings.php [email protected]:/var/www/mediawiki/
chown -R www-data:www-data /var/www/mediawiki
Sekarang, kembali ke halaman instalasi MediaWiki browser web Anda, dan klik tautan 'masukkan wiki Anda'. Anda akan diberi tahu bahwa MediaWiki telah diinstal dengan server web Nginx di server Ubuntu 16.04.
Langkah 8 - Unduh dan Konfigurasi Skin Default
Pada tahap ini, instalasi mediawiki telah selesai. Dan pada langkah ini, kita akan mengonfigurasi skin/tema default.
Buka direktori '/var/www/mediawiki/skins' dan klon skin default 'Vector'.
cd /var/www/mediawiki/skins/
sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector
Sekarang edit file 'LocalSettings.php' menggunakan editor vim.
vim /var/www/mediawiki/LocalSettings.php
Dan paste kode php berikut di akhir file.
wfLoadSkin( 'Vector' );
Itu dia. Simpan dan keluar.
Kembali ke browser web Anda dan segarkan halaman MediaWiki. Pastikan Anda mendapatkan MediaWiki dengan skin 'Vector' seperti yang ditunjukkan di bawah ini.
Instalasi dan konfigurasi MediaWiki dengan server web Nginx di Ubuntu 16.04 telah berhasil diselesaikan.