CentOS7基於源碼編譯安裝LAMP的wordpress應用的實現

WordPress應用:

WordPress 是一種基於PHP 語言開發的博客平臺,咱們能夠在支持PHP MySQL 數據庫的服務器上部署屬於本身的博客網站,在上面發佈本身的博客文章。同時也能夠把WordPress 看成一個內容管理系統(CMS)來使用。php

LAMP的簡介:

LAMP是在linux下基於ApacheMysql/MariadbPHP軟件包下環境下搭建的運行動態網站或者服務器。html

事前準備環境:

1、軟件包準備:

咱們能夠在相關的軟件包官網上下載穩定的版本。mysql

apr-1.6.2.tar.gz                      linux

apr-util-1.6.0.tar.gz web

mariadb-10.2.8-linux-x86_64.tar.gz  sql

httpd-2.4.27.tar.bz2 數據庫

php-7.1.10.tar.xzapache

wordpress-4.8.1-zh_CN.tar.gzvim

2、準備一臺centos7.3的乾淨系統

主機的ip地址爲192.168.146.130

3、關閉防火牆和selinux

防火牆:開機關閉centos

[root@centos7 ~]# systemctl disablefirewalld

[root@centos7 ~]# systemctl stop  firewalld

關閉Selinux

#臨時關閉

[root@centos7 ~]# setenforce 0  

#永久關閉

sed -i's/^SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

實驗步驟:

1、源碼編譯安裝Httpd2.4

1.1安裝開發包組

由於咱們這個實驗是須要經過大量的編譯來安裝相關的軟件,因此須要對實驗環境提早安裝開發包組

yum -ygroupinstall "development tools" 

安裝額外須要所依賴的軟件包

yum install openssl-devel expat-develpcre-devel

1.2解壓源碼文件包

tar xvf apr-1.6.2.tar.gz

tar xvf apr-util-1.6.0.tar.gz

tar xvf httpd-2.4.27.tar.bz2

1.3aprapr-util複製到httpd-2.4.27目錄下

[root@centos7 src]# cp -r apr-1.6.2httpd-2.4.27/srclib/apr

[root@centos7 src]# cp -r apr-util-1.6.0httpd-2.4.27/srclib/apr-util

1.4編譯httpd

#進到httpd-2.4.27目錄下

[root@centos7 src]# cd 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

#開始安裝,用4線程進行安裝,比較快,注意處理器要有4

make -j 4 && make install

#用命令查看一下發現沒有報錯,若是有報錯,缺什麼包就安裝什麼包

[root@centos7 httpd-2.4.27]# echo $?

0

#完成以後測試一下看生成httpd下的相關目錄和主頁網站有了沒,如下能夠看到沒問題。

cd /app/httpd24

[root@centos7 httpd24]# ls

bin  cgi-bin  htdocs include  logs  manual

build error    icons   lib   man   modules

1.5把主頁面的 it works字段改爲LAMP;路徑是在htdocs目錄下

[root@centos7 htdocs]# vim index.html

<html><body><h1>LAMP</h1></body></html>

1.6將命令選項添加到環境變量裏面

#/etc/profile.d/目錄下添加添加lamp.sh腳本將安裝好的httpd路徑添加到這個環境變量裏。

vim /etc/profile.d/lamp.sh

PATH=/app/httpd24/bin/:$PATH

執行下生效命令

. /etc/profile.d/lamp.sh

1.7啓動httpd服務

apachectl start  #啓動httpd服務

在網頁上輸入主機的地址就能夠訪問出現上面所填的LAMP字樣了。

ss -tnl  #查看一下發現已經出現80端口了。

wKiom1nku7_BIQNCAAB00vsj3l8342.png

2、二進制安裝mariadb

2.1解壓mariadb-10.2.8二進制文件

#注意必定要解壓到/usr/local/這目錄下

tar xvfmariadb-10.2.8-linux-x86_64.tar.gz  -C/usr/local/

2.3建立一個軟連接目錄mysql

cd /usr/local

ln -s mariadb-10.2.8-linux-x86_64/ mysql

#查看一下本機沒有發現mysql帳戶

