centos7.3 编译安装lamp,利用wordpress实现个人博客搭建

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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


准备工作:

[[email protected] ~]# mkdir /app                      #创建/app目录,我们把软件包安装到/app里
[[email protected] ~]# mkdir data                      #创建data文件夹,把我们下载的软件包传入
[[email protected] ~]# ls
data
[[email protected] ~]# cd data/
[[email protected] data]# rz

[[email protected] data]# rz

[[email protected] data]# rz

[[email protected] data]# rz

[[email protected] data]# rz

[[email protected] data]# rz

[[email protected] data]# rz

[[email protected] 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
[[email protected] ~]# 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!
[[email protected] ~]# 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!
[[email protected] ~]# 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编译安装


[[email protected] data]# tar xf apr-1.5.2.tar.bz2                  #解压文件
[[email protected] data]# tar xf apr-util-1.5.4.tar.bz2 
[[email protected] data]# tar xf httpd-2.4.27.tar.bz2 
[[email protected] data]# mv apr-1.5.2  httpd-2.4.27/srclib/apr           #将apr的文件放进httpd文件夹里面一起安装
[[email protected] data]# mv apr-util-1.5.4  httpd-2.4.27/srclib/apr-util
[[email protected] data]# cd httpd-2.4.27
[[email protected] 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
    
[[email protected] 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‘
[[email protected] ~]# vim /etc/profile.d/app.sh                  #写一个脚本,把httpd、mariadb放进bin下

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

[[email protected] httpd-2.4.27]# .  /etc/profile.d/app.sh             #执行一下
[[email protected] httpd-2.4.27]# ss -ntl                      #查看80端口对否开启
State      Recv-Q Send-Q                Local Address:Port                               Peer Address:Port              
LISTEN     0      128                               *:22                                            *:*                  
[[email protected] 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
[[email protected] 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                                            *:*                  
[[email protected] 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

[[email protected] data]# rpm -qa ‘mariadb*‘                    #检查是否存在旧版本
mariadb-libs-5.5.52-1.el7.x86_64
[[email protected] 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!
[[email protected] bin]# cd /root/data                       #进入存放软件包的文件夹
[[email protected] 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
[[email protected] data]# tar xf mariadb-10.2.7-linux-x86_64.tar.gz -C /usr/local/    #解压到/usr/local
[[email protected] data]# cd /usr/local/                                         #进入解压数据库的文件夹 
[[email protected] local]# ls
aegis  bin  etc  games  include  lib  lib64  libexec  mariadb-10.2.7-linux-x86_64  sbin  share  src
[[email protected] local]# ln -s mariadb-10.2.7-linux-x86_64/  mysql            #写个软连接
[[email protected] local]# useradd -r mysql -s /sbin/nologin -d /app/mysqldb -m         #创建mysql用户并指定家目录
[[email protected] local]# cd mysql/
[[email protected] 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 
[[email protected] mysql]# mkdir /etc/mysql                        #创建配置目录
[[email protected] mysql]# cp support-files/my-huge.cnf  /etc/mysql/my.cnf       #复制自带的配置模板
[[email protected] mysql]# vim /etc/mysql/my.cnf                     #修改模板 
……
# The MySQL server
[mysqld]
datadir         = /app/mysqldb                      #存放位置
innodb_file_per_table = ON
skip_name_resolve = ON
port            = 3306
……
[[email protected] mysql]# cp support-files/mysql.server  /etc/init.d/mysqld       #复制启动服务模板
[[email protected] mysql]# chkconfig   --add  mysqld                  #加入启动项 
[[email protected] 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
[[email protected] 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]
[[email protected] mysql]# service mysqld start                       #启动服务,
Starting mysqld (via systemctl):                           [  OK  ]
[[email protected] 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                                                               :::*  
[[email protected] 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!
[[email protected] 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 [email protected]‘%‘ identified by ‘XXXXX.‘; #创建新的用户和密码并分配权限
Query OK, 0 rows affected (0.00 sec)

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

3、编译安装php

[[email protected] mysql]# cd /root/data/                                   #进入放软件包的文件夹
[[email protected] data]# tar xf php-7.1.7.tar.bz2                          #解压文件
[[email protected] data]# cd php-7.1.7
[[email protected] 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!
[[email protected] 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
[[email protected] 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/
[[email protected] php-7.1.7]# cp php.ini-production  /etc/php.ini       #复制一份配置文件去修改
[[email protected] 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>
[[email protected] php-7.1.7]# apachectl stop                   #关闭服务
[[email protected] php-7.1.7]# apachectl start                   #启动服务

4、测试连接

[[email protected] 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、根据提示做一下基本的配置

[[email protected] ~]# cd /root/data/                          #进入放软件包的文件夹
[[email protected] data]# tar xf wordpress-4.8-zh_CN.tar.gz                #解压WordPress
[[email protected] data]# mv wordpress /app/httpd24/htdocs/blog             #把WordPress移动到apache目录下并更名blog
[[email protected] data]# cd /app/httpd24/htdocs/blog/                   #进入blog
[[email protected] blog]# cp wp-config-sample.php wp-config.php                     #复制一份配置文件来修改
[[email protected] 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 ,根据系统的中文提示来完成个人博客的搭建

一、填写你登录自己博客的基本信息

技术分享

二、跳转到设置成功的页面,你点击登录就可以进入自己的博客


技术分享

技术分享

三、登录成功,可以尽情的设置你想要的一些东西。

技术分享



  好了、搭建自己的博客我们就说说到这里啦,讲解描述得不清楚的地方请见谅。

本文出自 “11986114” 博客,请务必保留此出处http://11996114.blog.51cto.com/11986114/1954015

以上是关于centos7.3 编译安装lamp,利用wordpress实现个人博客搭建的主要内容,如果未能解决你的问题,请参考以下文章

centos7.3基于源码编译安装LAMP的wordpress应用

LAMP原理架构解析:LAMP编译安装

centos7.3安装最新版lamp环境

CentOS7最小化源码安装LAMP-步骤详解

Centos7.3 部署 LAMP 架构动静分离

基于centos7.3 redhat7.3安装LAMP(php7.0 php7.1)生产环境实践