linux LNMP安装mediawiki

系统配置:
Debian 10.5
硬盘:40G
内存:1G
特别备注:本人使用以下教程搭建的wiki: http://wiki.mosiwi.com/

一、LNMP一键安装包

注意:相比于nginx,apache比较费资源,主要表现在进程多,内存占用高,内存不释放等问题。

1、一个标准安装的 MediaWiki 除软件自身以外,还需要安装下列环境,所以使用LNMP一键安装包:
Web 服务器:用于服务客户端浏览器的请求。
数据库服务器:用于储存网站页面与数据,MySQL 5.5.8+ 或 MariaDB 5.1+
PHP 运行环境:由于上游漏洞,MediaWiki与PHP 7.3.0 - 7.3.18和7.4.0 - 7.4.2不兼容。 请使用PHP 7.3.19+或7.4.3+代替
也可以查看MediaWik官网i配置要求:https://www.mediawiki.org/wiki/Manual:Installation_requirements/zh

2、LNMP一键安装官网:https://lnmp.org
2.1、下载lnmp:

wget http://soft.vpser.net/lnmp/lnmp1.8.tar.gz -cO lnmp1.8.tar.gz && tar zxf lnmp1.8.tar.gz && cd lnmp1.8

2.2、开启PHP的fileinfo扩展:
LAMP安装如果没有启动fileinfo扩展,需要手动开启,否者会导致mediawiki安装出错。
修改lnmp安装包目录下的 lnmp.conf 文件,将里面的 Enable_PHP_Fileinfo=‘n’ 改成 Enable_PHP_Fileinfo=‘y’

如果是未安装过的跳过以下步骤,如果是升级PHP的执行下面步骤:
然后再执行 ./upgrade.sh phpa 就会默认安装 fileinfo 这个扩展。
更多upgrade.sh的用法查看:https://lnmp.org/faq/lnmp1-2-upgrade.html

2.3、安装lamp:

./install.sh lamp

如需要安装LNMPA或LNMP,将./install.sh 后面的参数lnmp替换为lnmpa或lnmp即可。同时也支持单独安装Nginx或数据库,命令为 ./install.sh nginx 或 ./install.sh db。如需更改网站和数据库目录、自定义Nginx参数、PHP参数模块、开启lua等需在运行./install.sh 命令前修改安装包目录下的 lnmp.conf 文件,详细可以查看lnmp.conf文件参数说明

目前提供了较多的MySQL、MariaDB版本和不安装数据库的选项,需要注意的是MySQL 5.6,5.7及MariaDB 10必须在1G以上内存的更高配置上才能选择,运行上述LAMP安装命令后,会出现如下提示:
在这里插入图片描述

上一步骤选择的是MySQL,设置MySQL的root密码,如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需要Backspace键):
在这里插入图片描述

输入后回车进入下一步,询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n,(MySQL 5.7+版本无法关闭InnoDB),输入完成,回车进入下一步,如下图所示:
在这里插入图片描述
选择PHP版本:
在这里插入图片描述
选择是否安装内存优化,可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。
在这里插入图片描述
置管理员邮箱,该邮箱会在报错时显示在错误页面上:
在这里插入图片描述
选择默认Apache版本:
在这里插入图片描述

提示"Press any key to install…or Press Ctrl+c to cancel"后,按回车键确认开始安装。
在这里插入图片描述
LAMP相关软件安装目录
MySQL 目录 : /usr/local/mysql/
PHP目录 : /usr/local/php/
Apache目录:/usr/local/apache/

二、安装 MediaWiki

MediaWik官网:https://www.mediawiki.org/

1、下载 MediaWiki 软件
Command line (*nix machine)

cd /home/wwwroot/
wget https://releases.wikimedia.org/mediawiki/1.36/mediawiki-1.36.2.tar.gz

2、解压安装包

tar xvzf mediawiki-*.tar.gz 

3、备份default文件夹与设定mediawiki默认web目录,default为服务器默认的web目录。

mv -f default default_backup
mv -f mediawiki-1.36.2 default

