如何使用Nginx安装MediaWiki oMediaWiki是一款流行的wiki软件,最初是为维基百科开发的。这是一个用PHP编程语言编写的免费开源维基软件。该工具由Magnus Manske于2002年推出,目前版本为1.30。MediaWiki已被许多大公司使用,包括Nginx、英特尔、Novell等
在本教程中,我们将讨论如何在CentOS 7上使用Nginx web服务器逐步安装MediaWiki。我们还将指导您如何安装和配置用于MediaWiki安装的LEMP堆栈,包括为MediaWiki安全生成和配置新的免费SSL Letsencrypt。
将做什么目录
在CentOS 7上安装Nginx
安装并配置PHP-FPM
安装并配置MariaDB数据库
下载并配置MediaWiki
在CentOS 7上生成新的SSL Letsencrypt
为MediaWiki安装配置Nginx虚拟主机
MediaWiki基于Web的安装
配置MediaWiki默认皮肤
前提条件
CentOS 7服务器
Root权限
第一步-在CentOS 7上安装Nginx
在本教程中,我们将使用Nginx web服务器安装MediaWiki。在CentOS 7上,Nginx包不存在。因此,我们需要从第三方EPEL(企业Linux的额外软件包)存储库安装它。
使用下面的yum命令更新所有软件包并在CentOS 7系统中安装EPEL存储库。
yum -y update
yum -y install epel-release
接下来,安装Nginx web服务器。
yum -y install nginx
Nginx安装完成后,启动服务器并使其在系统启动时自动运行。
systemctl start nginx
systemctl enable nginx
因此,Nginx web服务器已安装在CentOS 7服务器上。使用netstat命令检查网络统计数据,在结果中,您应该得到Nginx服务正在使用的HTTP端口。
netstat -plntu
![图片[1]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/3b4a30c376104622.png)
步骤2-安装和配置PHP-FPM
在本教程中,我们将使用PHP 7.0。在这里,在这一步中,我们将安装PHP 7.0(包括扩展)并为MediaWiki安装配置PHP-FPM。
我们将使用来自第三方存储库“webstatic”的PHP 7.0包。使用以下命令为PHP 7.0安装添加新的“webstatic”存储库。
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
现在,我们可以使用下面的yum命令安装PHP 7.0以及所需的所有扩展。
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
至此,CentOS 7上的PHP 7.0安装已经完成。
接下来,我们将配置PHP-FPM服务。我们将编辑php.ini文件以配置CGI路径信息,然后编辑“www.conf”配置以配置php-FPM服务。然后,我们将配置PHP-FPM在sock文件下执行(使用“nginx”用户和组)。
使用vim编辑器编辑“php.ini”文件。
vim /etc/php.ini
取消注释下面的行并将值更改为0。
cgi.fix_pathinfo=0
保存更改,然后退出编辑器。
现在编辑PHP-FPM配置文件“www.conf”。
vim /etc/php-fpm.d/www.conf
将用户和组行值更改为“nginx”。
user = nginx
group = nginx
现在将变量’listen’的值更改为’php-fpm.sock’文件,如下所示。
listen = /run/php-fpm/php-fpm.sock
我们需要配置sock文件的权限,以及sock文件目录的所有者。取消注释listen.owner和listen.group行,并将相应的值更改为“nginx”。
listen.owner = nginx
listen.group =nginx
listen.mode = 0660
对于其他配置,请取消注释下面的行。
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
就是这样。保存并退出。
接下来,为会话路径配置创建一个新目录。
运行以下命令以创建会话目录。
mkdir -p /var/lib/php/session/
chown -R nginx:nginx /var/lib/php/session/
完成后,启动PHP-FPM服务,并使其在系统启动时自动运行。
systemctl start php-fpm
systemctl enable php-fpm
使用下面的netstat命令检查PHP-FPM。
netstat -pl | grep php
并确保在结果中得到php-fpm.sock文件。
![图片[2]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/04f124e2b7104952.png)
步骤3-安装并配置MariaDB数据库
MediaWiki支持MySQL/MariaDB和SQLite数据库。然而,在本教程中,我们将使用MariaDB数据库。
首先,使用下面的yum命令安装MariaDB。
yum -y install mariadb mariadb-server
安装完成后,启动mariadb并使其能够在系统启动时启动。
systemctl start mariadb
systemctl enable mariadb
现在我们需要为MariaDB数据库配置“root”密码。运行以下命令以配置MariaDB的“root”密码。
mysql_secure_installation
键入“Y”,然后按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已安装在CentOS 7系统上,并且已配置“root”用户的密码。
接下来,我们将为MediaWiki创建一个新的数据库。具体来说,我们将创建一个名为“mediawikidb”的新数据库,新用户/所有者为“mediawiki”,密码为“mypassword”。
使用mysql命令连接到mysql shell。
mysql -u root -p
TYPE YOUR ROOT PASSWORD
现在运行以下mysql查询,为MediaWiki创建一个新数据库。
create database mediawikidb;
grant all privileges on mediawikidb.* to mediawiki@'localhost' identified by 'mypassword';
flush privileges;
exit;
MediaWiki安装的新数据库和用户已创建。
![图片[3]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/aafb17f914111408.png)
步骤4-下载并配置MediaWiki
在本教程中,我们将使用MediaWiki的最新版本(1.30),并从存储库下载所有MediaWiki源代码。因此,我们需要在系统上安装git和一些软件包。
使用下面的yum命令安装git和其他软件包。
yum -y install git zip unzip composer
安装完成后,创建新目录“/var/www/mediawiki”,并将mediawiki源代码克隆到该目录。
mkdir -p /var/www/mediawiki
git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git /var/www/mediawiki
接下来,转到“/var/www/mediawiki”目录,使用composer命令安装mediawiki安装所需的一些PHP依赖项,如下所示。
cd /var/www/mediawiki
composer install --no-dev
![图片[4]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/ab7f2eabe2111523.png)
现在将mediawiki目录的所有权权限更改为“nginx”(用户和组)。
chown -R nginx:nginx /var/www/mediawiki
MediaWiki源代码确实已下载到“/var/www/MediaWiki”目录,并且所有依赖项都已安装。
步骤5-在CentOS 7上生成SSL Letsencrypt
出于安全原因,MediaWiki将仅在HTTPS连接上运行。所有对HTTP的请求都将被Nginx Web服务器重定向到HTTPS。
要在HTTPS安全连接下运行MediaWiki,我们需要SSL证书。因此,我们将使用Letsencrypt的免费SSL证书。
使用下面的yum命令安装lets-encrypt命令行工具。
yum -y install letsencrypt
安装完成后,使用systemctl命令停止Nginx服务。
systemctl stop nginx
接下来,我们将使用letsencrypt命令生成新的SSL证书。但在此之前,请确保HTTP和HTTPS服务已添加到防火墙中。
以下是如何向防火墙添加新的HTTP和HTTPS服务。
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
![图片[5]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/fbdd5a3756111728.png)
生成新的免费SSL让我们使用下面的letsencrypt命令加密证书。
letsencrypt certonly
该命令将询问您有关ACME身份验证的信息。选择数字“1”来旋转临时web服务器。
接下来,键入续订通知的电子邮件地址,然后键入“A”以同意Letsencrypt服务条款(TOS),最后键入您的wiki域名。
![图片[6]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/a8fb9c0f2a111805.png)
完成所有操作后,您将得到与下图所示类似的结果。
![图片[7]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/f0cf19beb0111812.png)
Letsencrypt的新SSL证书已生成并存储在“/etc/Letsencrypt/live”目录中。
步骤6-为MediaWiki配置Nginx虚拟主机
在此步骤中,我们将为MediaWiki创建新的Nginx虚拟主机配置。
转到“/etc/nginx”目录,使用vim编辑器创建新的配置文件“mediawiki.conf”。
cd /etc/nginx/
vim conf.d/mediawiki.conf
粘贴下面的配置。
# 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;
}
}
就是这样。保存更改并退出编辑器。
注:
将域名更改为您自己的域名。
更改SSL证书文件的路径
现在测试Nginx配置并确保没有错误,然后重新启动Nginx服务。
nginx -t
systemctl restart nginx
![图片[8]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/caa15cbaff111945.png)
MediaWiki的Nginx虚拟主机配置已经添加,我们已经准备好从web浏览器安装MediaWiki。
步骤7-基于MediaWiki Web的安装
打开您的网络浏览器,键入MediaWiki URL。
http://wiki.hakase-labs.co/
您将被重定向到HTTPS连接。在网页上,单击“设置维基”链接。
![图片[9]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/2fb48ff3c7112017.png)
语言配置
选择英语“en”语言,然后单击“继续”。
![图片[10]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/d722b3704c112043.png)
环境检查
确保所有服务器配置都通过了环境检查。
![图片[11]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/5f5da09e95114053.png)
然后单击“继续”。
数据库配置
键入数据库名称为“mediawikidb”,用户名为“mediawiki”,密码为“mypassword”。
![图片[12]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/e7b4f3821f114122.png)
现在单击“继续”。
数据库设置
将其保留为默认值,然后单击“继续”。
![图片[13]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/3393cb1395114211.png)
创建新管理员用户
键入您自己的管理员用户、电子邮件、密码,然后单击“继续”。
![图片[14]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/a99331d0e0114228.png)
MediaWiki附加配置
现在我们进入“MediaWiki附加配置”页面,如下所示。
![图片[15]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/3c32ad2c37114247.png)
将所有字段保留为默认值,然后单击“继续”。
MediaWiki安装
单击“继续”安装MediaWiki。
![图片[16]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/0612dd4cf3114311.png)
您将到达下面的页面。
![图片[17]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/ddbd3681e5114324.png)
再次单击“继续”。
MediaWiki安装已完成。系统将提示我们下载新文件“LocalSettings.php”-下载该文件。
![图片[18]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/d6c7ee0121114348.png)
接下来,我们需要将新下载的“LocalSetting.php”文件上传到服务器上的MediaWiki目录“/var/www/MediaWiki”。此外,不要忘记将文件的所有权权限更改为“www data”(用户和组)。
scp LocalSettings.php [email protected]:/var/www/mediawiki/
chown -R www-data:www-data /var/www/mediawiki
回到您的网络浏览器MediaWiki安装页面,然后单击“输入您的wiki”链接。您将看到MediaWiki已在CentOS 7服务器上安装了Nginx web服务器。
![图片[19]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/974b6732a7114419.png)
步骤8-下载并配置MediaWiki默认皮肤
在此阶段,MediaWiki安装已完成。在这一步中,我们将配置MediaWiki网站的默认皮肤/主题。
转到“/var/www/mediawiki/skins”目录,将名为“Vector”的默认皮肤克隆到该目录。
cd /var/www/mediawiki/skins/
sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector
将Vector皮肤目录的所有者更改为“nginx”用户和组。
chown -R nginx:nginx /var/www/mediawiki/skins/
现在使用vim编辑器编辑“LocalSettings.php”文件。
vim /var/www/mediawiki/LocalSettings.php
并将以下PHP代码粘贴到文件末尾。
wfLoadSkin( 'Vector' );
![图片[20]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/d6e3ba0c5c114531.png)
就是这样。保存并退出。
回到您的网络浏览器并刷新MediaWiki页面。确保你能看到MediaWiki的“矢量”皮肤,如下所示。
![图片[21]_如何在CentOS 7上安装带有Nginx的MediaWiki_马特资源网](http://www.pc-maint.com/wp-content/uploads/2025/07/d9986a94a3114544.png)
MediaWiki在CentOS 7上与Nginx web服务器的安装和配置已成功完成。
参考
https://www.mediawiki.org/wiki/
暂无评论内容