MediaWiki 是一个功能强大的开源维基软件,全球众多组织使用它来创建协作文档网站。本文将指导你如何在 Ubuntu 服务器上安装 MediaWiki,使用 Nginx 作为 Web 服务器,PostgreSQL 作为数据库管理系统。
简介
MediaWiki 是一个灵活且强大的维基平台,它支撑着包括维基百科在内的许多知名网站。通过本文,你将学习如何在 Ubuntu 22.04 系统上部署 MediaWiki,并通过 Nginx 提供服务。我们将使用 PostgreSQL 作为后端数据库,并使用 Let’s Encrypt 来保护你的网站。通过本教程,你将获得一个完全功能的 MediaWiki 安装,能够满足你的文档协作需求。
接下来,我将一步一步教大家如何进行安装和部署!!
准备工作
服务器准备
必要前提:
- 一个充满求知欲的大脑。
- 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。
我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。
注册链接: https://rainyun.ivwv.site
创建雨云服务器
以下步骤仅供参考,请根据实际需求选择配置。
- 点击 云产品 → 云服务器 → 立即购买。
- 选择距离你较近的区域,以保证低延迟。
- 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
- 最后按照提示进行购买。
- 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。
- 我们使用
PowerShell
进行SSH
远程连接到服务器,Win+R
打开运行窗口,输入powershell
后点击确定。
- 输入
ssh root@你的服务器IP
例如ssh root@154.9.227.239
回车后,首次需要输入yes
,再次回车后即可登录服务器。
- 到此为止,我们的云服务器就远程连接上了。
开始部署
1. 更新系统
首先,更新你的软件包列表并升级现有的软件包:
sudo apt update
sudo apt upgrade -y
2. 安装 Nginx
Nginx 是一个高性能的 Web 服务器,它将为你的 MediaWiki 站点提供服务。
sudo apt install nginx -y
3. 安装和配置 PostgreSQL
PostgreSQL 是一个强大的开源关系数据库系统。
sudo apt install postgresql postgresql-contrib -y
配置 PostgreSQL:
切换到 PostgreSQL 用户:
sudo -i -u postgres
为 MediaWiki 创建一个新的 PostgreSQL 用户:
createuser --interactive --pwprompt
# 输入角色名称:mediawikiuser
# 输入新角色密码:(选择一个强密码)
# 再次输入密码:(选择一个强密码)
# 新角色是否为超级用户?(y/n)n
# 新角色是否允许创建数据库?(y/n)y
# 新角色是否允许创建更多新角色?(y/n)n
为 MediaWiki 创建一个新的 PostgreSQL 数据库:
createdb -O mediawikiuser mediawikidb
退出 PostgreSQL 提示符:
exit
4. 安装 PHP 及其扩展
MediaWiki 是用 PHP 编写的,因此你需要 PHP 及其扩展。
sudo apt install php-fpm php-pgsql php-intl php-gd php-xml php-mbstring -y
5. 下载和安装 MediaWiki
下载最新版本的 MediaWiki。访问官方网站获取最新版本:
cd /var/www
sudo wget https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.1.tar.gz
解压缩下载的归档文件:
sudo tar -xvzf mediawiki-1.41.1.tar.gz
sudo mv mediawiki-1.41.1 mediawiki
设置正确的权限:
sudo chown -R www-data:www-data /var/www/mediawiki
sudo chmod -R 755 /var/www/mediawiki
6. 配置 Nginx
为 MediaWiki 创建一个新的 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/mediawiki.your_domain
注意: 将 mediawiki.your_domain
替换为你的域名。
添加以下配置:
server {
listen 80;
server_name mediawiki.your_domain;
root /var/www/mediawiki;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \\.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
location ~* \\.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
try_files $uri /index.php;
}
}
注意: 将 mediawiki.your_domain
替换为你的域名。
启用新站点并重启 Nginx:
sudo ln -s /etc/nginx/sites-available/mediawiki.your_domain /etc/nginx/sites-enabled/
sudo systemctl restart nginx
7. 安装 SSL 证书
为了增加安全性,考虑为你的 MediaWiki 实例配置 HTTPS。你需要为你的域名配置 SSL 证书。你可以使用 Certbot 从 Let’s Encrypt 获取免费的 SSL 证书。
sudo apt install certbot python3-certbot-nginx
然后运行以下命令获取并安装 SSL 证书:
sudo certbot --nginx -d mediawiki.your_domain
注意: 将 mediawiki.your_domain
替换为你的域名。
按照提示配置 HTTPS 与 Certbot。
8. 通过 Web 浏览器完成安装
打开你的 Web 浏览器并导航到 https://mediawiki.your_domain。
按照屏幕上的指示配置你的 MediaWiki 安装:
- 选择你的语言并点击“继续”。
- 确保环境有必要的 PHP 扩展并点击“继续”。
- 输入数据库设置:
- 数据库类型:PostgreSQL
- 数据库主机:localhost
- 数据库名称:mediawikidb
- 数据库用户名:mediawikiuser
- 数据库密码:(你之前创建的密码)
- 点击“继续”并完成设置,按照剩余步骤操作。
安装完成后,下载 LocalSettings.php
文件并上传到你的 MediaWiki 目录:
sudo mv /path/to/LocalSettings.php /var/www/mediawiki/
sudo chown www-data:www-data /var/www/mediawiki/LocalSettings.php
相关链接
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site