4、网页输入http://IP/,启动mediawiki初始配置
在这里插入图片描述
设定好使用语言与前端显示语言会调到下图,然后继续下一步,出现的警告再后续再进行处理。
在这里插入图片描述
接着按提示填写即可。

配置完成
在这里插入图片描述
需要将配置文件拷贝到mediawiki的根目录下,如需重新配置请删除该文件,然后重新在浏览器输入IP进行重新配置。
在这里插入图片描述
进入mediawiki
在这里插入图片描述

三、修改配置过程的小错误

1、警告:找不到APCu或WinCache。对象缓存未启用。
需要重新安装APCu,安装包在下载的lnmp1.8安装包中。

cd /root/lnmp1.8
./addons.sh

lnmp官网查看图像处理:https://lnmp.org/faq/addons.html
选择 6 安装,并输入一个密码
在这里插入图片描述
2、找不到GNU diff3文字对比工具程序,您可以暂时忽略它,但可能会更频繁遇到编辑冲突。
修改mediawiki最后的生成的“LocalSettings.php”配置文件。
在这里插入图片描述
https://www.mediawiki.org/wiki/Manual:$wgDiff3
https://www.mediawiki.org/wiki/Manual:Configuration_settings

3、Git版本控制软件未找到,您可以暂时忽略他,另请注意Special:Version不会显示提交散列。
跳过此提示,后续安装。

四、装饰mediawiki

官网教程:https://www.mediawiki.org/wiki/Help:Contents

开启可视化编辑器
1、在mediawiki的“LocalSettings.php”配置文件末尾加入如下代码。

wfLoadExtension( 'VisualEditor' );

2、重启服务器。

sudo reboot

3、打开网页。
在这里插入图片描述
更改左上角的logo
官网教程:https://www.mediawiki.org/wiki/Manual:LocalSettings.php
修改“LocalSettings.php”配置文件,删除或者屏蔽掉原来的logo,新增:

$wgLogos = [ '1x' => "$wgResourceBasePath /resources/assets/xxx.png" ];
// 或者
$wgLogos = [ '1x' => "URL" ];

更改右下角的logo
官网参考:https://www.mediawiki.org/wiki/Manual:$wgFooterIcons

1、去除logo,在“LocalSettings.php”文件末尾新增如下代码:

unset( $wgFooterIcons['poweredby'] );

2、新增自定义logo,在“LocalSettings.php”文件末尾新增如下代码:

$wgFooterIcons['poweredby']['myicon'] = [
	"src" => "/path/to/my/image.png",
    // you may also use a direct path to the source, e.g. "http://example.com/my/custom/path/to/MyCustomLogo.png"
	"url" => "http://example.com/",
	"alt" => "Some text here...",
	// For HiDPI support, you can specify paths to larger versions of the icon.
	"srcset" =>
		"/path/to/1.5x_version.png 1.5x, " .
		"/path/to/2x_version.png 2x",
	// If you have a non-default sized icon you can specify the size yourself.
	"height" => "31",
	"width" => "88",
];

修改侧边栏
在mediawiki官网的搜索框中输入“sidebar”即可查找到相关信息。
官网参考资料:https://www.mediawiki.org/wiki/Manual:Interface/Sidebar

打开修改侧边栏方法
1、在浏览器中输入“ http://yourdomain/wiki/index.php?title=MediaWiki:Sidebar&action=edit ”;
或者:“http://yourdomain/index.php/MediaWiki:Sidebar”。

2、在你wiki网站中搜索“MediaWiki:Sidebar ”。
原始代码:

* navigation
** mainpage|mainpage-description
** recentchanges-url|recentchanges
** randompage-url|randompage
** helppage|help-mediawiki
* TOOLBOX
* SEARCH
* LANGUAGES

示例说明:

*  一级标题
** URL |二级标题

新建页面
官网参考资料:https://www.mediawiki.org/wiki/Help:Starting_a_new_page

