ECS7天實踐進階訓練營Day2:基於阿里雲ECS部署MediaWiki

悲催世界一雷發表於2020-08-07

一、概述

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\ndatadir = /mnt/data\n" >> /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服務重啟,驗證是否解析成功

 

二、LAMP環境部署

下載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的魅力。

相關文章