Si të instaloni MediaWiki me Nginx në CentOS 7
MediaWiki është një softuer i njohur wiki që fillimisht u zhvillua për t'u përdorur në Wikipedia. Është një softuer wiki falas dhe me burim të hapur i shkruar në gjuhën e programimit PHP. I dhënë në jetë nga Magnus Manske më 2002, mjeti tani është në versionin 1.30. MediaWiki është përdorur nga shumë kompani të mëdha, duke përfshirë Nginx, Intel, Novell etj.
Në këtë tutorial, ne do të diskutojmë se si të instaloni MediaWiki hap pas hapi me serverin e internetit Nginx në CentOS 7. Ne gjithashtu do t'ju udhëzojmë se si të instaloni dhe konfiguroni grupin LEMP për instalimin e MediaWiki, duke përfshirë gjenerimin dhe konfigurimin e SSL të ri falas Letsencrypt për Siguria e MediaWiki.
Çfarë do të bëjmë ne
- Instaloni Nginx në CentOS 7
- Instaloni dhe konfiguroni PHP-FPM
- Instaloni dhe konfiguroni bazën e të dhënave MariaDB
- Shkarkoni dhe konfiguroni MediaWiki
- Gjeneroni SSL Letsencrypt të ri në CentOS 7
- Konfiguro hostin virtual Nginx për instalimin e MediaWiki
- Instalimi i bazuar në ueb të MediaWiki
- Konfiguro lëkurën e parazgjedhur të MediaWiki
Parakushtet
- Serveri CentOS 7
- Privilegjet e rrënjës
Hapi 1 - Instaloni Nginx në CentOS 7
Për këtë tutorial, ne do të përdorim web serverin Nginx për instalimin e MediaWiki. Në CentOS 7, paketa Nginx nuk ekziston. Pra, ne duhet ta instalojmë atë nga depoja e palës së tretë EPEL (Paketa Shtesë për Enterprise Linux).
Përditësoni të gjitha paketat dhe instaloni depo EPEL në sistemin CentOS 7 duke përdorur komandën yum më poshtë.
yum -y update
yum -y install epel-release
Më pas, instaloni serverin e uebit Nginx.
yum -y install nginx
Pasi të përfundojë instalimi i Nginx, nisni serverin dhe aktivizoni që të funksionojë automatikisht në nisjen e sistemit.
systemctl start nginx
systemctl enable nginx
Pra, serveri në internet Nginx është instaluar në serverin CentOS 7. Kontrolloni statistikat e rrjetit duke përdorur komandën netstat dhe si rezultat, duhet të merrni portin HTTP që përdoret nga shërbimi Nginx.
netstat -plntu
Hapi 2 - Instaloni dhe konfiguroni PHP-FPM
Në këtë tutorial, ne do të përdorim PHP 7.0. Dhe këtu, në këtë hap, ne do të instalojmë PHP 7.0 (duke përfshirë shtesat) dhe do të konfigurojmë PHP-FPM për instalimin e MediaWiki.
Ne do të përdorim paketat PHP 7.0 nga webtatic i depove të palëve të treta. Shtoni një depo të re webtatike për instalimin e PHP 7.0 duke përdorur komandën më poshtë.
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Tani mund të instalojmë PHP 7.0 me të gjitha shtesat e nevojshme duke përdorur komandën yum më poshtë.
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
Me këtë, instalimi i PHP 7.0 në CentOS 7 ka përfunduar.
Më pas, ne do të konfigurojmë shërbimin PHP-FPM. Ne do të modifikojmë skedarin php.ini për konfigurimin e informacionit të rrugës CGI dhe më pas do të modifikojmë konfigurimin www.conf për të konfiguruar shërbimin PHP-FPM. Më pas do të konfigurojmë PHP-FPM për të ekzekutuar nën skedarin sock (me përdorues dhe grup nginx).
Redaktoni skedarin php.ini duke përdorur redaktuesin vim.
vim /etc/php.ini
Zhkomentoni rreshtin më poshtë dhe ndryshoni vlerën në 0.
cgi.fix_pathinfo=0
Ruani ndryshimet dhe dilni nga redaktori.
Tani modifikoni skedarin e konfigurimit PHP-FPM www.conf.
vim /etc/php-fpm.d/www.conf
Ndrysho vlerën e linjës së përdoruesit dhe grupit në nginx.
user = nginx
group = nginx
Tani ndryshoni vlerën e ndryshores listen në skedarin php-fpm.sock, siç tregohet më poshtë.
listen = /run/php-fpm/php-fpm.sock
Ne duhet të konfigurojmë lejet e skedarit të çorapit, si dhe të zotëruesit të drejtorisë së skedarit të çorapeve. Zhkomentoni linjën listen.owner dhe listen.group dhe ndryshoni vlerat përkatëse në nginx.
listen.owner = nginx
listen.group =nginx
listen.mode = 0660
Për konfigurim shtesë, hiqni komentet më poshtë.
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
Kjo eshte. Ruaje dhe dil.
Më pas, krijoni një direktori të re për konfigurimin e rrugës së sesioneve.
Ekzekutoni komandat më poshtë për krijimin e drejtorisë së sesioneve.
mkdir -p /var/lib/php/session/
chown -R nginx:nginx /var/lib/php/session/
Pasi të jetë bërë kjo, nisni shërbimin PHP-FPM dhe aktivizoni që ai të funksionojë automatikisht në nisjen e sistemit.
systemctl start php-fpm
systemctl enable php-fpm
Kontrolloni PHP-FPM duke përdorur komandën netstat më poshtë.
netstat -pl | grep php
Dhe sigurohuni që të merrni skedarin php-fpm.sock si rezultat.
Hapi 3 - Instaloni dhe konfiguroni bazën e të dhënave MariaDB
MediaWiki mbështet bazat e të dhënave MySQL/MariaDB dhe SQLite. Në këtë tutorial, megjithatë, ne do të përdorim bazën e të dhënave MariaDB.
Për të filluar, instaloni MariaDB duke përdorur komandën yum më poshtë.
yum -y install mariadb mariadb-server
Pasi të përfundojë instalimi, nis mariadb dhe aktivizo atë të nisë në nisjen e sistemit.
systemctl start mariadb
systemctl enable mariadb
Tani duhet të konfigurojmë fjalëkalimin rrënjë për bazën e të dhënave MariaDB. Ekzekutoni komandën e mëposhtme për të konfiguruar fjalëkalimin rrënjësor MariaDB.
mysql_secure_installation
Shkruani Y dhe shtypni 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 është instaluar në sistemin CentOS 7 dhe fjalëkalimi për përdoruesin rrënjë është konfiguruar.
Më pas, ne do të krijojmë një bazë të dhënash të re për MediaWiki. Në mënyrë të veçantë, ne do të krijojmë një bazë të dhënash të re të quajtur mediawikidb, me përdorues/pronar të ri mediawiki dhe fjalëkalim mypassword.
Lidhu me guaskën mysql duke përdorur komandën mysql.
mysql -u root -p
TYPE YOUR ROOT PASSWORD
Tani ekzekutoni pyetjet e mëposhtme mysql për të krijuar një bazë të dhënash të re për MediaWiki.
create database mediawikidb;
grant all privileges on mediawikidb.* to 'localhost' identified by 'mypassword';
flush privileges;
exit;
Është krijuar një bazë të dhënash dhe përdorues i ri për instalimin e MediaWiki.
Hapi 4 - Shkarkoni dhe konfiguroni MediaWiki
Në këtë tutorial, ne do të përdorim versionin më të fundit (1.30) të MediaWiki dhe do të shkarkojmë të gjithë kodin burimor të MediaWiki nga depoja. Pra, ne kemi nevojë për git dhe disa paketa të instaluara në sistem.
Instaloni git dhe paketa të tjera duke përdorur komandën yum më poshtë.
yum -y install git zip unzip composer
Pasi të përfundojë instalimi, krijoni drejtorinë e re /var/www/mediawiki dhe klononi kodin burimor të mediawiki në atë direktori.
mkdir -p /var/www/mediawiki
git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git /var/www/mediawiki
Më pas, shkoni në drejtorinë /var/www/mediawiki dhe instaloni disa varësi PHP të nevojshme për instalimin e MediaWiki duke përdorur komandën e kompozitorit, siç tregohet më poshtë.
cd /var/www/mediawiki
composer install --no-dev
Tani ndryshoni lejet e pronësisë së drejtorisë mediawiki në nginx (si përdorues ashtu edhe grup).
chown -R nginx:nginx /var/www/mediawiki
Burimi i MediaWiki është shkarkuar në drejtorinë /var/www/mediawiki dhe të gjitha varësitë janë instaluar.
Hapi 5 - Gjeneroni SSL Letsencrypt në CentOS 7
Për arsye sigurie, MediaWiki do të funksionojë vetëm në lidhjen HTTPS. Dhe të gjitha kërkesat për HTTP do të ridrejtohen në HTTPS nga serveri i uebit Nginx.
Për të ekzekutuar MediaWiki nën lidhjen e sigurt HTTPS, na duhen certifikata SSL. Kështu që ne do të përdorim certifikatën SSL falas nga Letsencrypt.
Instalimi lejon enkriptimin e mjetit të linjës së komandës duke përdorur komandën yum më poshtë.
yum -y install letsencrypt
Pasi të përfundojë instalimi, ndaloni shërbimin Nginx duke përdorur komandën systemctl.
systemctl stop nginx
Më pas, ne do të gjenerojmë certifikatë të re SSL duke përdorur komandën letsencrypt. Por përpara kësaj, sigurohuni që shërbimet HTTP dhe HTTPS të jenë shtuar në Firewalld.
Ja se si shtoni shërbime të reja HTTP dhe HTTPS në Firewalld.
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
Gjeneroni një SSL të ri pa pagesë që lejon të enkriptojë certifikatën duke përdorur komandën letsencrypt më poshtë.
letsencrypt certonly
Komanda do t'ju pyesë për vërtetimin ACME. Zgjidhni numrin 1 për të rrotulluar serverin e përkohshëm të uebit.
Më pas, shkruani adresën tuaj të emailit për njoftimin e rinovimit, më pas shkruani A për të rënë dakord me Kushtet e Shërbimeve të Letsencrypt (TOS) dhe në fund shkruani emrin e domenit tuaj wiki.
Pasi të keni bërë gjithçka, do të merrni një rezultat të ngjashëm me atë të treguar më poshtë.
Certifikata e re SSL nga Letsencrypt është krijuar dhe ruajtur në drejtorinë /etc/letsencrypt/live.
Hapi 6 - Konfiguro hostin virtual Nginx për MediaWiki
Në këtë hap, ne do të krijojmë konfigurimin e ri të hostit virtual Nginx për MediaWiki.
Shkoni te drejtoria /etc/nginx dhe krijoni skedarin e ri të konfigurimit mediawiki.conf duke përdorur redaktuesin vim.
cd /etc/nginx/
vim conf.d/mediawiki.conf
Ngjitni konfigurimin më poshtë.
# 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;
}
}
Kjo eshte. Ruani ndryshimet dhe dilni nga redaktori.
Shënim:
- Ndrysho emrin e domenit në domenin tënd.
- Ndrysho shtegun e skedarëve të certifikatës SSL
Tani provoni konfigurimin Nginx dhe sigurohuni që nuk ka ndonjë gabim, më pas rinisni shërbimin Nginx.
nginx -t
systemctl restart nginx
Konfigurimi i hostit virtual Nginx për MediaWiki është shtuar dhe ishin gati për të instaluar MediaWiki nga shfletuesi i internetit.
Hapi 7 - Instalimi i bazuar në ueb të MediaWiki
Hapni shfletuesin tuaj të internetit dhe shkruani URL-në e MediaWiki.
http://wiki.hakase-labs.co/
Do të ridrejtoheni te lidhja HTTPS. Në faqen e internetit, klikoni lidhjen Konfiguro wiki.
Konfigurimi i gjuhës
Zgjidhni anglisht dhe gjuhë dhe klikoni Vazhdo.
Kontrolli i Mjedisit
Sigurohuni që i gjithë konfigurimi i serverit të ketë kaluar kontrollet e mjedisit.
Pastaj klikoni Vazhdo.
Konfigurimi i bazës së të dhënave
Shkruani emrin e bazës së të dhënave si mediawikidb dhe emrin e përdoruesit mediawiki me fjalëkalim mypassword.
Tani klikoni Vazhdo.
Cilësimet e bazës së të dhënave
Lëreni si parazgjedhje dhe klikoni Vazhdo.
Krijo një përdorues të ri admin
Shkruani përdoruesin tuaj të administratorit, emailin, fjalëkalimin dhe më pas klikoni Vazhdo.
Konfigurimi shtesë i MediaWiki
Tani arrijmë te faqja rreth konfigurimit shtesë të MediaWiki, siç tregohet më poshtë.
Lërini të gjitha fushat me vlerat e paracaktuara dhe klikoni Vazhdo.
Instalimi i MediaWiki
Klikoni Vazhdo për të instaluar MediaWiki.
Dhe ju do të shkoni në faqen më poshtë.
Klikoni sërish Vazhdo.
Dhe instalimi i MediaWiki ka përfunduar. Do të na kërkohet të shkarkojmë skedarin e ri LocalSettings.php - shkarkoni atë skedar.
Më pas, duhet të ngarkojmë skedarin LocalSetting.php të sapo shkarkuar në drejtorinë MediaWiki /var/www/mediawiki në server. Gjithashtu, mos harroni të ndryshoni të drejtat e pronësisë së skedarit në www-data (si përdorues ashtu edhe grup).
scp LocalSettings.php :/var/www/mediawiki/
chown -R www-data:www-data /var/www/mediawiki
Kthehuni te faqja e instalimit të MediaWiki të shfletuesit tuaj të internetit dhe kliko lidhjen e hyrjes në wiki. Do të shihni që MediaWiki është instaluar me serverin e uebit Nginx në serverin CentOS 7.
Hapi 8 - Shkarkoni dhe konfiguroni lëkurën e paracaktuar të MediaWiki
Në këtë fazë, instalimi i MediaWiki ka përfunduar. Dhe në këtë hap, ne do të konfigurojmë lëkurën/temën e paracaktuar të sajtit tonë MediaWiki.
Shkoni te drejtoria /var/www/mediawiki/skins dhe klononi lëkurën e paracaktuar të quajtur Vector në atë direktori.
cd /var/www/mediawiki/skins/
sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector
Ndrysho zotëruesin e direktorisë Vector skin në përdorues dhe grup nginx.
chown -R nginx:nginx /var/www/mediawiki/skins/
Tani modifikoni skedarin LocalSettings.php duke përdorur redaktorin vim.
vim /var/www/mediawiki/LocalSettings.php
Dhe ngjitni kodin e mëposhtëm PHP në fund të skedarit.
wfLoadSkin( 'Vector' );
Kjo eshte. Ruaje dhe dil.
Kthehuni në shfletuesin tuaj të internetit dhe rifreskoni faqen MediaWiki. Sigurohuni që të shihni MediaWiki me lëkurë vektoriale si më poshtë.
Instalimi dhe konfigurimi i MediaWiki me serverin e internetit Nginx në CentOS 7 ka përfunduar me sukses.
Referenca
- https://www.mediawiki.org/wiki/