GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal MediaWiki dengan Nginx di CentOS 7

MediaWiki adalah perangkat lunak wiki populer yang awalnya dikembangkan untuk digunakan di Wikipedia. Ini adalah perangkat lunak wiki sumber terbuka dan gratis yang ditulis dalam bahasa pemrograman PHP. Dibawa ke kehidupan oleh Magnus Manske pada tahun 2002, alat ini sekarang di versi 1.30. MediaWiki telah digunakan oleh banyak perusahaan besar, termasuk Nginx, Intel, Novell, dll.

Dalam tutorial ini, kita akan membahas cara langkah demi langkah menginstal MediaWiki dengan server web Nginx di CentOS 7. Kami juga akan memandu Anda cara menginstal dan mengonfigurasi tumpukan LEMP untuk instalasi MediaWiki, termasuk membuat dan mengonfigurasi SSL Letsencrypt gratis baru untuk Keamanan MediaWiki.

Apa yang akan kami lakukan

  1. Instal Nginx di CentOS 7
  2. Instal dan konfigurasikan PHP-FPM
  3. Instal dan konfigurasikan database MariaDB
  4. Unduh dan konfigurasikan MediaWiki
  5. Buat SSL Letsencrypt baru di CentOS 7
  6. Konfigurasikan host virtual Nginx untuk instalasi MediaWiki
  7. Instalasi berbasis web MediaWiki
  8. Konfigurasikan kulit default MediaWiki

Prasyarat

  • Server CentOS 7
  • Hak istimewa root

Langkah 1 - Instal Nginx di CentOS 7

Untuk tutorial ini, kita akan menggunakan server web Nginx untuk instalasi MediaWiki. Pada CentOS 7, paket Nginx tidak ada. Jadi kita perlu menginstalnya dari repositori EPEL (Extra Packages for Enterprise Linux) pihak ketiga.

Perbarui semua paket dan instal repositori EPEL di sistem CentOS 7 menggunakan perintah yum di bawah.

yum -y update
yum -y install epel-release

Selanjutnya, instal server web Nginx.

yum -y install nginx

Setelah penginstalan Nginx selesai, mulai server dan aktifkan untuk berjalan secara otomatis saat boot sistem.

systemctl start nginx
systemctl enable nginx

Jadi web server Nginx sudah terinstall di server CentOS 7. Periksa statistik jaringan menggunakan perintah netstat, dan hasilnya, Anda akan mendapatkan port HTTP yang digunakan oleh layanan Nginx.

netstat -plntu

Langkah 2 - Instal dan konfigurasikan PHP-FPM

Dalam tutorial ini, kita akan menggunakan PHP 7.0. Dan di sini, pada langkah ini, kita akan menginstal PHP 7.0 (termasuk ekstensi) dan mengonfigurasi PHP-FPM untuk instalasi MediaWiki.

Kami akan menggunakan paket PHP 7.0 dari repositori pihak ketiga 'webtatic'. Tambahkan repositori 'webtatic' baru untuk instalasi PHP 7.0 menggunakan perintah di bawah ini.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Sekarang kita dapat menginstal PHP 7.0 dengan semua ekstensi yang diperlukan menggunakan perintah yum di bawah ini.

yum -y install ImageMagick php70w-fpm php70w-intl php70w-xml php70w-curl php70w-gd php70w-mbstring php70w-mysql php70w-cli php70w-pear php70w-pecl-apcu

Dengan ini, instalasi PHP 7.0 pada CentOS 7 telah selesai.

Selanjutnya, kita akan mengkonfigurasi layanan PHP-FPM. Kami akan mengedit file php.ini untuk mengkonfigurasi info jalur CGI, dan kemudian mengedit konfigurasi 'www.conf' untuk mengkonfigurasi layanan PHP-FPM. Kami kemudian akan mengonfigurasi PHP-FPM untuk dijalankan di bawah file sock (dengan pengguna dan grup 'nginx').

Edit file 'php.ini' menggunakan editor vim.

vim /etc/php.ini

Batalkan komentar pada baris di bawah dan ubah nilainya menjadi 0.

cgi.fix_pathinfo=0

Simpan perubahan, dan keluar dari editor.

Sekarang edit file konfigurasi PHP-FPM 'www.conf'.

vim /etc/php-fpm.d/www.conf

Ubah nilai baris pengguna dan grup menjadi 'nginx'.

user = nginx
group = nginx

Sekarang ubah nilai variabel 'listen' menjadi file 'php-fpm.sock', seperti gambar di bawah ini.

listen = /run/php-fpm/php-fpm.sock

Kita perlu mengonfigurasi izin file sock, serta pemilik direktori file sock. Batalkan komentar pada baris listen.owner dan listen.group, dan ubah nilai yang sesuai menjadi 'nginx'.

listen.owner = nginx
listen.group =nginx
listen.mode = 0660

Untuk konfigurasi tambahan, batalkan komentar pada baris di bawah.

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Itu dia. Simpan dan keluar.

Selanjutnya, buat direktori baru untuk konfigurasi jalur sesi.

