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.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的配置檔案
[root@localhost php-7.1.10]#cp php.ini-production /etc/php.ini
給Httpd配置檔案新增支援PHP的MIME型別
在之前安裝的HTTPD的配置檔案中,新增 MIME型別,同時修改主頁,支援PHP。
同時修改預設註解的支援型別,使其支援PHP檔案。
測試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();
?>
連結成功的介面如下圖所示。
配置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
通過瀏覽器訪問
http://webserv/wordpress/
,其中webserv指的就是安裝httpd服務的那臺主機的ip,這樣就可以進行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/
就可以檢視主機的部落格主頁了。
經過上面的步驟我們成功地從無到有安裝了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:使用