1. 程式人生 > >centos7.3實現基於原始碼編譯安裝LAMP的wordpress應用

centos7.3實現基於原始碼編譯安裝LAMP的wordpress應用

WordPress應用

   是一款基於PHP開發的部落格釋出平臺。使用者可以在支援PHP和MySql的系統上,輕鬆地搭建WordPress部落格系統,並在上面釋出自己的部落格文章。

   關於LAMP,之前的文章中已經有過很多的介紹,感興趣的朋友可以去檢視我之前的文章。

   今天我們直接介紹,如何直接原始碼編譯安裝LAMP,並且在配置好環境的系統上部署WordPress應用。

使用指令碼一鍵安裝LAMP

   在實際生產中,手動操作,人肉運維往往費時費力, 這裡給大家推薦一個一鍵安裝LAMP的指令碼,這是我的github,可以關注一下,指令碼還有很多需要完善的地方,歡迎留言一起討論。

   本著學習為主的理念,今天,我們是要手動編譯安裝一下LAMP。這樣的話,檢視指令碼也就會非常簡單了。

環境準備

  • 軟體環境

首先我們需要準備安裝 LAMP所需要的一些軟體環境。可以到相關的網站上去下載原始碼包。

[[email protected] src]#ls
apr-1.6.2.tar.gz       httpd-2.4.27.tar.bz2                php-7.1.10.tar.xz
apr-util-1.6.0.tar.gz  mariadb-10.2.8-linux-x86_64.tar.gz  wordpress-4.8
-zh_CN.tar.gz
  • 安裝開發包組

因為我們這個實驗是需要通過大量的編譯來安裝相關的軟體,所以需要對實驗環境提前安裝開發包組。
執行 yum groupinstall "development tools"就可以安裝開發包組。

  • 硬體環境

實驗過程中,為了儘可能地模仿實際生產環境,我們使用兩臺虛擬機器來進行實驗。一臺虛擬機器負責安裝 Apache+PHP+WordPress,另一臺虛擬機器安裝MariaDB,用來提供資料庫服務。

原始碼編譯安裝HTTP-2.4

在之前的文章中,我們曾經介紹過如何在CentOS 6 上編譯安裝HTTPD 2.4,所以這裡我們也是隻列出關鍵步驟,不做詳細解釋。

  • 解壓原始碼檔案

# 原始碼檔案的存放路徑
[root@localhost src]#pwd
/usr/local/src
[root@localhost src]#tar xvf apr-1.6.2.tar.gz 
[root@localhost src]#tar xvf apr-util-1.6.0.tar.gz 
[root@localhost src]#tar xvf httpd-2.4.27.tar.bz2 
  • 將apr和apr-util複製到http目錄下

這樣做的目的是編譯httpd的時候直接指定apr和apr-util的路徑就可以。


[root@localhost src]#cp -r apr-1.6.2  httpd-2.4.27/srclib/apr
[root@localhost src]#cp -r apr-util-1.6.0  httpd-2.4.27/srclib/apr-util
  • 安裝所需要的額外的軟體包


[root@localhost src]#yum install openssl-devel expat-devel pcre-devel
  • 編譯HTTPD

# 進入到http 原始碼目錄下
[[email protected] src]#cd httpd-2.4.27/ 

# 配置Httpd編譯選項
[[email protected] httpd-2.4.27]#./configure \
> --prefix=/app/httpd24 \
> --sysconfdir=/etc/httpd24 \
> --enable-so \
> --enable-ssl \
> --enable-rewrite \
> --with-zlib \
> --with-pcre \
> --with-included-apr \
> --enable-modules=most \
> --enable-mpms-shared=all \
> --with-mpm=prefork

# 進行安裝
[[email protected] httpd-2.4.27]#make -j 2 && make install 
  • 將命令選項新增到環境變數

/etc/profile.d/目錄下,新建一個lamp.sh 的shell指令碼檔案,然後將安裝好的httpd路徑新增到環境變數中。