Jalankan perintah di bawah ini untuk membuat direktori sesi.

mkdir -p /var/lib/php/session/
chown -R nginx:nginx /var/lib/php/session/

Setelah selesai, mulai layanan PHP-FPM dan aktifkan untuk berjalan secara otomatis saat boot sistem.

systemctl start php-fpm
systemctl enable php-fpm

Periksa PHP-FPM menggunakan perintah netstat di bawah ini.

netstat -pl | grep php

Dan pastikan Anda mendapatkan file php-fpm.sock sebagai hasilnya.

Langkah 3 - Instal dan konfigurasikan database MariaDB

MediaWiki mendukung database MySQL/MariaDB dan SQLite. Namun, dalam tutorial ini, kita akan menggunakan database MariaDB.

Untuk memulainya, instal MariaDB menggunakan perintah yum di bawah ini.

yum -y install mariadb mariadb-server

Setelah penginstalan selesai, mulai mariadb dan aktifkan untuk diluncurkan saat boot sistem.

systemctl start mariadb
systemctl enable mariadb

Sekarang kita perlu mengkonfigurasi kata sandi 'root' untuk database MariaDB. Jalankan perintah berikut untuk mengonfigurasi kata sandi 'root' MariaDB.

mysql_secure_installation

Ketik 'Y' dan tekan Enter.

Set root password? [Y/n] Y
TYPE ROOT PASSWORD HERE

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

MariaDB telah diinstal pada sistem CentOS 7, dan kata sandi untuk pengguna 'root' telah dikonfigurasi.

Selanjutnya, kita akan membuat database baru untuk MediaWiki. Secara khusus, kami akan membuat database baru bernama 'mediawikidb ', dengan pengguna/pemilik baru 'mediawiki ' dan sandi 'sandi saya '.

Hubungkan ke shell mysql menggunakan perintah mysql.

mysql -u root -p
TYPE YOUR ROOT PASSWORD

Sekarang jalankan kueri mysql berikut untuk membuat database baru untuk MediaWiki.

create database mediawikidb;
grant all privileges on mediawikidb.* to [email protected]'localhost' identified by 'mypassword';
flush privileges;
exit;

Database dan pengguna baru untuk instalasi MediaWiki telah dibuat.

Langkah 4 - Unduh dan konfigurasikan MediaWiki

Dalam tutorial ini, kita akan menggunakan MediaWiki versi terbaru (1.30), dan kita akan mengunduh semua kode sumber MediaWiki dari repositori. Jadi kita membutuhkan git dan beberapa paket yang diinstal pada sistem.

Instal git dan paket lainnya menggunakan perintah yum di bawah ini.

yum -y install git zip unzip composer

Setelah penginstalan selesai, buat direktori baru '/var/www/mediawiki' 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, seperti yang ditunjukkan di bawah ini.

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

Sekarang ubah izin kepemilikan direktori mediawiki ke 'nginx' (baik pengguna dan grup).

chown -R nginx:nginx /var/www/mediawiki

Sumber MediaWiki memang telah diunduh ke direktori '/var/www/mediawiki', dan semua dependensi telah diinstal.

Langkah 5 - Buat SSL Letsencrypt di CentOS 7

Untuk alasan keamanan, MediaWiki hanya akan berjalan pada koneksi HTTPS. Dan semua permintaan ke HTTP akan dialihkan ke HTTPS oleh server Web Nginx.

Untuk menjalankan MediaWiki di bawah koneksi aman HTTPS, kita memerlukan sertifikat SSL. Jadi, kami akan menggunakan sertifikat SSL gratis dari Letsencrypt.

Instal, mari mengenkripsi alat baris perintah menggunakan perintah yum di bawah ini.

yum -y install letsencrypt

Setelah penginstalan selesai, hentikan layanan Nginx menggunakan perintah systemctl.

systemctl stop nginx

Selanjutnya, kita akan membuat sertifikat SSL baru menggunakan perintah letsencrypt. Namun sebelum itu, pastikan layanan HTTP dan HTTPS telah ditambahkan ke Firewalld.

Inilah cara Anda menambahkan layanan HTTP dan HTTPS baru ke Firewalld.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

Buat SSL gratis baru, izinkan enkripsi sertifikat menggunakan perintah letsencrypt di bawah.

letsencrypt certonly

Perintah tersebut akan menanyakan tentang autentikasi ACME. Pilih nomor '1' untuk memutar server web sementara.

Selanjutnya, ketik alamat email Anda untuk pemberitahuan pembaruan, lalu ketik 'A' untuk menyetujui Persyaratan Layanan (TOS) Letsencrypt, dan terakhir ketik nama domain wiki Anda.

Setelah semua selesai, Anda akan mendapatkan hasil yang mirip dengan yang ditunjukkan di bawah ini.

Sertifikat SSL baru dari Letsencrypt telah dibuat dan disimpan di direktori '/etc/letsencrypt/live'.

Langkah 6 - Konfigurasikan virtual host Nginx untuk MediaWiki

