How to use mediawiki on archlinux: Difference between revisions
Jump to navigation
Jump to search
(One intermediate revision by the same user not shown) | |||
Line 18: | Line 18: | ||
extension=igbinary.so | extension=igbinary.so | ||
# /etc/php/conf.d/ 下的 igbinary.ini 关了 redis 拓展,需要打开它 | |||
extension=redis | extension=redis | ||
不打开,MediaWiki 是不可能找到 redis.so 及 valkey.services 的 | # 不打开,MediaWiki 是不可能找到 redis.so 及 valkey.services 的 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 27: | Line 27: | ||
<syntaxhighlight lang="bash" line> | <syntaxhighlight lang="bash" line> | ||
sudo chown -R mysql:mysql /var/lib/mysql | sudo chown -R mysql:mysql /var/lib/mysql | ||
# 创建 root@localhost mysql@localhost,两个账号都无密码 | # 创建 root@localhost mysql@localhost,两个账号都无密码 | ||
# 这里其实创建了数据库类型为 mysql | |||
sudo mariadb-install-db --user=mysql --basedir=/usr/ --ldata=/var/lib/mysql/ | sudo mariadb-install-db --user=mysql --basedir=/usr/ --ldata=/var/lib/mysql/ | ||
Line 35: | Line 37: | ||
# 设置一下 root 密码 | # 设置一下 root 密码 | ||
# 这里其实创建了 mediawiki 后边使用的数据库用户名设为 root | |||
sudo mariadb-admin -u root password YOURPASSWD | sudo mariadb-admin -u root password YOURPASSWD | ||
history -c | history -c |
Latest revision as of 21:14, 16 May 2025
《怎么在 ArchLinux 中使用 MediaWiki》
以下只为尝试。真用,我还是推荐用 Debian,或 WSL2,或云服务器。ArchLinux 只适合年轻人,有精力去试错。
MediaWiki 本体
# 在 archlinux,redis 已经被 valkey 取代了。valkey 兼容 redis 的协议。原本的 redis 在 LocalSettings.php 中的配置方式依然有效
sudo pacman -S mediawiki mariadb php apache php-apache php-intl imagemagick php-imagick php-gd git diffutils valkey php-redis
sudo systemctl start valkeyservice
sudo systemctl enable valkey.service
sudo systemctl status valkey.service
# /etc/php/conf.d/ 下的 igbinary.ini 关了 igbinary 拓展,需要打开它
[igbinary]
extension=igbinary.so
# /etc/php/conf.d/ 下的 igbinary.ini 关了 redis 拓展,需要打开它
extension=redis
# 不打开,MediaWiki 是不可能找到 redis.so 及 valkey.services 的
MariaDB 数据库
sudo chown -R mysql:mysql /var/lib/mysql
# 创建 root@localhost mysql@localhost,两个账号都无密码
# 这里其实创建了数据库类型为 mysql
sudo mariadb-install-db --user=mysql --basedir=/usr/ --ldata=/var/lib/mysql/
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld
# 设置一下 root 密码
# 这里其实创建了 mediawiki 后边使用的数据库用户名设为 root
sudo mariadb-admin -u root password YOURPASSWD
history -c
# 或,可选,用脚本设置 root 密码
sudo mariadb_secure_installation
Apache 服务器
cd /etc/webapps/mediawiki
sudo touch httpd-mediawiki.conf
# 内容如下:
Alias /mediawiki "/usr/share/webapps/mediawiki"
open_basedir = "/tmp:/usr/share/webapps/:/var/lib/mediawiki"
<Directory "/usr/share/webapps/mediawiki">
AllowOverride All
Options FollowSymlinks
Require all granted
</Directory>
sudo touch /usr/share/webapps/mediawiki/.htaccess
# 内容如下:
order allow,deny
allow from all
sudo emacs /etc/httpd/conf/httpd.conf
# 添加以下:
LoadModule php_module modules/libphp.so
Include conf/extra/php_module.conf
Include /etc/webapps/mediawiki/httpd-mediawiki.conf
# 注释掉 mpm_event_module 这一行,启用 mpm_prefork_module 这一行
#LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
sudo emacs /etc/php/php.ini
# C-s 在合适位置设置如下:
open_basedir = "/tmp:/usr/share/webapps/:/var/lib/mediawiki"
# extension=gd.so php-gd php-imagick 二选一就行
extension=intl.so
extension=iconv.so
extension=mysqli.so
extension=redis.so
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl status httpd
调优
sudo emacs /usr/share/webapps/mediawiki/LocalSettings.php
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";