新手建议直接在你的wiki页面搜索框中输入你要新建页面的名称,wiki会自动新建一个空白页面,然后编辑保存即可:
在这里插入图片描述
编辑页面
编写页面文本格式请参考:https://www.mediawiki.org/wiki/Help:Formatting

1、隐藏与显示目录编辑
当标题大于或者等于4个的时候页面会自动生成此目录。
在浏览器中输入“http://yourdomain/index.php//MediaWiki:Common.css”,即可编辑目录格式。
官网参考资料:https://www.mediawiki.org/wiki/Manual:Table_of_contents

2、配置使能图片功能
官网资料:https://www.mediawiki.org/wiki/Manual:Configuring_file_uploads

2.1、确保php.ini文件中:
nano中使用“Ctrl + /”查找file_uploads = On。

file_uploads = On

查找php.ini文件:

find / -name "php.ini"

2.2、确保images文件有可执行权限。

sudo chmod 777 /home/wwwroot/default/images

2.3、确认 .htaccess文件在images文件夹内,它使得images文件夹更安全。

cd /home/wwwroot/default/images
ls -al

2.4、修改LocalSettings.php文件开启图片上传功能

$wgEnableUploads = true; # Enable uploads
# $wgEnableUploads = false; # Disable uploads

2.5、LocalSettings.php文件增加以下代码,设置上传权限

# To prevent normal users from uploading files:
$wgGroupPermissions['user']['upload'] = false;
# To prevent normal users from overriding existing files:
$wgGroupPermissions['user']['reupload'] = false;

2.6、LocalSettings.php文件增加以下代码,配置允许上传文件类型

$wgFileExtensions  =  array (  'png' ,  'gif' ,  'jpg' ,  'jpeg' ,  'doc' , 
    'xls' ,  'mpp' ,  'pdf' ,  'ppt' ,  'tiff' ,  'bmp' ,  ' docx' ,  'xlsx' , 
    'pptx' ,  'ps' ,  'odt' ,  'ods' ,  'odp' ,  'odg' , 'zip', 'rar'
);

3、图片上传、查看、使用、使用站外图片
3.1、上传
官网资料:https://www.mediawiki.org/wiki/Help:Managing_files
点击侧边栏“Tools”—>“Upload file”
在这里插入图片描述
上传新文件后,它不会自动出现在任何页面上——甚至不会出现在您点击“上传文件”链接时所在的页面。

3.2、查看
有许多特殊页面可帮助您查看和管理已上传的文件。转到“Special pages”(在左侧的“Tools”中),然后查看…

Gallery of new files - 如果您刚刚上传了一个文件,您将在此处看到它。
File list - 显示所有文件。
Unused files - 帮助您追踪可能不需要的文件。

3.3、使用
官网资料:https://www.mediawiki.org/wiki/Help:Images
http://wiki.cokoino.com/index.php/File:CKK0008.jpg

3.4、使用站外图片
在LocalSettings.php中插入下行:

 Manual:$wgAllowExternalImages = true;

直接将图片外链插入文本,不用任何修饰。比如xxx://xxx.xxx.xxx/xxx.jpg。

根据官网说的,链接要提供图片后缀,或者是自己要手动添加。 官网说明: (MediaWiki will only recognize image URLs with image file extensions; you may need to add a ‘fake’ parameter to the end of some URLs, like “&junk=junk.png” or “?.png” to force the parser to realize the Image_URL actually points to an image, so that it will embed it.)

使用教程:https://www.mediawiki.org/wiki/Manual:$wgAllowExternalImages

3.5、去除url 中index.php显示
默认的 MediaWiki URL看起来像www.example.com/index.php?title=TITLE ,这有点难看。 为了使其对搜索引擎更加友好,我们将其更改为对SEO友好的URL,例如www.example.com/TITLE 。

第1步,打开LocalSettings.php(位于MediaWiki安装根文件夹中(default))并添加以下行:

$wgArticlePath = "/$1";

第2步。MediaWiki的安装根文件夹(default)中创建一个“.htaccess”文件,并放置以下几行:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?title=$1 [NC,L,QSA]

