centos7.3 編譯安裝lamp,利用wordpress實現個人博客搭建

軟件環境:centos7.3

軟件包:

apr-1.5.2.tar.bz2

apr-util-1.5.4.tar.bz2

httpd-2.4.27.tar.bz2

mariadb-10.2.7-linux-x86_64.tar.gz

php-7.1.7.tar.bz2

wordpress-4.8-zh_CN.tar.gz

xcache-3.2.0.tar.gz


準備工作:

[root@he ~]# mkdir /app                      #創建/app目錄,我們把軟件包安裝到/app裏
[root@he ~]# mkdir data                      #創建data文件夾,把我們下載的軟件包傳入
[root@he ~]# ls
data
[root@he ~]# cd data/
[root@he data]# rz

[root@he data]# rz

[root@he data]# rz

[root@he data]# rz

[root@he data]# rz

[root@he data]# rz

[root@he data]# rz

[root@he data]# ls                           #顯示我們所有的軟件包
apr-1.5.2.tar.bz2       httpd-2.4.27.tar.bz2                php-7.1.7.tar.bz2           xcache-3.2.0.tar.gz
apr-util-1.5.4.tar.bz2  mariadb-10.2.7-linux-x86_64.tar.gz  wordpress-4.8-zh_CN.tar.gz
[root@he ~]# yum -y groupinstall 'development tools'         #提前安裝開發包組
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
base
…………
Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7                                  apr-util.x86_64 0:1.5.2-6.el7                                 
  boost-system.x86_64 0:1.53.0-26.el7                       boost-thread.x86_64 0:1.53.0-26.el7                           
  bzip2.x86_64 0:1.0.6-13.el7                               dwz.x86_64 0:0.11-3.el7                                       
  dyninst.x86_64 0:8.2.0-2.el7                              emacs-filesystem.noarch 1:24.3-19.el7_3                       
  gdb.x86_64 0:7.6.1-94.el7                                 gettext-common-devel.noarch 0:0.18.2.1-4.el7                  
  gettext-devel.x86_64 0:0.18.2.1-4.el7                     kernel-devel.x86_64 0:3.10.0-514.26.2.el7                     
  libdwarf.x86_64 0:20130207-4.el7                          libgfortran.x86_64 0:4.8.5-11.el7                             
  libgnome-keyring.x86_64 0:3.8.0-3.el7                     libquadmath.x86_64 0:4.8.5-11.el7                             
  libquadmath-devel.x86_64 0:4.8.5-11.el7                   libstdc++-devel.x86_64 0:4.8.5-11.el7                         
  mokutil.x86_64 0:0.9-2.el7                                neon.x86_64 0:0.30.0-3.el7                                    
  pakchois.x86_64 0:0.4-10.el7                              perl-Data-Dumper.x86_64 0:2.145-3.el7                         
  perl-Error.noarch 1:0.17020-2.el7                         perl-Git.noarch 0:1.8.3.1-6.el7_2.1                           
  perl-TermReadKey.x86_64 0:2.30-20.el7                     perl-Test-Harness.noarch 0:3.28-3.el7                         
  perl-Thread-Queue.noarch 0:3.02-2.el7                     perl-XML-Parser.x86_64 0:2.41-10.el7                          
  perl-srpm-macros.noarch 0:1-8.el7                         rsync.x86_64 0:3.0.9-17.el7                                   
  subversion-libs.x86_64 0:1.7.14-10.el7                    systemtap-client.x86_64 0:3.0-7.el7                           
  systemtap-devel.x86_64 0:3.0-7.el7                        systemtap-runtime.x86_64 0:3.0-7.el7                          
  unzip.x86_64 0:6.0-16.el7                                 zip.x86_64 0:3.0-11.el7                                       

Complete!
[root@he ~]# yum remove -y apr                         #上面包組有老版的apr,可以卸載了
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-3.el7 will be erased
…………
Removed:
  apr.x86_64 0:1.4.8-3.el7                                                                                                

Dependency Removed:
  apr-util.x86_64 0:1.5.2-6.el7       subversion.x86_64 0:1.7.14-10.el7       subversion-libs.x86_64 0:1.7.14-10.el7      