# 安裝好的程式新增到環境變數中
[root@localhost profile.d]#echo 'PATH=/app/httpd24/bin/:$PATH' > lamp.sh 

# 使環境變數生效  
[root@localhost profile.d]# .  lamp.sh


# 啟動httpd 服務
[root@localhost profile.d]#apachectl start  

二進位制安裝MariaDB

  • 解壓二進位制檔案

切換到第二臺主機上,將mariadb的二進位制原始碼檔案下載下來。
回到 /usr/local/src/路徑下,解壓mariadb到 /usr/local/ 目錄下,並建立mysql 軟連線

# 解壓mysql 到指定路徑
[root@localhost local]#tar xvf mariadb-10.2.8-linux-x86_64.tar.gz  -C /usr/local/

# 建立軟連線 
[root@localhost local]#ln -s mariadb-10.2.8-linux-x86_64/ mysql

  • 建立使用者,並指定MySQL資料庫檔案儲存路徑


# 建立 使用者,並建立使用者的家目錄  同時指定資料庫檔案的儲存路徑
[root@localhost local]#useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql 

  • 建立資料庫檔案

進入到剛剛建立的mysql 路徑,利用mysql自帶的指令碼檔案,建立資料庫


[[email protected] mysql]#scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql

  • 建立mysql的配置檔案,並修改檔案內容


# 建立mysql 的配置檔案路徑
[root@localhost mysql]#mkdir /etc/mysql

# 根據官方提供的mysql的配置檔案模板來進行配置
[root@localhost mysql]#cp support-files/my-large.cnf  /etc/mysql/my.cnf

配置檔案建立成功之後,需要配置檔案內容進行修改 ,而且要注意,不能寫錯,一旦出錯,mysql就啟動不了了,如下圖所示。

mysql配置

  • 建立mysql的啟動指令碼並新增到開機啟動

與配置檔案一樣,可以直接根據安裝檔案提供的指令碼,複製過來。


# 直接參考 mysql.server 這個指令碼
[root@localhost mysql]#cp support-files/mysql.server  /etc/init.d/mysqld

# 將mysql 服務新增到開機啟動 
[root@localhost mysql]#chkconfig --add mysqld

此時如果啟動mysqld 服務的話,會提示出錯,也是mysql的日誌檔案還沒有建立。可以根據提示資訊建立日誌檔案。

  • 建立mysql的日誌檔案


# 建立日誌檔案路徑
[root@localhost mysql]#mkdir /var/log/mariadb

# 修改日誌檔案路徑的許可權,以便mysql資料庫能夠建立日誌檔案
[root@localhost mysql]#chown mysql /var/log/mariadb/  

# 啟動mysql 服務
[root@localhost mysql]#service mysqld start

  • 新增mysql的環境變數

同樣的,也是在/etc/profile.d/路徑下建立一個lamp.sh檔案,將mysql的變數新增進去。


# 因為我們的mysql是安裝在另外一臺主機上的,所以這裡環境變數內容,沒有httpd的。
[root@localhost profile.d]#echo 'PATH=/usr/local/mysql/bin/:$PATH' > lamp.sh 

# 使環境變數生效  
[root@localhost profile.d]# .  lamp.sh

  • 進行mysql的安全初始化,刪除測試庫,刪除匿名使用者

這個過程在之前介紹如何安裝MariaDB的文章中已經有所介紹,所以這裡就不詳細介紹了,我們直接執行命令,然後進行安全初始化。

# 執行mysql 的安全初始化的指令碼
[root@localhost mysql]#mysql_secure_installation 
  • 建立WordPress的應用資料庫以及使用者,並給使用者賦許可權


# 允許172網段的主機通過root使用者連結mysql 
grant all on *.* to [email protected]'172.%' identified by 'centos';


# 建立wpdb用來給wordpress使用
create database wpdb;
grant all on wpdb.* to [email protected]'172.%' identified by 'centos';
grant all on wpdb.* to [email protected]'localhost' identified by 'centos';

