How to use mediawiki on archlinux

From 清冽之泉
Jump to navigation Jump to search

《怎么在 ArchLinux 中使用 MediaWiki》

以下只为尝试。真用,我还是推荐用 Debian,或 WSL2,或云服务器。ArchLinux 只适合年轻人,有精力去试错。

MediaWiki 本体

sudo pacman -S mediawiki mariadb php apache php-apache php-apcu php-intl imagemagick php-imagick php-gd git diffutils

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/

systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld

# 设置一下 root 密码
sudo mariadbadmin -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"
<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

systemctl start httpd
systemctl enable httpd
systemctl status httpd

调优

sudo emacs /usr/share/webapps/mediawiki/LocalSettings.php
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";