在 Ubuntu 上部署 MediaWiki 开源维基平台

news/2024/11/29 9:14:09/

MediaWiki 是一个功能强大的开源维基软件,全球众多组织使用它来创建协作文档网站。本文将指导你如何在 Ubuntu 服务器上安装 MediaWiki,使用 Nginx 作为 Web 服务器,PostgreSQL 作为数据库管理系统。

简介

MediaWiki 是一个灵活且强大的维基平台,它支撑着包括维基百科在内的许多知名网站。通过本文,你将学习如何在 Ubuntu 22.04 系统上部署 MediaWiki,并通过 Nginx 提供服务。我们将使用 PostgreSQL 作为后端数据库,并使用 Let’s Encrypt 来保护你的网站。通过本教程,你将获得一个完全功能的 MediaWiki 安装,能够满足你的文档协作需求。

image.png

接下来,我将一步一步教大家如何进行安装和部署!!

准备工作

服务器准备

必要前提:

  • 一个充满求知欲的大脑。
  • 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。

我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。

注册链接: https://rainyun.ivwv.site

创建雨云服务器

以下步骤仅供参考,请根据实际需求选择配置。

  • 点击 云产品服务器立即购买
  • 选择距离你较近的区域,以保证低延迟。

https://img-blog.csdnimg.cn/img_convert/4c16271f125adea69da6ed9e7b2a4226.png

  • 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
  • 最后按照提示进行购买。
  • 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。

https://img-blog.csdnimg.cn/img_convert/414570cd3da48d4cc4bf51489992000b.png

  • 我们使用 PowerShell 进行 SSH 远程连接到服务器Win+R 打开运行窗口,输入 powershell 后点击确定。

https://img-blog.csdnimg.cn/img_convert/c8afbeb764459a37a8451dd2ed8eeff1.png

  • 输入 ssh root@你的服务器IP 例如 ssh root@154.9.227.239 回车后,首次需要输入 yes,再次回车后即可登录服务器

https://img-blog.csdnimg.cn/img_convert/ea5814f1d1068ca9fa2bb94631cfbdf1.png

  • 到此为止,我们的云服务器就远程连接上了。

开始部署

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


http://www.ppmy.cn/news/1550864.html

相关文章

【vue-router】vue-router如何实现动态路由

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

常用Python集成开发环境(IDE)

好的工具可以帮助我们提高开发效率和质量,给大家介绍几个常用的 Python 集成开发环境(IDE)。 Visual Studio Code Visual Studio Code ,简称 VS Code,是一款由微软开发的开源代码编辑器,它支持多种编程语…

【工具变量】中国省级农村创业活跃度数据(2000-2022年)

一、测算方式:参考《金融与经济》黄敦平(2023)老师研究的做法,农村创业活跃度(REP)利用农村私营企业就业人数和个体就业人数之和与乡村人口总数的比重衡量农村创业活跃度,该比值越大&#xff0c…

前端页面或弹窗在线预览文件的N种方式

需求:后端返回给前端一个地址后,在前端页面上或则在弹框中显示在线的文档、表格、图片、pdf、video等等,嵌入到前端页面 方式一: 使用vue-office 地址:vue-office简介 | vue-office 个人感觉这个插件是最好用的&#x…

C语言蓝桥杯组题目

系列文章目录 文章目录 系列文章目录前言题目第一题.1, 2, 3, 4 能组成多少个互不相同且无重复数字的三位数?都是多少?第二题: 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少&…

Maven 无法打包Springboot项目解决方法

问题1 JAR will be empty - no content was marked…; repackage failed: Unable to find main class 用生命周期里的东西进行打包而不是插件里面。 jar中没有主清单属性 java -jar xxx-0.0.1-SNAPSHOT.jar 没有主清单属性 Unable to access jarfile dddl-0.0.1-SN…

2.mybatis整体配置

文章目录 mybatis-config.xml介绍SqlSessionFactoryBuilderXMLConfigBuilderpropertiessetting类型别名(typeAliases)扫描插件(plugins)解析objectFactory(对象工厂)解析objectWrapperFactory解析reflectorFactorysettingsElement()方法环境配置&#xf…

《C++ Primer Plus》学习笔记|第四章-复合类型 (部分知识)

4.5共用体 union union,也叫联合体,允许在同一段内存位置中存储不同的数据类型,这些不同的数据类型共享同一块内存空间。 共用体的大小为其成员中占用空间最大的成员的大小。 共用体的用途之一是,当数据项使用两种或更多种格式…