一、概述
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的魅力。