• ECS7天实践进阶训练营Day2:基于阿里云ECS部署MediaWiki


    一、概述

    MediaWiki是全球最著名的开源Wiki程序,运行于PHP+MySQL环境,MediaWiki从2002年被作为维基百科的系统软件,并由大量其他应用实例(例如萌娘百科),因此MediaWiki是建立Wiki网站的首选后台程序。MediaWiki一直保持着持续更新,且经受过重量级应用的考验,功能丰富却架设简单。

    二、LAMP环境部署

    前面我们讲到过,MediaWiki是运行在PHP+MySQL环境中的,且在Day1中我们所创建的ECS服务器镜像是Linux(CentOS7.3),因此适用于LAMP或LNMP方案,本文我们采取最经典的LAMP部署方法。

    在训练营中,阿里云给出的方法是直接从镜像商店找现成的LAMP镜像进行系统盘替换,但好歹我们参加的是进阶训练营,已经有点基础的一雷岂能忍受那么简单的部署方法吗?妥妥的选择手动部署了。Linux手动搭建LAMP环境主要有以下四种方法:

      ① 通过Docker技术搭建:使用方便,安装速度快,但Docker一雷尚未学习

      ② 通过LAMP一键安装包搭建(Shell脚本):使用方便,安装速度慢

      ③ 源码编译安装:使用不方便,安装速度慢,但较大程度的考验了Linux使用能力

      ④ 通过yum源快速安装:使用方便,安装速度快,但功能的自定义性较差

    综上所处,明知山有虎,偏向虎山行的一雷,遂决定源码安装方法。

    A.准备编译环境

    将防火墙及SELinux关闭

    在ECS实例安全组的入方向添加规则放行所需端口

    B.安装Apache

    依次执行如下命令安装依赖包

    1 [root@hoshizora_lei ~]# yum groupinstall -y "Development Tools"
    2 [root@hoshizora_lei ~]# yum install -y libtool
    3 [root@hoshizora_lei ~]# yum install -y expat-devel pcre pcre-devel openssl-devel

    依次运行如下命令下载并解压Apache,Apr和Apr-util源码包

    1 [root@hoshizora_lei ~]# wget https://mirrors.aliyun.com/apache/httpd/httpd-2.4.43.tar.gz
    2 [root@hoshizora_lei ~]# wget https://mirrors.aliyun.com/apache/apr/apr-1.6.5.tar.gz
    3 [root@hoshizora_lei ~]# wget https://mirrors.aliyun.com/apache/apr/apr-util-1.6.1.tar.gz
    4 [root@hoshizora_lei ~]# tar -zxvf httpd-2.4.43.tar.gz -C /usr/local/src
    5 [root@hoshizora_lei ~]# tar -zxvf apr-1.6.5.tar.gz -C /usr/local/src
    6 [root@hoshizora_lei ~]# tar -zxvf apr-util-1.6.1.tar.gz -C /usr/local/src

    依次运行如下命令把Apr和Apr-util的文件夹移到Apache的srclib文件夹下

    依次运行如下命令编译源码

    涉及重要指令:

    [root@hoshizora_lei ~]# ./buildconf
    [root@hoshizora_lei ~]# ./configure --prefix=/usr/local/apache2 
    --enable-ssl 
    --enable-so 
    --with-mpm=event 
    --with-included-apr 
    --enable-cgi 
    --enable-rewrite 
    --enable-mods-shared=most 
    --enable-mpms-shared=all
    [root@hoshizora_lei ~]# make && make install

    设置PATH环境变量

    [root@hoshizora_lei ~]# echo "export PATH=$PATH:/usr/local/apache2/bin" > /etc/profile.d/httpd.sh
    [root@hoshizora_lei ~]# source /etc/profile.d/httpd.sh

    运行httpd -v命令可查看Apache的版本号

    添加Apache启动配置文件

    涉及重要配置信息:

    [Unit] 
    Description=The Apache HTTP Server 
    After=network.target 
    
    [Service] 
    Type=forking 
    ExecStart=/usr/local/apache2/bin/apachectl -k start 
    ExecReload=/usr/local/apache2/bin/apachectl -k graceful 
    ExecStop=/usr/local/apache2/bin/apachectl -k graceful-stop 
    PIDFile=/usr/local/apache2/logs/httpd.pid 
    PrivateTmp=false
    
    [Install] 
    WantedBy=multi-user.target

    服务开启,设置开机自启动

    查看安装结果

    在浏览器中输入http://ECS实例公网IP,若跳出如下界面,即Apache服务启动成功

    C.安装MySQL

    准备MySQL编译环境和工作目录

    [root@hoshizora_lei ~]# yum install -y ncurses-devel bison gnutls-devel
    [root@hoshizora_lei ~]# yum install -y cmake

    依次运行如下命令下载MySQL源码包并解压

    [root@hoshizora_lei ~]# wget https://dev.mysql.com/get/Downloads/mysql-5.6.24.tar.gz
    [root@hoshizora_lei ~]# tar -zxvf mysql-5.6.24.tar.gz -C /usr/local/src

    涉及重要配置信息:

    [root@hoshizora_lei ~]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
    -DMYSQL_DATADIR=/mnt/data 
    -DSYSCONFDIR=/etc 
    -DWITH_INNOBASE_STORAGE_ENGINE=1 
    -DWITH_ARCHIVE_STORAGE_ENGINE=1 
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 
    -DWITH_READLINE=1 
    -DWITH_SSL=system 
    -DWITH_ZLIB=system 
    -DWITH_LIBWRAP=0 
    -DMYSQL_TCP_PORT=3306 
    -DDEFAULT_CHARSET=utf8 
    -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock 
    -DDEFAULT_COLLATION=utf8_general_ci 
    -DWITH_SYSTEMD=1 
    -DINSTALL_SYSTEMD_UNITDIR=/usr/lib/systemd/system

     

    初始化数据库并复制配置文件

    修改配置文件中的安装路径及数据目录存放路径

    [root@hoshizora_lei ~]# echo -e "basedir = /usr/local/mysql
    datadir = /mnt/data
    " >> /etc/my.cnf

    修改MySQL启动配置文件

    涉及重要配置信息:

    [Unit]
    Description=MySQL Community Server
    After=network.target
    After=syslog.target
    
    [Install]
    WantedBy=multi-user.target
    Alias=mysql.service
    
    [Service]
    User=mysql
    Group=mysql
    PermissionsStartOnly=true
    ExecStart=/usr/local/mysql/bin/mysqld
    TimeoutSec=600
    Restart=always
    PrivateTmp=false

    设置PATH环境变量

    [root@hoshizora_lei ~]# echo "export PATH=$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh
    [root@hoshizora_lei ~]# source /etc/profile.d/mysql.sh

    服务开启,设置开机自启动

    修改MySQL的root用户密码,并按界面提示设置密码

    查看安装结果

    D.安装PHP

    安装依赖包

    [root@hoshizora_lei ~]# yum install -y libmcrypt libmcrypt-devel mhash mhash-devel libxml2 libxml2-devel bzip2 bzip2-devel

    依次运行如下命令下载源码包并解压编译安装

    涉及重要配置信息:

    [root@hoshizora_lei ~]# wget https://cn2.php.net/get/php-7.0.32.tar.bz2/from/this/mirror
    [root@hoshizora_lei ~]# ./configure --prefix=/usr/local/php 
    --with-config-file-scan-dir=/etc/php.d 
    --with-apxs2=/usr/local/apache2/bin/apxs 
    --with-config-file-path=/etc 
    --with-pdo-mysql=mysqlnd 
    --with-mysqli=/usr/local/mysql/bin/mysql_config 
    --enable-mbstring 
    --with-freetype-dir 
    --with-jpeg-dir 
    --with-png-dir 
    --with-zlib 
    --with-libxml-dir=/usr 
    --with-openssl 
    --enable-xml 
    --enable-sockets 
    --enable-fpm 
    --with-bz2

    复制PHP的配置文件

    [root@hoshizora_lei ~]# cp php.ini-production /etc/php.ini

    编辑Apache配置文件

    [root@hoshizora_lei ~]# vim /usr/local/apache2/conf/httpd.conf

        找到ServerName参数,添加ServerName localhost:80

        

        找到Directory参数,在Require all denied前面添加#,然后添加Require all granted

        

        找到DirectoryIndex index.html,将它替换为DirectoryIndex index.php index.html

        

        找到如下内容,在后面添加如下内容

        

        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps

        

    添加Apache对解析PHP的支持

    Apache服务重启,验证是否解析成功

     

    E.PHPMyAdmin部署(可选)

    依次运行如下指令准备PHPmyadmin的数据存放目录

    [root@hoshizora_lei ~]# mkdir -p /usr/local/apache2/htdocs/phpmyadmin

    依次运行如下指令下载PHPmyadmin压缩包并解压

    [root@hoshizora_lei ~]# wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.zip
    [root@hoshizora_lei ~]# unzip phpMyAdmin-4.0.10.20-all-languages.zip

    运行此指令,复制PHPmyadmin文件到准备好的数据存放目录

    [root@hoshizora_lei ~]# mv phpMyAdmin-4.0.10.20-all-languages/* /usr/local/apache2/htdocs/phpmyadmin

    验证结果,在浏览器上输入http://ECS实例公网IP/phpmyadmin,出现如下界面,则说明phpmyadmin安装成功

    再次验证,输入阿里云ECS实例的MySQL服务用户名和密码。单击执行,如果出现以下页面,说明MySQL连接成功。

    至此,PHPmyadmin部署完成。同时,LAMP完整结构已经部署完成。

    三、MediaWiki部署

    下载MediaWiki源码包

    下载地址:https://releases.wikimedia.org/mediawiki/1.29/mediawiki-1.29.1.tar.gz

    使用Xftp,将之前网站项目(默认主页)的文件转移到备份文件夹中

    将源码包上传至ECS实例中

    解压缩,将解压缩后的文件移动到网站根目录下

    为目录赋权(如无用户则需使用useradd指令创建用户)

    [root@hoshizora_lei ~]# useradd -s /sbin/nologin www

    访问http://ECS公网IP,点击set up the wiki

    将下载的 LocalSettings.php 文件上传到根目录

    重新访问http://ECS公网IP,就可以访问新搭建的wiki系统了

    至此,MediaWiki的部署过程全部展示完毕

    MeidiaWiki中的更多强大功能还请各位自行挖掘,体会搭建属于自己的wiki的魅力。

  • 相关阅读:
    15.接口
    14.抽象类
    13.系统总结static
    免费的Lucene 原理与代码分析完整版下载
    CODE大全浅谈谷歌adsense与PIN码
    CSDN社区投诉申请表
    Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档
    CODE大全告诉你java是否开始没落了
    Jsoup教程jsoup开发指南,jsoup中文使用手册,jsoup中文文档
    CODE大全——机器学习
  • 原文地址:https://www.cnblogs.com/lilywhite/p/13453911.html
Copyright © 2020-2023  润新知