Complete!
[root@he ~]# yum install pcre-devel openssl-devel                 #安裝需要的包
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
…………
Installed:
  openssl-devel.x86_64 1:1.0.1e-60.el7_3.1                       pcre-devel.x86_64 0:8.32-15.el7_2.1                      

Dependency Installed:
  keyutils-libs-devel.x86_64 0:1.5.8-3.el7  krb5-devel.x86_64 0:1.14.1-27.el7_3  libcom_err-devel.x86_64 0:1.42.9-9.el7 
  libkadm5.x86_64 0:1.14.1-27.el7_3         libselinux-devel.x86_64 0:2.5-6.el7  libsepol-devel.x86_64 0:2.5-6.el7      
  libverto-devel.x86_64 0:0.2.5-4.el7       zlib-devel.x86_64 0:1.2.7-17.el7    

Complete!


1、httpd2.4.27編譯安裝


[root@he data]# tar xf apr-1.5.2.tar.bz2                  #解壓文件
[root@he data]# tar xf apr-util-1.5.4.tar.bz2 
[root@he data]# tar xf httpd-2.4.27.tar.bz2 
[root@he data]# mv apr-1.5.2  httpd-2.4.27/srclib/apr           #將apr的文件放進httpd文件夾裏面一起安裝
[root@he data]# mv apr-util-1.5.4  httpd-2.4.27/srclib/apr-util
[root@he data]# cd httpd-2.4.27
[root@he httpd-2.4.27]# ./configure --prefix=/app/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib 
--with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork #自定義安裝的一些設置
……
config.status: executing default commands
configure: summary of build options:

    Server Version: 2.4.27
    Install prefix: /app/httpd24
    C compiler:     gcc -std=gnu99
    CFLAGS:          -g -O2 -pthread
    LDFLAGS:         
    LIBS:           
    CPPFLAGS:        -DLINUX -D_REENTRANT -D_GNU_SOURCE
    C preprocessor: gcc -E
    