getent passwd mysql

2.4建立mysql帳戶

useradd -r -m -d /app/mysqldb -s/sbin/nologin mysql

#注意:-m -d 是強制建立家目錄的路徑/app/mysqldb,它是用來存放數據庫的不是程序,也就是數據庫放的路徑,-s指定只能是mysql 才能登錄。

#查看家目錄已經存在了

[root@centos7 local]# ll /app/mysqldb/ -d

drwx------. 3 mysql mysql 78 Oct 16 14:43/app/mysqldb/

2.5建立數據庫文件

進入到剛剛建立的mysql 路徑,利用mysql自帶的腳本文件,建立數據庫,數據庫的路徑是/app/mysqldb,指定用mysql用戶建立

cd mysql/   #也就是進入/usr/local/mysql

scripts/mysql_install_db--datadir=/app/mysqldb --user=mysql

2.6建立mysql的配置文件,而且修改其下的文件內容

建立mysql文件路徑

二進制安裝的自己沒有帶文件路徑因此須要建立

[root@centos7 mysql]#mkdir /etc/mysql

[root@centos7 mysql]# cpsupport-files/my-huge.cnf /etc/mysql/my.cnf

配置文件成功後須要對文件進行修改,注意不能寫錯,不然mysql數據庫啓動不了。找到mysql數據這一行加上三行選項

[root@centos7 mysql]# vim /etc/mysql/my.cnf

datadir =/app/mysqldb   #這行添加數據庫的路徑是必須加的

innodb_file_per_table= ON  # 這項和下面這項加不加沒事

skip_name_resolve= ON  #禁止主機名解釋,這行能夠不要

2.7建立mysqld的開啓動腳本並添加到開機啓動項裏面

流程和配置文件同樣能夠根據安裝文件提供的腳本複製過來

cp support-files/mysql.server/etc/init.d/mysqld  #啓動腳本不須要改

chkconfig --add mysqld    #mysqld添加到開機啓動項裏面

chkconfig --list           #查看已經成功加入到開機啓動項

service mysqld start   

注意:啓動服務發現失敗,緣由是顯示看到日記沒有建立,它提示建立日誌文件。

2.8建立日誌文件

mkdir /var/log/mariadb  #建立日誌文件

修改日誌文件,方便數據庫mysqld可以建立日誌文件

chown mysql /var/log/mariadb/  #把全部者改爲mysql

service mysqld start  #啓動服務發現啓動成功了。

2.9添加mysqld的環境變量

vim /etc/profile.d/lamp.sh

PATH=/app/httpd24/bin/:/usr/local/mysql/bin/:$PATH

#執行生效命令

. /etc/profile.d/lamp.sh

2.10安全數據庫初始化,刪除測試庫和匿名用戶

初始化設置root密碼是centos7

[root@centos7 mysql]#mysql_secure_installation

2.11登陸數據庫,建立數據庫帳號,授予權限等信息

[root@centos7 mysql]# mysql -uroot-pcentos7

create database wpdb;  #建立數據庫爲wpdb

grant all on wpdb.* to wpuser@'192.168.146.%'identified by 'centos7';

#受權全部權限給wpuser用戶,密碼是centos7

grant all on wpdb.* to wpuser@'127.%'identified by 'centos7';

#受權給127主機的用戶容許鏈接

grant all on wpdb.* to wpuser@'localhost'identified by 'centos7'

#受權給本地主機容許鏈接

3 源碼編譯安裝PHP

3.1解壓PHP源文件,安裝依賴的軟件包

cd /src #回到源文件目錄下

[root@centos7 src]# tar xvfphp-7.1.7.tar.bz2  #解壓

#安裝php源碼所須要的包

yum -y install libxml2-devel bzip2-devellibmcrypt-devel

3.2配置PHP的編譯選項並進行安裝

cd php-7.1.10/   #進入php-7.1.10/目錄

編譯PHP選項

[root@centos7 php-7.1.7]# ./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

 

#注意這裏須要必定要注意PHP5.x的版本是不存在—enable-mysql

#這個版本的選項相反,使用了mysql路徑來指定

開始安裝

make -j 2 && make install

3.3編寫PHP的配置文件

#在解壓的目錄下就有php配置文件的模板,直接複製過來

wKiom1nkvMGh6OJIAABei1-8F6s170.png

#直接複製PHP的文件

[root@centos7php-7.1.7]# cpphp.ini-production /etc/php.ini

3.4配置Httpd文件添加支持PHPMIME類型

#由於是本身編譯的因此路徑是在/etc/httpd24/httpd.conf主配置文件,讓httpd知道php

vim /etc/httpd24/httpd.conf

#搜索/AddType在文件尾部加兩行

AddType application/x-httpd-php .php

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

wKiom1nkvQ2BoAgbAAC5yvbevB4688.png

#搜索DirectorIDirectoryIndex這行裏添加index.php 讓咱們訪問本機的主頁面默認是php的。

<IfModule dir_module>

   DirectoryIndex index.php index.html

</IfModule>

wKiom1nkvU3TIsPpAACfDQQrUf0115.png

apachectl stop  #關閉httpd服務

apachectl start  #啓動httpd服務

4 測試phpmariadb鏈接

4.1 配置結束後從新啓動httpd服務,同時在主頁面所在的目錄下添加一個index.php文件。

#因爲咱們是本身編譯安裝的因此httpd主頁目錄下在咱們指定的httpd安裝路徑下。

[root@centos7 htdocs]# pwd

/app/httpd24/htdocs

#下面代碼是用來測試PHP是否可以成功鏈接數據庫的。

[root@centos7 htdocs]# vim index.php  

wKioL1nkuuyimj_pAAC7entOBYg092.png

鏈接成功的界面圖所下面所示

wKiom1nkveDBBp0nAAFPrCusvJc339.png

5.1解壓wordpress/app/httpd24/htdocs/目錄下

tar xvf wordpress-4.8-zh_CN.tar.gz -C/app/httpd24/htdocs/

#進入到主頁面下

cd /app/httpd24/htdocs

#wordpress/改爲blog/

mv wordpress/ blog/

5.2blog/目錄下修改配置文件中的mysql相關設置信息

cd /app/httpd24/htdocs/blog/

#參考WordPress官方提供的配置文件,建立一個配置文件,並修其中對mysql數據庫的相關配置。

#直接複製參考腳本,而後在文件修改相關的數據參數就能夠了。

cd /app/httpd24/htdocs/blog/

cp wp-config-sample.php  wp-config.php

vim wp-config.php

define('DB_NAME', 'wpdb');  #用戶名

/** MySQL數據庫用戶名 */

define('DB_USER', 'wpuser');

/** MySQL數據庫密碼 */

define('DB_PASSWORD', 'centos7');

/** MySQL主機 */

define('DB_HOST', 'localhost');

6、初始化和登陸測試

6.1經過瀏覽器訪問http://websrv/blogwebsrv就是安裝httpd服務點的主機ip,我是用192.168.146.100主機安裝的,因此就是http://192.168.146.100/blog

#下面就是WordPress的初始化配置

wKioL1nku5Lwu6yGAAFJE4ET0sc896.png

6.2初始化成功以後,再回去訪問http://192.168.146.130/blog/就看到博客的注意了。

wKioL1nku83j7-M_AAJvYz3WkQo736.png

通過以上的步奏咱們實現了從無到有安裝了LAMP+ wordpress應用,

咱們也能夠根據生產中的實際需求吧wordpress應用換成其餘應用;LAMP也有多是Linux+Nginx+MariaDB+Python這形式,根據需求不一樣進行調用作出本身的選擇,作到靈活的使用。

注意事項

1、注意編譯安裝的時候,PHP是最後編譯的,由於要調用到mariadb和訪問httpd的相關內容。

2、在開始編譯安裝PHP的時候,PHP-5.X PHP-7.X 版本不同,編譯選項也有一些不一致。

3、在作實驗的時候最好是使用乾淨的centos7.3系統;這裏最好準備兩臺centos7主機,一臺實現LAP(linuxapachephp) ,一臺實現M(mariadb)數據庫。

相關文章
相關標籤/搜索