4、分类
4.1、在侧边栏加入如下代码即可添加分类

* 侧边栏显示名称
** Category:类名|类的页面名称
.
.
.

示例:
* Category
** Category:Shield|Shield
** Category:Starter Kit|Starter Kit
** Category:Smart Car|Smart Car
** Category:Sensor|Sensor
** Category:3D Printer|3D Printer

4.2、在页面代码最底部添加如下代码即可将该页面加入类别中:

[[Category: xxx]]

4.3、进入阅读页面,点击分类即可进入所属的分类页面。

5、官网有许多常见问题解答,可以快速让搭建wiki:
https://www.mediawiki.org/wiki/Manual:FAQ#How_can_I_hide_the_table_of_contents?

占用内存过高解决方法

查看进程内存占用:

top

然后 Shift+m :
在这里插入图片描述

解决MYSQL占内存高
方法1(选取于网络,针对自己的服务器没起作用)
修改my.cnf参数:

cd /usr/local/mysql
sudo nano my.cnf

修改文件以下几个参数:

performance_schema_max_table_instances=400  
table_definition_cache=400  
table_open_cache=256

重启mysql服务。我这里遇到的没解决,不知道其他人能够解决问题,物理 内存300M以及虚拟内存1G依旧,没改善。

方法2:(解决了当前自己遇到的问题)
要关闭 Performance Schema ,5.6默认开启的,占用内存过高可以关闭。

cd /usr/local/mysql
sudo nano my.cnf

在文件的最后添加一句:

performance_schema = OFF

HTTPD占内存过高解决
用以下方法查看MPM的工作模式:

export PATH=/usr/local/apache/bin:$PATH
httpd -V

查看得知为event模式:
在这里插入图片描述
按下面数值修改:

sudo nano /usr/local/apache/conf/extra/httpd-mpm.conf

# event MPM
# StartServers: initial number of server processes to start
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestWorkers: maximum number of worker threads
# MaxConnectionsPerChild: maximum number of connections a server process serves
#                         before terminating

# default
# MinSpareThreads         75
# MaxSpareThreads         250
# MaxConnectionsPerChild  0 
<IfModule mpm_event_module>
    StartServers            3
    MinSpareThreads         5
    MaxSpareThreads         25
    ThreadsPerChild         25
    MaxRequestWorkers       400
    MaxConnectionsPerChild  200  
</IfModule>

优化内存脚本:

#!/bin/bash

while true
do
        # Read unused memory
        free_memory=`free -m | grep Mem | awk '{print $4}'`
        if(($free_memory<150)); then
                # Clear all caches
                sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
                sleep 10

                # Read unused memory
                free_memory=`free -m | grep Mem | awk '{print $4}'`
                if(($free_memory<155)); then
                        echo "  No memory!"
                        # restart apache
                        sudo /usr/local/apache/bin/apachectl restart
                fi
        fi
        sleep 10