原始碼編譯安裝php

這裡有一些地方需要注意,編譯安裝PHP的時候,PHP-5.X 和PHP-7.X 版本不一樣,編譯選項也有一些不一致。

切換回之前安裝HTTPD 的主機,切換到原始碼路徑下。

  • 安裝缺少的包,解壓PHP原始檔



# 加壓PHP原始碼包
[root@localhost src]# tar xvf php-7.1.10.tar.xz

# 安裝編譯PHP原始碼時所需要的包  
[root@localhost src]# yum install libxml2-devel bzip2-devel libmcrypt-devel 
  • 配置PHP的編譯選項,並進行安裝


# 這裡有一點要注意在PHP 5.x 的版本中是不存在 --enable-mysqlnd  這個選項的,相反,使用了mysql路徑來指定

[[email protected] php-7.1.10]#./configure \
> --prefix=/app/php \
> --enable-mysqlnd \
> --with-mysqli=mysqlnd \
> --with-openssl \
> --with-pdo-mysql=mysqlnd \
> --enable-mbstring \
> --with-freetype-dir \
> --with-jpeg-dir \
> --with-png-dir \
> --with-zlib \
> --with-libxml-dir=/usr \
> --enable-xml \
> --enable-sockets \
> --with-apxs2=/app/httpd24/bin/apxs \
> --with-mcrypt \
> --with-config-file-path=/etc \
> --with-config-file-scan-dir=/etc/php.d \
> --enable-maintainer-zts \
> --disable-fileinfo


# 進行編譯安裝
[[email protected] php-7.1.10]#make -j 2 && make install 
  • 準備PHP的配置檔案

在解壓的目錄下面,有一php配置檔案的模板。 我們可以直接參考。

php配置參考


# 直接參考PHP的配置檔案
[root@localhost php-7.1.10]#cp php.ini-production /etc/php.ini

  • 給Httpd配置檔案新增支援PHP的MIME型別

在之前安裝的HTTPD的配置檔案中,新增 MIME型別,同時修改主頁,支援PHP。
同時修改預設註解的支援型別,使其支援PHP檔案。

PHP的MIME配置

測試PHP程式與資料庫的連結

PHP程式配置結束之後,重新啟動httpd服務。同時在httpd主頁所在的目錄下新增一個index.php檔案。

# 因為我們是手動安裝httpd的服務,所以主頁目錄位於我們指定的httpd安裝路徑下。

[[email protected] htdocs]#pwd
/app/httpd24/htdocs

# 下面這段程式碼用來測試PHP是否能夠成功連結資料庫
[[email protected] htdocs]#cat index.php 
<?php
$mysqli=new mysqli("172.18.2.77","root","centos");
if(mysqli_connect_errno()){
echo "連線資料庫失敗!";
$mysqli=null;
exit;
}
echo "連線資料庫成功!";
$mysqli->close();
phpinfo();
?>

連結成功的介面如下圖所示。

php 連結資料庫

配置WordPress

  • 解壓WordPress原始碼到HTTPD網站目錄下

將WordPress原始碼解壓到HTTPD網站目錄/app/httpd24/htdocs/


[root@localhost src]#tar xvf wordpress-4.8-zh_CN.tar.gz  -C /app/httpd24/htdocs/

  • 修改wordpress的配置檔案中mysql的相關設定

參考WordPress官方提供的配置檔案,建立一個配置檔案,並修其中對mysql資料庫的相關配置。


# 參考官方的配置檔案,建立一個新的配置檔案
[root@localhost wordpress]#cp wp-config-sample.php  wp-config.php   

同時修改這個配置檔案中,關於資料庫的配置。

wordpress -mysql

  • 初始化wordPress

通過瀏覽器訪問 http://webserv/wordpress/,其中webserv指的就是安裝httpd服務的那臺主機的ip,這樣就可以進行WordPress的初始化配置。

WordPress初始化配置

配置成功之後,可以看到之前建立的資料庫中會多出幾張表,這些表格就是wordpress所需要的表。