[root@he httpd-2.4.27]# make && make install                   #正式安裝
………… 
Installing configuration files
mkdir /app/httpd24/conf
mkdir /app/httpd24/conf/extra
mkdir /app/httpd24/conf/original
mkdir /app/httpd24/conf/original/extra
Installing HTML documents
mkdir /app/httpd24/htdocs
Installing error documents
mkdir /app/httpd24/error
Installing icons
mkdir /app/httpd24/icons
mkdir /app/httpd24/logs
Installing CGIs
mkdir /app/httpd24/cgi-bin
Installing header files
Installing build system files
Installing man pages and online manual
mkdir /app/httpd24/man
mkdir /app/httpd24/man/man1
mkdir /app/httpd24/man/man8
mkdir /app/httpd24/manual
make[1]: Leaving directory `/root/data/httpd-2.4.27'
[root@he ~]# vim /etc/profile.d/app.sh                  #寫一個腳本,把httpd、mariadb放進bin下

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

[root@he httpd-2.4.27]# .  /etc/profile.d/app.sh             #執行一下
[root@he httpd-2.4.27]# ss -ntl                      #查看80端口對否開啓
State      Recv-Q Send-Q                Local Address:Port                               Peer Address:Port              
LISTEN     0      128                               *:22                                            *:*                  
[root@he httpd-2.4.27]# apachectl                     #用apache自帶的程序啓動
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
[root@he mysql]# ss -ntl                                                  #確認服務啓動成功
State      Recv-Q Send-Q                                      Local Address:Port                                                     Peer Address:Port              
LISTEN     0      128                                                     *:80                                                                  *:*                  
LISTEN     0      128                                                     *:22                                                                  *:*                  
LISTEN     0      80                                    *:22                                            *:*                  
[root@he httpd-2.4.27]# curl 39.108.126.131                 #用字符瀏覽器看一下,這樣就ok啦
<html><body><h1>It works!</h1></body></html>

註解:
AH00558: 這個只是一個提示,算不上報錯
在配置文件/app/httpd24/conf/httpd.conf裏面改一下ServerName localhost:80重啓就不會有了


2、二進制安裝mariadb

[root@he data]# rpm -qa 'mariadb*'                    #檢查是否存在舊版本
mariadb-libs-5.5.52-1.el7.x86_64
[root@he data]# yum remove mariadb-libs                  #刪除舊版本
Loaded plugins: fastestmirror
Resolving Dependencies
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.52-1.el7 will be erased
…………
Removed:
  mariadb-libs.x86_64 1:5.5.52-1.el7                                                                                      

Dependency Removed:
  postfix.x86_64 2:2.10.1-6.el7                        redhat-lsb-core.x86_64 0:4.1-27.el7.centos.1                       

Complete!
[root@he bin]# cd /root/data                       #進入存放軟件包的文件夾
[root@he data]# ls
apr-1.5.2.tar.bz2       httpd-2.4.27          mariadb-10.2.7-linux-x86_64.tar.gz  wordpress-4.8-zh_CN.tar.gz
apr-util-1.5.4.tar.bz2  httpd-2.4.27.tar.bz2  php-7.1.7.tar.bz2                   xcache-3.2.0.tar.gz
[root@he data]# tar xf mariadb-10.2.7-linux-x86_64.tar.gz -C /usr/local/    #解壓到/usr/local
[root@he data]# cd /usr/local/                                         #進入解壓數據庫的文件夾 
[root@he local]# ls
aegis  bin  etc  games  include  lib  lib64  libexec  mariadb-10.2.7-linux-x86_64  sbin  share  src
[root@he local]# ln -s mariadb-10.2.7-linux-x86_64/  mysql            #寫個軟連接
[root@he local]# useradd -r mysql -s /sbin/nologin -d /app/mysqldb -m         #創建mysql用戶並指定家目錄
[root@he local]# cd mysql/
[root@he mysql]# scripts/mysql_install_db    --user=mysql --datadir=/app/mysqldb/ #運行生成數據庫的腳本
Installing MariaDB/MySQL system tables in '/app/mysqldb/' ...
…………
The latest information about mysql_install_db is available at
https://mariadb.com/kb/en/installing-system-tables-mysql_install_db
MariaDB is hosted on launchpad; You can find the latest source and
email lists at http://launchpad.net/maria

Please check all of the above before submitting a bug report
at 
[root@he mysql]# mkdir /etc/mysql                        #創建配置目錄
[root@he mysql]# cp support-files/my-huge.cnf  /etc/mysql/my.cnf       #複製自帶的配置模板
[root@he mysql]# vim /etc/mysql/my.cnf                     #修改模板 
……
# The MySQL server
[mysqld]
datadir         = /app/mysqldb                      #存放位置
innodb_file_per_table = ON
skip_name_resolve = ON
port            = 3306
……
[root@he mysql]# cp support-files/mysql.server  /etc/init.d/mysqld       #複製啓動服務模板
[root@he mysql]# chkconfig   --add  mysqld                  #加入啓動項 
[root@he mysql]# chkconfig   --list mysqld                  #查看啓動項

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

mysqld         	0:off	1:off	2:on	3:on	4:on	5:on	6:off
[root@he mysql]# service mysqld start                       #啓動的時候如果失敗檢查/etc/mysql/my.cnf路徑有沒寫錯,可以參考/app/mysqldb/主機名.err文件排錯
Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
                                                           [FAILED]
[root@he mysql]# service mysqld start                       #啓動服務,
Starting mysqld (via systemctl):                           [  OK  ]
[root@he mysql]# ss -ntl                              #確認服務啓動成功
State      Recv-Q Send-Q                                      Local Address:Port                                                     Peer Address:Port              
LISTEN     0      128                                                     *:80                                                                  *:*                  
LISTEN     0      128                                                     *:22                                                                  *:*                  
LISTEN     0      80                                                     :::3306                                                               :::*  
[root@he mysql]# mysql_secure_installation                      #執行mariadb自帶的腳本配置安全選項

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):                 #根據提示完成下列選項
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
……
Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
[root@he mysql]# mysql -uroot -pXXXXX                          #登錄mariadb
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 17
Server version: 10.2.7-MariaDB-log MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database wpdb;                         #創建數據庫
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on  wpdb.* to username@'%' identified by 'XXXXX.'; #創建新的用戶和密碼並分配權限
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit                                   #退出
Bye

3、編譯安裝php

[root@he mysql]# cd /root/data/                                   #進入放軟件包的文件夾
[root@he data]# tar xf php-7.1.7.tar.bz2                          #解壓文件
[root@he data]# cd php-7.1.7
[root@he php-7.1.7]# yum -y install libxml2-devel bzip-devel libmcrypt-devel bzip2-deve  #安裝需要的包
…………
  Verifying  : libxml2-devel-2.9.1-6.el7_2.3.x86_64                                                                                                               4/4 

Installed:
  libmcrypt-devel.x86_64 0:2.5.8-13.el7                                             libxml2-devel.x86_64 0:2.9.1-6.el7_2.3                                            

Dependency Installed:
  libmcrypt.x86_64 0:2.5.8-13.el7                                                    xz-devel.x86_64 0:5.2.2-1.el7                                                   

Complete!
[root@he php-7.1.7]# ./configure --prefix=/app/php --enable-mysqlnd  --with-mysqli=mysqlnd   --with-openssl --enable-mbstring --with-png-dir --with-jpeg-dir --with-freetype-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 --with-bz2
checking for grep that handles long lines and -e... /usr/bin/grep   #自定義一些模塊的設置
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
…………
Thank you for using PHP.

config.status: creating php7.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands
[root@he php-7.1.7]# make && make install                       #編譯安裝
…………
Installing PEAR environment:      /app/php/lib/php/
[PEAR] Archive_Tar    - installed: 1.4.3
[PEAR] Console_Getopt - installed: 1.4.1
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util       - installed: 1.4.2
[PEAR] PEAR           - installed: 1.10.5
Wrote PEAR system config file at: /app/php/etc/pear.conf
You may want to add: /app/php/lib/php to your php.ini include_path
/root/data/php-7.1.7/build/shtool install -c ext/phar/phar.phar /app/php/bin
ln -s -f phar.phar /app/php/bin/phar
Installing PDO headers:           /app/php/include/php/ext/pdo/
[root@he php-7.1.7]# cp php.ini-production  /etc/php.ini       #複製一份配置文件去修改
[root@he php-7.1.7]# vim /app/httpd24/conf/httpd.conf           #修改apache的配置文件,允許php文件
……
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
……
<IfModule dir_module>
    DirectoryIndex  index.php  index.html
</IfModule>
[root@he php-7.1.7]# apachectl stop                   #關閉服務
[root@he php-7.1.7]# apachectl start                   #啓動服務

4、測試連接

[root@he php-7.1.7]# vim /app/httpd24/htdocs/index.php            #寫一個測試數據庫是否聯通的小文件

<?php
$mysqli=new mysqli("127.0.0.1","root","XXXXX");
if(mysqli_connect_errno()){
echo "連接數據庫失敗!";
$mysqli=null;
exit;
}
echo "連接數據庫成功!";
$mysqli->close();
?>

5、解壓WordPress、根據提示做一下基本的配置

[root@he ~]# cd /root/data/                          #進入放軟件包的文件夾
[root@he data]# tar xf wordpress-4.8-zh_CN.tar.gz                #解壓WordPress
[root@he data]# mv wordpress /app/httpd24/htdocs/blog             #把WordPress移動到apache目錄下並更名blog
[root@he data]# cd /app/httpd24/htdocs/blog/                   #進入blog
[root@he blog]# cp wp-config-sample.php wp-config.php                     #複製一份配置文件來修改
[root@he blog]# vim wp-config.php                        #修改配置文件,根據中文提示
……
// ** MySQL 設置 - 具體信息來自您正在使用的主機 ** //
/** WordPress數據庫的名稱 */
define('DB_NAME', 'wpdb');

/** MySQL數據庫用戶名 */
define('DB_USER', 'root');

/** MySQL數據庫密碼 */
define('DB_PASSWORD', 'XXXXXX');

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

6、接下來要做的就是用瀏覽器訪問http://172.16.252.250/blog ,根據系統的中文提示來完成個人博客的搭建

一、填寫你登錄自己博客的基本信息

wKioL1mGxUKhS-eTAAB4_SD3zNU787.png

二、跳轉到設置成功的頁面,你點擊登錄就可以進入自己的博客


wKiom1mGxUOgg2A_AAAg0RXdqjg021.png

wKioL1mGxUPx6LW-AAA2L63rRNk756.png

三、登錄成功,可以盡情的設置你想要的一些東西。

wKioL1mGxUOhq8w9AAC16pU4-hs797.png



  好了、搭建自己的博客我們就說說到這裏啦,講解描述得不清楚的地方請見諒。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章