Pada langkah ini, kita akan membuat konfigurasi virtual host Nginx baru untuk MediaWiki.

Buka direktori '/etc/nginx' dan buat file konfigurasi baru 'mediawiki.conf' menggunakan editor vim.

cd /etc/nginx/
vim conf.d/mediawiki.conf

Tempelkan konfigurasi di bawah.

# 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-FPM Configuration Nginx
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    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;
    }

}

Itu dia. Simpan perubahan dan keluar dari editor.

Catatan:

  • Ubah nama domain menjadi domain Anda sendiri.
  • Ubah jalur file Sertifikat SSL

Sekarang uji konfigurasi Nginx dan pastikan tidak ada kesalahan, lalu restart layanan Nginx.

nginx -t
systemctl restart nginx

Konfigurasi virtual host Nginx untuk MediaWiki telah ditambahkan, dan kami siap untuk menginstal MediaWiki dari browser web.

Langkah 7 - Instalasi berbasis web MediaWiki

Buka browser web Anda dan ketik URL MediaWiki.

http://wiki.hakase-labs.co/

Anda akan diarahkan ke koneksi HTTPS. Pada halaman web, klik tautan 'Siapkan wiki'.

Konfigurasi Bahasa

Pilih bahasa Inggris 'en' dan klik 'Lanjutkan'.

Pemeriksaan Lingkungan

Pastikan semua konfigurasi server telah lulus pemeriksaan Lingkungan.

Kemudian klik 'Lanjutkan'.

Konfigurasi Basis Data

Ketik nama database sebagai 'mediawikidb', dan nama pengguna 'mediawiki' dengan kata sandi 'mypassword'.

Sekarang klik 'Lanjutkan'.

Pengaturan Basis Data

Biarkan sebagai default dan klik 'Lanjutkan'.

Buat Pengguna Admin Baru

Ketik pengguna admin Anda sendiri, email, kata sandi, lalu klik 'Lanjutkan'.

Konfigurasi Tambahan MediaWiki

Sekarang kita masuk ke halaman tentang 'Konfigurasi Tambahan MediaWiki', seperti yang ditunjukkan di bawah ini.

Biarkan semua bidang dengan nilai default, dan klik 'Lanjutkan'.

Instalasi MediaWiki

Klik 'Lanjutkan' untuk menginstal MediaWiki.

Dan Anda akan sampai ke halaman di bawah ini.

Klik 'Lanjutkan' lagi.

Dan instalasi MediaWiki selesai. Kami akan diminta untuk mengunduh file baru 'LocalSettings.php' - unduh file tersebut.

Selanjutnya, kita perlu mengunggah file 'LocalSetting.php' yang baru diunduh ke direktori MediaWiki '/var/www/mediawiki' di server. Juga, jangan lupa untuk mengubah izin kepemilikan file menjadi 'www-data' (baik pengguna maupun grup).

scp LocalSettings.php [email protected]:/var/www/mediawiki/
chown -R www-data:www-data /var/www/mediawiki

Kembalilah ke halaman instalasi MediaWiki browser web Anda, dan klik tautan 'masukkan wiki Anda'. Anda akan melihat bahwa MediaWiki telah diinstal dengan server web Nginx di server CentOS 7.

Langkah 8 - Unduh dan konfigurasikan skin default MediaWiki

Pada tahap ini, instalasi MediaWiki telah selesai. Dan dalam langkah ini, kami akan mengonfigurasi skin/tema default situs MediaWiki kami.

Buka direktori '/var/www/mediawiki/skins' dan klon skin default bernama 'Vector' ke direktori tersebut.

cd /var/www/mediawiki/skins/
sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector

Ubah pemilik direktori kulit Vektor menjadi pengguna dan grup 'nginx'.

chown -R nginx:nginx /var/www/mediawiki/skins/

Sekarang edit file 'LocalSettings.php' menggunakan editor vim.

vim /var/www/mediawiki/LocalSettings.php

Dan tempel kode PHP berikut di akhir file.

wfLoadSkin( 'Vector' );

Itu dia. Simpan dan keluar.

Kembali ke browser web Anda dan segarkan halaman MediaWiki. Pastikan Anda melihat MediaWiki dengan tampilan 'Vector' seperti di bawah ini.

Instalasi dan konfigurasi MediaWiki dengan server web Nginx di CentOS 7 telah berhasil diselesaikan.


Cent OS
  1. Instal Nginx dengan ngx_pagespeed di CentOS 7

  2. Cara Instal phpMyAdmin dengan Nginx di CentOS 7 / RHEL 7

  3. Cara Memasang Sitemagic CMS di CentOS 7 – Dengan Nginx

  1. Cara Menginstal Nginx di CentOS 7

  2. Cara Menginstal WordPress dengan Nginx di CentOS 7

  3. Cara Instal phpMyAdmin dengan Nginx di CentOS 7

  1. Cara Menginstal Nginx di CentOS 8

  2. Cara Menginstal Magento 2.1 di CentOS 7

  3. Cara Menginstal SuiteCRM dengan Nginx di CentOS 7