done
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 安装LNMPLinux + Nginx + MySQL + PHP)可以提供一个高效的Web服务器环境。以下是安装步骤: 1. 安装Linux操作系统,例如Ubuntu、CentOS等。 2. 安装Nginx,可以使用命令sudo apt-get install nginx或yum install nginx进行安装。 3. 安装MySQL,可以使用命令sudo apt-get install mysql-server或yum install mysql-server进行安装。 4. 安装PHP,可以使用命令sudo apt-get install php或yum install php进行安装。 5. 配置Nginx和PHP,可以编辑Nginx配置文件和PHP配置文件,使它们能够协同工作。 6. 测试LNMP环境,可以在Web浏览器中输入服务器IP地址或域名,查看是否能够正常访问Web页面。 以上是安装LNMP的基本步骤,具体操作可以参考相关文档或教程。 ### 回答2: 在这个数字化时代,很多网站和应用都需要在服务器上运行。Linux是开源的操作系统,因此它是Web服务器的常见选择。因为中国人口众多,因此中文网站非常流行。LNMP是指Linux,Nginx,MySQL和PHP。这是一套将Linux用作操作系统的服务器软件,而用于运行Web应用程序的服务器软件是Nginx,MySQL是用于存储和管理数据的数据库,PHP用于编写Web应用程序的语言。 现在,我将使用具体步骤,向您介绍如何在Linux安装LNMP。 第一步:安装Linux操作系统。 首先,您需要在服务器上安装Linux操作系统。 Debian,Ubuntu或CentOS都是常见的选择。 第二步:安装Nginx服务器 在Linux操作系统中,使用以下命令安装Nginx服务器。 sudo apt-get update sudo apt-get install nginx 然后,您可以启动Nginx服务器。 sudo systemctl start nginx 第三步:安装MySQL数据库 要安装MySQL数据库,在终端中键入以下命令。 sudo apt-get install mysql-server mysql-client 接下来,启动MySQL服务器。 sudo systemctl start mysql 第四步:安装PHP 使用以下命令安装PHP。 sudo apt-get install php-fpm php-mysql 然后,您可以启动PHP-FPM。 sudo systemctl start php7.0-fpm 第五步:配置Nginx服务器以适用于PHP应用程序 在Nginx服务器中,您需要对配置文件进行一些更改,以便使它适用于PHP应用程序。 打开Nginx配置文件 sudo nano /etc/nginx/sites-available/default 找到以下行。 index index.html index.htm; 更改为以下行。 index index.php index.html index.htm; 在server数组中,添加以下内容。 location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } 保存文件并关闭它。 第六步:重启Nginx服务器 使用以下命令重启Nginx服务器。 sudo systemctl restart nginx 现在您已成功在Linux操作系统上安装LNMP。 您可以测试PHP的安装,您可以创建一个简单的PHP文件“index.php”,并打开它以查看结果。 ### 回答3: LNMP是指Linux、Nginx、MySQL和PHP的组合,LNMP是一款优秀的WEB服务器技术架构,它成为最流行的WEB服务器技术架构,在国内和国际市场上得到了广泛的应用。本文将介绍如何在Linux服务器上安装LNMP。 1.安装Linux操作系统 首先,我们需要安装Linux操作系统。Linux操作系统支持多个发行版本,例如CentOS、Debian、Red Hat、Ubuntu等。根据需求,选择一个最合适的发行版本的Linux操作系统进行安装。对于初学者,建议使用CentOS或Ubuntu,这些版本容易安装和配置。 2.安装Nginx 接下来,我们需要安装Nginx。Nginx是一款高性能、高并发和轻量级的Web服务器软件。Nginx可以作为一个HTTP、反向代理、负载均衡器和HTTP缓存服务器使用。在Linux系统上安装Nginx,可以使用以下命令: $ sudo apt-get install nginx 3.安装MySQL 然后,我们需要安装MySQL,一个开放源码的关系型数据库系统。MySQL是最受欢迎的数据库之一,它可以适应各种规模的应用。在Linux系统上安装MySQL,可以使用以下命令: $ sudo apt-get install mysql-server 4.安装PHP 最后,我们需要安装PHP,一个流行的开源编程语言,用于Web应用程序。PHP可以用来开发Web应用程序、桌面软件、命令行脚本等。在Linux系统上安装PHP,可以使用以下命令: $ sudo apt-get install php-fpm php-mysql 5.测试LNMP安装是否成功 安装完毕后,我们需要测试LNMP是否安装成功。我们可以在Web服务器的默认文档目录/var/www/html/index.html下创建一个新文件,并将其命名为index.php。然后,在index.php文件中添加以下代码: <?php phpinfo(); ?> 保存文件并在Web浏览器中访问index.php文件,如果你的LNMP安装成功,将会显示PHP配置信息和其他相关信息。 总结 以上是安装LNMP的简要步骤,当然在实际操作中会涉及到更多的细节和问题,需要根据具体情况进行处理。总之,安装LNMP需要对Linux操作系统和相关软件有一定的了解。如果你是初学者,可以参考此教程来了解如何安装LNMP,并逐步学习更复杂的配置和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值