打开/关闭搜索
搜索
打开/关闭菜单
30
8
13
1694
陋室
导航
首页
最近更改
随机页面
特殊页面
社群首页
新闻动态
帮助
上传文件
内容
分类树
所有页面
导入页面
活跃用户列表
界面
侧边栏
站点公告
匿名用户通知
公共样式表
公共脚本
系统消息
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
中文(简体)
个人工具
登录
查看“︁帮助:MediaWiki 安装”︁的源代码
来自陋室
查看
阅读
查看源代码
查看历史
associated-pages
帮助
讨论
更多操作
←
帮助:MediaWiki 安装
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于这些用户组的用户执行:
用户
、
自动确认用户
您可以查看和复制此页面的源代码。
这个页面介绍了本站的 MediaWiki 的安装笔记. == 服务器配置 == '''服务器提供商''': 腾讯云-轻量云(轻量应用服务器) '''地域和可用区''': 新加坡 | 新加坡一区 '''实例规格''': * '''CPU''': 2核 * '''内存''': 2GB * '''系统盘''': SSD云硬盘 50GB * '''流量包''': 1024GB/月(峰值带宽 30Mbps) == 服务器环境 == === 操作系统 === '''镜像名称''': Debian '''操作系统''': Debian 12.0 64bit <syntaxhighlight lang="bash"> cat /etc/os-release sudo apt update sudo apt upgrade </syntaxhighlight> === 服务器软件 === * '''宝塔Linux面板''': 正式版9.4.0 <syntaxhighlight lang="bash"> wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && bash install_panel.sh ed8484bec </syntaxhighlight> * '''Apache 2.4.62 (PHP+fpm)''' <syntaxhighlight lang="bash"> which apache2 apache2 -v </syntaxhighlight> * '''MySQL 5.7.44'''(MediaWiki最低要求5.7,官方推荐MongoDB) <syntaxhighlight lang="bash"> which mysql systemctl status mysql </syntaxhighlight> * '''PHP 8.2.27'''(MediaWiki最低要求8.1) <syntaxhighlight lang="bash"> which php php -v </syntaxhighlight> * '''phpMyAdmin 5.2'''(可通过宝塔安装) * '''ffmpeg 6.1'''(可通过宝塔安装) <syntaxhighlight lang="bash"> which ffmpeg ffmpeg -version </syntaxhighlight> === 依赖软件安装 === ==== php-wikidiff2 ==== <syntaxhighlight lang="bash"> apt-get install php-wikidiff2 find /usr/lib/ -name wikidiff2.so nano /www/server/php/82/etc/php.ini extension=/usr/lib/php/20220829/wikidiff2.so php -m | grep wikidiff2 </syntaxhighlight> <syntaxhighlight lang="php"> $wgDiffEngine = "wikidiff2"; $wgDiff3 = "/usr/bin/diff3"; </syntaxhighlight> ==== LilyPond ==== <syntaxhighlight lang="bash"> sudo apt update sudo apt install lilypond lilypond --version </syntaxhighlight> <syntaxhighlight lang="php"> wfLoadExtension( 'Score' ); $wgScoreTrim = true; $wgImageMagickConvertCommand = '/usr/bin/convert'; $wgScoreSafeMode = false; </syntaxhighlight> ==== Ghostscript ==== <syntaxhighlight lang="bash"> sudo apt update sudo apt install ghostscript gs --version </syntaxhighlight> ==== FluidSynth ==== <syntaxhighlight lang="bash"> sudo apt update sudo apt install fluidsynth fluidsynth --version </syntaxhighlight> ==== LAME ==== <syntaxhighlight lang="bash"> sudo apt update sudo apt install lame lame --version </syntaxhighlight> <syntaxhighlight lang="php"> $wgScoreLame = '/usr/bin/lame'; </syntaxhighlight> ==== php-luasandbox ==== <syntaxhighlight lang="bash"> sudo apt update sudo apt install php-luasandbox -y find /usr/lib/php/ -name "luasandbox.so" nano /www/server/php/82/etc/php.ini extension=/usr/lib/php/20220829/luasandbox.so php -m | grep luasandbox </syntaxhighlight> <syntaxhighlight lang="php"> wfLoadExtension( 'Scribunto' ); $wgScribuntoEngineConf['luasandbox']['memoryLimit'] = 50 * 1024 * 1024; </syntaxhighlight> ==== Composer ==== <syntaxhighlight lang="bash"> composer update --no-dev </syntaxhighlight> == 服务器配置 == === Apache相关 === '''禁用防跨站攻击 (open_basedir)''' '''启用HTTPS防窜站''' '''TLS 1.0和1.1禁用''' '''伪静态配置''' <syntaxhighlight lang="apache"> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{REQUEST_URI} !\.(css|js|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot|less)$ [NC] RewriteCond %{REQUEST_URI} !^/load.php [NC] RewriteCond %{REQUEST_URI} !^/api.php [NC] RewriteRule ^w/(.*)$ /index.php?title=$1 [L,QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php [L,QSA] </syntaxhighlight> <syntaxhighlight lang="php"> wfLoadExtension( 'UrlShortener' ); $wgUrlShortenerTemplate = '/r/$1'; $wgUrlShortenerServer = "false"; $wgUrlShortenerEnableQrCode = true; $wgUrlShortenerQrCodeShortenLimit = 200; $actions = [ 'view', 'edit', 'watch', 'unwatch', 'delete', 'revert', 'rollback', 'protect', 'unprotect', 'markpatrolled', 'render', 'submit', 'history', 'purge', 'info', ]; foreach ($actions as $action) { $wgActionPaths[$action] = "/w/$action/$1"; } $wgActionPaths['view'] = "/w/$1"; $wgArticlePath = $wgActionPaths['view']; </syntaxhighlight> === SSL === === Apache安全配置 === <syntaxhighlight lang="apache"> <Directory /www/wwwroot/lib/images/> Options -ExecCGI -Indexes AllowOverride None <FilesMatch "\.(php|php5|pl|py|jsp|asp|htm|html|cgi|sh)$"> Require all denied </FilesMatch> Header always set X-Content-Type-Options "nosniff" </Directory> </syntaxhighlight> === MySQL相关 === '''官方建议''': * 将所有表转为 InnoDB * 将所有表转为 utf8mb4 === PHP相关 === '''需要启用的插件'''(部分已默认启用) <syntaxhighlight lang="bash"> php -m </syntaxhighlight> <syntaxhighlight lang="php"> Core date libxml openssl pcre sqlite3 zlib bcmath ctype curl dom filter ftp gd gettext hash iconv intl json mbstring SPL session pcntl standard mysqlnd PDO pdo_mysql pdo_sqlite Phar posix random Reflection mysqli shmop SimpleXML soap sockets sodium sysvsem tokenizer xml xmlreader xmlwriter wikidiff2 luasandbox zip imagick fileinfo apcu exif calendar </syntaxhighlight> '''需要解除禁用的函数''' <syntaxhighlight lang="php"> proc_open popen putenv </syntaxhighlight> == 站点配置 == === 数据库信息安全 === '''LocalSettings.php''' <syntaxhighlight lang="php"> include('/www/wwwroot/lib.php'); </syntaxhighlight> '''lib.php''' <syntaxhighlight lang="php"> <?php $wgDBserver = 'localhost'; $wgDBname = ''; $wgDBuser = ''; $wgDBpassword = ''; ?> </syntaxhighlight> === 网站Logo === <syntaxhighlight lang="php"> $wgLogos = [ '1x' => "$wgResourceBasePath/Libary-4l.png", 'icon' => "$wgResourceBasePath/Libary-4l.png", ]; $wgFavicon = "$wgResourceBasePath/images/logos/Libary-4l.png"; $wgAppleTouchIcon = "$wgResourceBasePath/images/logos/Libary-4l.png"; $wgFooterIcons['logo'] = [ 'yourcustomicon' => [ 'src' => '/images/logos/Libary-1ll.png ', 'url' => $wgServer, 'alt' => 'Logo', 'height' => '31', 'width' => '68', ], ]; </syntaxhighlight> === 移动端皮肤 === <syntaxhighlight lang="php"> $wgDefaultMobileSkin = 'citizen'; </syntaxhighlight> === MediaWiki维护脚本 === <syntaxhighlight lang="bash"> php maintenance/run.php update.php --quick && \ php maintenance/run.php rebuildrecentchanges.php && \ php maintenance/run.php rebuildall.php && \ php maintenance/run.php rebuildtextindex.php && \ php maintenance/run.php refreshLinks.php && \ php maintenance/run.php cleanupTitles.php --dry-run </syntaxhighlight> == 参见 == [https://www.mediawiki.org/wiki/Download/zh] [https://www.bt.cn/new/download.html] [https://zh.wikipedia.org/wiki/Wikipedia:%E9%A6%96%E9%A1%B5] [https://www.mediawiki.org/wiki/Help:Formatting/zh] [https://www.mediawiki.org/wiki/Help:Magic_words/zh] [https://www.mediawiki.org/wiki/Help:Contents/zh] [https://www.mediawiki.org/wiki/Manual:Contents/zh] [https://www.huijiwiki.com/wiki/CommunityCenter]
该页面嵌入的页面:
模板:Navbox
(
查看源代码
)
模板:Navbox/styles.css
(
查看源代码
)
模板:PageToolsLink
(
查看源代码
)
模板:PageToolsLink/styles.css
(
查看源代码
)
模板:站点帮助文档
(
查看源代码
)
返回
帮助:MediaWiki 安装
。
查看“︁帮助:MediaWiki 安装”︁的源代码
来自陋室