How to use mediawiki on archlinux: Difference between revisions

From 清冽之泉
Jump to navigation Jump to search
Line 72: Line 72:
extension=iconv.so
extension=iconv.so
extension=mysqli.so
extension=mysqli.so
extension=redis.so
</syntaxhighlight>
</syntaxhighlight>



Revision as of 00:04, 15 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

MariaDB 数据库

sudo chown -R mysql:mysql /var/lib/mysql
# 创建 root@localhost mysql@localhost,两个账号都无密码
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 密码
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";