MariaDB [wpdb]> show tables;
+-----------------------+
| Tables_in_wpdb        |
+-----------------------+
| wp_commentmeta        |
| wp_comments           |
| wp_links              |
| wp_options            |
| wp_postmeta           |
| wp_posts              |
| wp_term_relationships |
| wp_term_taxonomy      |
| wp_termmeta           |
| wp_terms              |
| wp_usermeta           |
| wp_users              |
+-----------------------+
12 rows in set (0.00 sec)

初始化成功之後,再訪問http://webserv/wordpress/就可以檢視主機的部落格主頁了。

wordpress-index

經過上面的步驟我們成功地從無到有安裝了LAMP+WordPress,在實際生產中,WordPress也有可能是其他地PHP應用。也有可能是Linux+Nginx+MariaDB+Python的組合形式,所以實際生產中還是需要根據實際情況做出自己的選擇。

同時,在實際生產者中,每次都耗費這麼長的時間去安裝LAMP應用還是挺不可取的。所以最好將安裝過程寫成一個安裝指令碼,那樣的話,獲取會事半功倍。

相關推薦

centos7.3實現基於原始碼編譯安裝LAMP的wordpress應用

WordPress應用    是一款基於PHP開發的部落格釋出平臺。使用者可以在支援PHP和MySql的系統上,輕鬆地搭建WordPress部落格系統,並在上面釋出自己的部落格文章。    關於LAMP,之前的文章中已經有過很多的介

vsftpd-3.0.2原始碼編譯安裝配置指南

 首先,下載vsftpd-3.0.2原始碼包. 詳細的安裝過程如下: [[email protected] vsftpd-3.0.2]# tar zxvf vsftpd-3.0.2.tar.gz [[email protected] vsftpd-

stanford open-source CFD code SU2-3.2.9 原始碼編譯安裝

  SU2 (ver. 3.2.9 "eagle"): The Open-Source CFD Code 今天去http://su2.stanford.edu/閒逛了一圈,發現SU2 第三版已經出來

centos7.2 原始碼編譯安裝nginx,實現tcp反向代理,不中斷服務新增編譯模組

   我們很多時候,需要將區域網內伺服器叢集中的某臺機器的某個埠對映到外網,可以直接通過代理伺服器連線到區域網內的電腦,進行操作。而nginx除了能實現http的反向代理外和負載均衡外,還能實現tcp的

Linux之Nginx原始碼編譯安裝,並實現Nginx版本升級,秒級切換和Nginx版本回滾,秒級回退

