配置CentOS7 + mediawiki + PHP7.3 + mysql8.0 + VisualEditor

前言

最近想做个wiki,接触了一下mediawiki,感觉很不错,来来回回配置了几次,差不多初步熟悉了配置,今天把一切资料转移到正式服务器上,顺便写个博客来记录一下过程。

一:基本环境搭建

1 扩展虚拟内存

服务器内存有点小,只有2G,所以我打算拓展个4G虚拟内存

查看内存情况
free -m

创建要作为swap分区的文件:增加4GB大小的交换分区,则命令写法如下,其中的count等于想要的块的数量(bs*count=文件大小)
dd if=/dev/zero of=/var/swap bs=1M count=4096

格式化为交换分区文件
mkswap /var/swap

启用交换分区文件:
swapon /var/swap

查看下扩充后的内存
free -m


在文件最后加入:
echo '/var/swap swap swap defaults  0 0' >> /etc/fstab
注:ubuntu 不支持barrier,所以正确写法是:
echo '/var/swap swap swap defaults barrier=0  0  0' >> /etc/fstab

2 安装PHP

小心不要安装php73,而是要安装php,然后这个php版本是73

yum -y install gcc gcc-c++
1.要安装PHP 7,您必须使用以下命令在CentOS 7系统上安装和启用EPEL和Remi存储库。
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

2.接下来,您需要安装yum-utils,这是一组用于管理yum存储库和包的有用程序。它有基本上扩展yum默认功能的工具。
它可用于管理(启用或禁用)yum存储库以及包,无需任何手动配置等等。
yum -y install yum-utils

3. yum-utils提供的程序之一是yum-config-manager,您可以使用它来启用Remi存储库作为安装不同PHP版本的默认存储库,如图所示。
yum-config-manager --enable remi-php71 [ 安装PHP 7.1 ]
yum-config-manager --enable remi-php72 [ 安装PHP 7.2 ]
yum-config-manager --enable remi-php73 [ 安装PHP 7.3 ]

4.现在使用以下命令安装PHP 7以及所有必需的模块。
yum -y install php php-mcrypt php-devel php-cli php-gd php-pear php-curl php-fpm php-mysql php-ldap php-zip php-fileinfo 

5.查看php版本
php -v

6.启动php-fpm
systemctl start php-fpm
开启启动
systemctl enable php-fpm.service
查看php.ini文件位置
php -ini

还有一些不知道用不用的到的插件

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel php-apcu php-apcu-bc php-mysqliz

intl一定要安装

 yum install libicu-devel
 yum install php-intl

3安装python

不管三七二十一,先安装上python

yum -y install epel-release
yum repolist
yum -y install python36

4安装mysql8.0

# 安装依赖包
yum install -y libaio wget
# 从mysql官网获取8.0版rpm包
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum localinstall -y mysql80-community-release-el7-3.noarch.rpm
# 查看当前安装的 MySQL 版本
yum repolist enabled | grep mysql
# 通过 Yum 来安装 MySQL,自动处理 MySQL 与其他组件的依赖关系
yum install -y mysql-community-server
# 给与mysql文件夹权限,不然无法启动
chown -R mysql /var/lib/mysql
# 启动mysql
systemctl start mysqld

MySQL安全配置

# 初始化&空密码
mysqld  --initialize-insecure
# 不过不执行上述命令,需要查询一下临时密码
grep 'temporary password' /var/log/mysqld.log
# 安全配置,全部选y,密码规则建议选最高(至少一个大写字母和一个特殊字符)
mysql_secure_installation

5安装Apache

#centos7中apache是httpd
yum -y install httpd
# 启动httpd
systemctl start httpd.service
# 设置为开机启动
systemctl enable httpd.service
# 添加防火墙规则,允许http和https访问
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

6开启HTTPS

yum install -y mod_ssl
# 将证书文件移动到相应文件夹(以腾讯云为例)
mv 1_root_bundle.crt /etc/pki/tls/certs/
mv 2_www.luckycat.xyz.crt /etc/pki/tls/certs/
mv 3_www.luckycat.xyz.key /etc/pki/tls/private/
# 编辑SSL配置文件,写入证书所在位置
vi /etc/httpd/conf.d/ssl.conf
SSLCertificateChainFile /etc/pki/tls/certs/1_root_bundle.crt
SSLCertificateFile /etc/pki/tls/certs/2_sfsettings.com.crt
SSLCertificateKeyFile /etc/pki/tls/certs/3_sfsettings.com.key
# 设定服务器地址
vi /etc/httpd/conf/httpd.conf
ServerName luckycat.xyz:80
# 重启Apache
systemctl restart httpd.service

7HTTP强转HTTPS

查找配置文件并修改/etc/httpd/conf/httpd.conf,主要是把AllowOverride 的值改成All 

<Directory "/var/www/html"> 
    Options Indexes FollowSymLinks 

    AllowOverride All 

    Require all granted

</Directory>

然后在需要跳转的网站根目录,也就是80端口的网站根目录/var/www/html下编辑.htaccess文件,没有就新建

RewriteEngine on          
RewriteBase /             
RewriteCond %{SERVER_PORT} !^443$    
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]    

8部署Nodejs环境

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash

sudo yum -y install nodejs

二 安装mediawiki

1 安装mediawiki

这块建议直接跳转到这:

配置mediawiki

2 VisualEditor与parsoid安装

parsoid安装

yum install git npm

git clone --recursive https://gerrit.wikimedia.org/r/mediawiki/services/parsoid/deploy

git clone https://gerrit.wikimedia.org/r/mediawiki/services/parsoid

cd parsoid

npm install

配置文件

cp config.example.yaml config.yaml

配置细节建议跳转

Parsoid编辑器安装搭建_Micky_Yang的博客-CSDN博客_parsoid

运行parsoid

node bin/server.js

创建启动服务脚本

 vim /usr/lib/systemd/system/parsoid.servic

[Unit]
Description=Mediawiki Parsoid web service on node.js
Documentation=http://www.mediawiki.org/wiki/Parsoid
Wants=local-fs.target network.target
After=local-fs.target network.target

[Install]
WantedBy=multi-user.target

[Service]
Type=simple
User=nobody
Group=nobody
WorkingDirectory=/home/parsoid
EnvironmentFile=-/home/parsoid/parsoid.env
ExecStart=/usr/bin/node /home/parsoid/bin/server.js
KillMode=process
Restart=on-success
PrivateTmp=true
StandardOutput=syslog

systemctl daemon-reload

systemctl enable parsoid && systemctl start parsoid && systemctl status parsoid

查看端口

netstat -tunlp | grep 8000

PS:记得改配置后一定要重启服务

3安装memcached

安装
yum install memcached
运行
memcached -d -l 127.0.0.1 -p 11211 -m 64 -u root

设置LocalSettings.php

$wgMainCacheType = CACHE_MEMCACHED;
$wgParserCacheType = CACHE_MEMCACHED; // optional
$wgMessageCacheType = CACHE_MEMCACHED; // optional
$wgMemCachedServers = [ '127.0.0.1:11211' ];
$wgSessionsInObjectCache = true; // optional -- removed in 1.33+
$wgSessionCacheType = CACHE_MEMCACHED; // optional

查看运行状态

ps -ef|grep memcached

4插件推荐

MediaWiki实用扩展程序介绍 - 忆兰居士的文章 - 知乎 https://zhuanlan.zhihu.com/p/64283626

未完待续

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值