什么是 MediaWiki ?
mediawiki 是一个最初为 维基百科 量身打造的自由开源的wiki套件,用PHP语言写成。现在,非营利的 维基媒体基金会 下辖的所有 wiki 项目、互联网上的众多其他wiki网站以及MediaWiki主页都建基于此套软件上。
Wiki是一种在 万维 网上开放且可供多人协同创作的超文本系统,由沃德·坎宁安于1995年首先开发。 沃德·坎宁安 将wiki定义为“一种允许一群用户用简单的描述来创建和连接一组网页的社会计算系统”。
安装Nginx
添加 Nginx 到 yum 源中
rpm -Uvh
使用下面命令开始安装Nginx
yum -y install nginx
通过下面命令将 nginx 开机自启动。
systemctl start nginxsystemctl enable nginx
可以通过下面命令来检查nginx是否已经正常安装,
[root@localhost yum.repos.d]# systemctl status nginx● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2021-09-21 19:49:54 PDT; 3h 12min ago Process: 3623 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 3621 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 3618 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 3625 (nginx) Tasks: 2 CGroup: /system.slice/nginx.service ├─3625 nginx: master process /usr/sbin/nginx └─3627 nginx: worker processSep 21 19:49:54 localhost.localdomain systemd[1]: Starting The nginx HTTP and reverse proxy server...Sep 21 19:49:54 localhost.localdomain nginx[3621]: nginx: the configuration file /etc/nginx/nginx.conf syntax is okSep 21 19:49:54 localhost.localdomain nginx[3621]: nginx: configuration file /etc/nginx/nginx.conf test is successfulSep 21 19:49:54 localhost.localdomain systemd[1]: Started The nginx HTTP and reverse proxy server.[root@localhost yum.repos.d]#
安装和配置 PHP-FPM
通过第三源
rpm -Uvh
通过下面命令安装PHP 7.0
yum -y install ImageMagick php70w-fpm php70w-intl php70w-xml php70w-curl php70w-gd php70w-mbstring php70w-mysql php70w-cli php70w-pear php70w-pecl-apcu
编辑phh.ini
vim /etc/php.ini
将php.ini中的 cgi .fix_pathinfo值修改为0
cgi.fix_pathinfo=0
编辑PHP-FPM的配置文件 ‘www.conf’
vim /etc/php-fpm.d/www.confuser = nginx #修改user的值为nginxgroup = nginx #修改group的值为nginxlisten = /run/php-fpm/php-fpm.sock #change the value of the variable 'listen' to the 'php-fpm.sock' filelisten.owner = nginxlisten.group =nginxlisten.mode = 0660env[HOSTNAME] = $HOSTNAME #取消注释env[PATH] = /usr/local/bin:/usr/bin:/bin #取消注释env[ TMP ] = /tmp #取消注释env[TMPDIR] = /tmp #取消注释env[TEMP] = /tmp #取消注释
创建会话目录
mkdir -p /var/lib/php/session/chown -R nginx:nginx /var/lib/php/session/
设置PHP-FPM 开机自启动
systemctl start php-fpmsystemctl enable php-fpm
用下面命令检查PHP-FPM 是否正常启动
netstat -pl | grep php
安装和配置 MariaDB 数据库
使用下面的命令安装 MariaDB数据库
yum -y install mariadb mariadb-server
安装完成后设置为开机自启动。
systemctl start mariadbsystemctl enable mariadb
使用下面的命令设置数据库的root密码
mysql_secure_installation
Set root password? [Y/n] Y TYPE ROOT PASSWORD HERE
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
接下来我们将用下面的命令为 MediaWiki创建一个数据库。
数据库名称: mediawikidb
用户名和密码为: mediawiki/mediawiki
mysql -u root -pcreate database mediawikidb;grant all privileges on mediawikidb.* to mediawiki@'localhost' identified by 'mediawiki';flush privileges;exit;
下载和配置MediaWiki
安装 git 和其他的安装包,命令如下
yum -y install git zip unzip composer
安装完成后,创建新的 /var/www/mediawiki目录并通过git将mediawiki的源代码clone。
mkdir -p /var/www/mediawiki wget
解压文件并移动文件
tar xvf mediawiki-1.32.6.tar.gzmv mediawiki-1.32.6/* /var/www/mediawiki/
现在将mediawiki目录的所有权权限更改为’nginx’(用户和组)。
chown -R nginx:nginx /var/www/mediawiki
为MediaWiki配置Nginx虚拟主机
在/etc/nginx目录下,使用vim编辑器创建新的配置文件 “mediawiki.conf”
cd /etc/nginx/vim conf.d/mediawiki.conf chmod -R 755 mediawiki.conf
其中的mediawiki的配置内容如下:
server { listen 80; server_name wiki.server.com; #设置为自己的域名 access_log /var/log/nginx/mediawiki_access.log; error_log /var/log/nginx/mediawiki_error.log warn; root /var/www/mediawiki; index index.php index.html; client_max_body_size 50m; client_body_buffer_size 1024k; location / { index index.php index.html; try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi _pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_read_timeout 120; }}
重启Nginx生效
service nginx restart
如果主机的资源足够,可以给多一点资源,提高编辑文章的速度。
client_max_body_size 50m;client_body_buffer_size 1024k;
访问mediaWIKI初始化
访问 如下图:
按照页面提示一步一步完成初始化配置。完成后会生成一个 LocalSettings.php.这个文件的主要配置和设定如下:
vim /var/www/mediawiki/LocalSettings.php$wgSitename = "這是維基的抬頭名稱";$wgServer = "#34;;$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png"; #LOGO圖片#管理員通知$wgEnableEmail = true;$wgEnableUserEmail = true; # UPO$wgEmergencyContact = "scott@mail.com";$wgPasswordSender = "scott@mail.com";# Database settings$wgDBtype = "mysql";$wgDBserver = "192.168.10.5";$wgDBname = "mediawiki";$wgDBuser = "wiki_USER";$wgDBpassword = "password";# Shared memory settings$wgMainCacheType = CACHE_ACCEL;$wg memcache dServers = array(); #如果你有memcache server就可以支援# 圖片上傳和轉檔$wgEnableUploads = true;$wgUseImageMagick = true;$wgImageMagickConvertCommand = "/usr/bin/convert";
参考
官方 LocalSettings document
MediaWIKI官网: