1. 程式人生 > >Centos-6 編譯安裝實現LAMP,wordpress最新版

Centos-6 編譯安裝實現LAMP,wordpress最新版

primary charsets 編譯安裝 fig 用戶名 兩個文件 圖片 軟連接 b-

系統平臺:

CentOS release 6.9 (Final)
內核 2.6.32-696.el6.x86_64

去官網下載源碼包

1,下載httpd2.4源碼包 http://httpd.apache.org/download.cgi#apache24

以及apr源碼包: apr-1.6.3.tar.gz , apr-util-1.6.1.tar.gz

http://apr.apache.org/download.cgi

2,下載mariadb-10.2源碼包

http://mariadb.org/download/

3下載php7.2源碼包

http://php.net/downloads.php

所有源碼包

    apr-1.6.3.tar.bz2       httpd-2.4.29.tar.bz2    php-7.2.1.tar.bz2
    apr-util-1.6.1.tar.bz2  mariadb-10.2.12.tar.gz  wordpress-4.9.1-zh_CN.tar.gz

配置yum源

1.進入/etc/yum.repos.d/
    cd  /etc/yum.repos.d/
2.將裏面的文件所有文件都清除或是移到一個空目錄裏,個人建議直接刪了。
    rm -rf  * 
3.創建一個yum源配置文件,"註意:後綴必須是repo"
    touch  base.repo 
4.在文件裏面添加這麽幾行配置

vim  base.repo
#光盤源
[base]    
name=centos-6.9
baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/
gpgcheck=0
enable=1
#epel源
[epel]
name=centos-epel
baseurl=http://mirrors.aliyun.com/epel/6/x86_64/
gpgcheck=0
enable=1

4.查看是否已經生成yum源了
[root@centos6 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
base                                                                    | 3.7 kB     00:00     
epel                                                                    | 4.7 kB     00:00     
epel/primary_db                                                         | 6.0 MB     00:15     
repo id                                   repo name                                      status
base                                      centos-6.9                                      6,706
epel                                      centos-epel                                    12,449
repolist: 19,155

(一)編譯mariadb數據庫

1,安裝相關依賴包

 yum groupinstall "development tools" #開發包組
 yum install cmake ncurses-devel libaio-devel openssl-devel -y  "註意:clang來自epel源" 

2,解壓mariadb之人一臨時目錄

tar vxf mariadb-10.2.12.tar.gz -C /app/sdb

3,進入/app/sdb/mariadb-10.2.12

cd /app/sdb/mariadb-10.2.12

cmake .  -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-10.2.12  -DSYSCONFDIR=/etc  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci  -DWITH_EXTRA_CHARSETS=all  -DWITH_READLINE=1  -DWITH_SSL=system  -DWITH_ZLIB=system  -DWITH_EMBEDDED_SERVER=1  -DENABLED_LOCAL_INFILE=1  -DWITH_MYISAM_STORAGE_ENGINE=1  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DWITH_MEMORY_STORAGE_ENGINE=1  -DWITH_PARTITION_STORAGE_ENGINE=1  -DWITH_ARCHIVE_STORAGE_ENGINE=1  -DWITH_BLACKHOLE_STORAGE_ENGINE=1  -DWITH_DEBUG=0

 make -j 4  && make install

4,創建軟連接mysql解壓後的mariadb目錄

ln -s mariadb-10.2.12/ mysql

5,創建用戶mysql系統賬號

useradd -r -s /sbin/nologin mysql

6,修改mysql文件夾的所屬者喝所在屬組

chown -R mysql.mysql /usr/local/mysql/

7,添加PATH變量

echo ‘PATH=/usr/local/mysql/bin:$PATH‘ >> /etc/profile.d/mysql.sh

檢查文件
#cat /etc/profile.d/mysql.sh

加載環境變量文件 並檢查

#source /etc/profile.d/mysql.sh
#echo $PATH

#mysql -V
mysql  Ver 15.1 Distrib 10.2.12-MariaDB, for Linux (x86_64) using readline 5.1

8,創建數據庫存放文件夾並且修改權限

mkdir -pv /data/sqldb/3306/{log,data,pid,socket,tmp}
chown -R mysql.mysql /data/sqldb/
chmod -R 770 /data/sqldb/

9,復制主配置文件my.cnf

"這裏先要確認下本機的內存多少,以便使用一個參考模板."
grep memory support-files/*
找到適合本機內存的模板

技術分享圖片

本機內存為1G,所以選擇了my-huge.cnf這個配置文件

#\cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf

10,修改配置文件

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
pid-file        =/data/sqldb/3306/pid/mysql.pid
datadir         =/data/sqldb/3306/data
tmpdir          =/data/sqldb/3306/tmp

11,安裝數據庫相關文件

mysql_install_db --defaults-file=/etc/my.cnf --user=mysql

"這時候會在/data/sqldb/3306/data目錄下生成一些文件"

[root@centos6 support-files]# ls /data/sqldb/3306/data/
mysql  mysql-bin.000001  mysql-bin.000002  mysql-bin.index  test

12,復制服務腳本至/etc/init.d/目錄下並改名為mysqld

 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

13,添加mysqld服務腳本至開機自動啟動,並啟動mysqld服務

chkconfig --add mysqld
chkconfig --list  mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

service  mysqld  start

14,運行安全腳本

"mysql_secure_installation"

第一項問你:輸入root密碼  回車即可,因為沒有
第二項問你:需要設置root密碼麽,當然要  敲Y
第三項問你:需要刪除空賬號用戶麽,當然要  敲Y
第四項問你:禁止root用戶遠程登入麽,根據你們公司的需要
第五項問你:需要刪除test測試數據哭麽,我不需要
第六項問你:現在重新加載權限表嗎 ,當然

15,創建一個wordpress專有數據庫,以及專門管理這個數據庫的用戶

    首先登入mysql數據庫
    mysql -uroot -p  #-p需要輸入root密碼
    創建數據庫
    create database wordpress;
    創建管理員用戶
    grant all on wordpress.* to li@‘localhost‘ identified by ‘liliang‘;

    "註意:這裏的all 表示擁有對這個數據庫裏的所有表wordpress.*的所有權限,用戶名是li 只能在本機(localhost)登入,密碼:liliang"

OK數據庫已經配置完成,下面編譯安裝httpd程序

(二) 編譯httpd2.4

"註意:httpd2.4 依賴apr 1.4+以上 ,apr-util-1.4+以上"

1,解壓縮包至任意目錄

 tar apr-1.6.3.tar.bz2 
 tar apr-util-1.6.1.tar.bz2
 tar httpd-2.4.29.tar.bz2

2,復制apr以及apr-util整個解壓包目錄,復制到httpd-2.4.29/srclib/目錄下,並且改成相對應的名字

     cp -r apr-1.6.3 httpd-2.4.29/srclib/apr
     cp -r apr-util-1.6.1 httpd-2.4.29/srclib/apr-util

3,安裝相關的依賴包

    yum install   pcre-devel openssl-devel expat-devel -y

    4,開始編譯
    ./configure     --prefix=/app/httpd24     --enable-so     --enable-ssl     --enable-cgi     --enable-rewrite     -with-zlib     --with-pcre      --with-included-apr \ #"註意這一項是指定apr程序的"
    -enable-modules=most     --enable-mpms-shared=all     -with-mpm=prefork  

    make -j 4 &&make install

4.添加PATH變量

     echo ‘PATH=/app/httpd24/bin:$PATH‘ >/etc/profile.d/httpd24.sh

    檢查文件
    #cat /etc/profile.d/httpd24.sh

    加載環境變量文件 並檢查

    source /etc/profile.d/httpd24.sh
    echo $PATH

5,創建apache用戶

    useradd -r -s /sbin/nologin apache 

6,修改httpd配置文件

        修改那些指令

        User apache  
        Group apache

        取消下面兩行的註釋 作用:支持php-fpm模式

        LoadModule proxy_module modules/mod_proxy.so 
        LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so 

        將這個語句塊修改為如下:

        "作用就是讓用戶訪問是不用輸路徑"

        <IfModule dir_module>
            DirectoryIndex index.html index.php 
        </IfModule>

        加下面四行 
        #這兩行的作用就是讓httpd能識別php程序文件
        AddType application/x-httpd-php .php  
        AddType application/x-httpd-php-source .phps 
        #關閉請求轉發功能
        ProxyRequests Off 
        #當用戶訪問 php後綴的程序文件,自動把請求發送給本記得fcgi程序處理之後在發送給用戶
        ProxyPassMatch^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1  

7,將服務設置為開機自動啟動

    方法一: 寫入 /etc/rc.d/rc.local 
     vim /etc/rc.d/rc.local 
     /app/httpd24/bin/apachectl start
     方法二:修改原有的 服務腳本   /etc/init.d/httpd/ 並改名httpd24
        cd /etc/init.d
        mv httpd   httpd24
        將文件中的這幾項修改為如下:
        vim httpd24  
        apachectl=/app/http24/bin/apachectl
        httpd=${HTTPD-/app/httpd24/bin/httpd}
        pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}

       將httpd24加入服務,並設為開機自動啟動
        chkconfig --add httpd24
        查看
        chkconfig --list  httpd24
        httpd24         0:off   1:off   2:off   3:off   4:off   5:off   6:off
        設為開機自動啟動
        chkconfig  httpd24  on

OK  httpd程序編譯配置完成,下面編譯php7.2程序

(三)編譯php7.2

解壓縮包至任意目錄

tar  vxf  php-7.2.1.tar.bz2

安裝相關軟件包

yum install libxml2-devel  bzip2-devel libmcrypt-devel -y

開始編譯

cd php-7.2.1

./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 --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-maintainer-zts --disable-fileinfo

還在這個目錄下把php配置文件復制到/etc/php.ini

[root@centos6 php-7.2.1]# cp php.  #按兩下Tab鍵會提示出如下信息
php.gif              php.ini-development #這個是開發用的   php.ini-production #這個是生產用的,復制這個

cp php.ini-production  /etc/php.ini

修改兩個文件名

 mv php-fpm.conf.default php-fpm.conf
 cp php-fpm.d/www.conf.default php-fpm.d/www.conf

復制sapi/fpm/init.d.php-fpm啟動腳本至/etc/init.d/目錄下並改名為fpm-php,並且加上執行權限,並且加入chkconfig管理,設置為開機自動啟動,最後啟動服務

1,復制
cp sapi/fpm/init.d.php-fpm /etc/init.d/fpm-php
2,添加執行權限
chmod  +x /etc/init.d/fpm-php
3,加入服務chkconfig管理
chkconfig --add fpm-php
4,設為開機自動啟動
chkconfig fpm-php on
5,查看是否添加成功
chkconfig --list  fpm-php
fpm-php         0:off   1:off   2:on    3:on    4:on    5:on    6:off
6,啟動服務
service fpm-php start

(四)配置wordpress

解壓縮包wordpress-4.9.1-zh_CN.tar.gz至任意目錄

tar vxf wordpress-4.9.1-zh_CN.tar.gz 

將wordpress整個目錄裏的所有文件復制到/app/httpd24/htdocs/目錄下,並且將/app/httpd24/htdocs/目錄下的index.html文件刪除掉

    cd wordpress

    cp * -r /app/httpd24/htdocs/

    rm /app/httpd24/htdocs/index.html

修改配置文件,將wp-config-sample.php 復制一份改名為wp-config.php,而後在修改wp-config.php文件

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

    vim wp-config.php   #"這些就是在編譯安裝是創建的數據庫信息將他們修改為這樣即可"

    // ** MySQL 設置 - 具體信息來自您正在使用的主機 ** //
    /** WordPress數據庫的名稱 */
    define(‘DB_NAME‘, ‘wordpress‘);

    /** MySQL數據庫用戶名 */
    define(‘DB_USER‘, ‘li‘);

    /** MySQL數據庫密碼 */
    define(‘DB_PASSWORD‘, ‘liliang‘);

    /** MySQL主機 */
    define(‘DB_HOST‘, ‘localhost‘);

使用瀏覽器訪問主站點進行配置wordpress

技術分享圖片
技術分享圖片
技術分享圖片

Centos-6 編譯安裝實現LAMP,wordpress最新版