Linux之Nginx原始碼編譯安裝,並實現Nginx版本升級,秒級切換和Nginx版本回滾,秒級回退 1、先檢查Nginx依賴庫(主要4個gcc、pcre、zlib、openssl,通過yum安裝) 2、GCC——GNU編譯器集合(GCC可以使用預設包管理器的倉庫(reposito

[環境配置]Ubuntu 16.04 原始碼編譯安裝OpenCV-3.2.0+OpenCV_contrib-3.2.0及產生的問題

1.OpenCV-3.2.0+OpenCV_contrib-3.2.0編譯安裝過程 1)下載官方要求的依賴包 GCC 4.4.x or later CMake 2.6 or higher Git GTK+2.x or higher, including headers (libgtk2.

centos7原始碼編譯安裝NGINX

1、 什麼是nginx Nginx是一款高效能的http 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。官方測試nginx能夠支支撐5萬併發連結,並且cpu、記憶體等資源消耗卻非常低,執行非常穩定。 2、下載 進入http://nginx.org

Nginx原始碼編譯安裝實現負載均衡

Nginx (engine x) 是一個高效能的HTTP和反向代理服務,工作在網路的7層之上,可以針對http應用做一些分流的策略, 比如針對域名、目錄結構,它的正則規則比HAProxy更為強大 和靈活,這也是它目前廣泛流行的主要原因之一,Nginx單憑 這點可利用的場合就

基於Ubuntu 16.04和ros kinetc平臺原始碼編譯安裝moveit和ompl及編譯警告的解決方法

安裝依賴項 rosdep update sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install python-wstool

centos7原始碼編譯安裝httpd、加入systemctl並設定開機自啟動

1、所需軟體: apr-1.6.3.tar.gz (下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz) apr-util-1.6.1.tar.gz (下載地址:http://mirrors.tun

centos7原始碼編譯安裝LAMP

LAMP用到的軟體版本: httpd-2.4.27.tar.gz mariadb-10.2.8-linux-x86_64.tar.gz php-7.1.10.tar.xz 安裝順序: 順序: mariadb–>httpd–>php htt

Centos7.2原始碼編譯安裝LA(N)MP

LAMP環境中php是作為apache的模組安裝的,所以安裝順序是php放在apache的後面安裝,這樣便於安裝php時可以在apache的模組目錄生成對應的php模組。 apache版本:2.4.37 mysql版本:5.7.24 php版本:7.3.0 nginx版本:nginx-1.14.2

GlusterFS3.7.3原始碼編譯安裝

一、背景簡介 最近在學習效能測試,首先想到如果能真是搭建個基礎網站架構,肯定對進一步的學習有幫助,肯定比lordrunner自帶的那個網站程式更有幫助。在搭建的過程中,因為是要建立個遠端檔案伺服器,glusterfs是個不錯的選擇,搭建glusterfs伺服器

centos7.x 原始碼編譯安裝 redis

下載最新穩定版的redis原始碼包 解壓原始碼包 tar -zxvf redis-stable.tar.gz 編譯環境準備 主要gcc環境準備好,其他缺什麼安裝什麼 yum install gcc 編譯原始碼 進入

TiDB在Centos7上通過原始碼編譯安裝

這裡難以編譯安裝的是tikv,tidb的三大部分tidb,pd,tikv中tidb,pd均是採用go語言編寫,安裝go語言包即可編譯,唯獨tikv是採用rust語言寫的,他的編譯是最複雜的。而且編譯環境非常嚴格。需要的工具也最多:gcc-c++,cmake3,rust(car

Centos7.3二進制格式安裝MariaDB

mariadb linux ccentos7Centos7.3二進制格式安裝MariaDB 背景: CentOS7開始,數據庫使用的是MariaDB數據庫,而yum安裝的數據庫版本比較低,所以學習了在CentOS7.3版本二進制安裝MariaDB-10.2.8,在此記錄下安裝過程,供以後參考。

CENTOS7.3(阿裏雲)靜默安裝ORACLE11g

local pad java gpo alibaba dba 檢查 pat nta 第一節 安裝環境 1 環境說明 服 務 商 : Alibaba Cloud Elastic Compute Service 操作系統 : CENTOS 7.4 版 本 號 : Li

Centos7.3下mysql5.7.18安裝並修改初始密碼的方法

ice version 分享 form for 榮耀 serve 密碼 doc 1、官方安裝文檔 http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 2、下載 Mysql yum包 http://dev.mysql

: 擴充套件的幾個應用 釋出網路YUM源 vim編輯技巧 原始碼編譯安裝 systemctl控制 總結和答疑

Top NSD SERVICES DAY01 案例1:補充應用技巧 案例2:軟連線與硬連線 案例3:man手冊、zip備份 案例4:自定義yum軟體倉庫 案例5:釋出及測試yum倉庫 案例6:vim效率操作 案例7:編譯安裝軟體包 案例8:使用

擴充套件的幾個應用 釋出網路YUM源 vim編輯技巧 原始碼編譯安裝 systemctl控制 總結和答疑

Top NSD SERVICES DAY01 案例1:補充應用技巧 案例2:軟連線與硬連線 案例3:man手冊、zip備份 案例4:自定義yum軟體倉庫 案例5:釋出及測試yum倉庫 案例6:vim效率操作 案例7:編譯安裝軟體包 案例8:使用