准备安装包,并解压

  mariadb-10.3.13.tar.gz  ,php-7.3.2.tar.bz2  ,httpd-2.4.38.tar.bz2  php-7.3.2 ,  phpMyAdmin-4.8.5-all-languages.tar.gz ,  wordpress-5.0.3-zh_CN.tar.gz   apr-1.6.5.tar.bz2   apr-util-1.6.1.tar.bz2

安装前准备

  yum安装编译四个包所必须的工具

  "development tools"

  gnutls-devel  ncurses-devel  cmake  ibaio-devel  openssl-devel  libxml2-devel   mariadb-devel   bison bison-devel zlib-devel openssl-devel  libcurl-devel libarchive-devel boost-devel gcc gcc-c++ libevent-devel   pcre-devel apr-devel apr-util-devel   bzip2-devel libmcrypt-devel

编译安装mariadb

  useradd -r -s /sbin/nologin  mysql            创建用户,并创建数据库目录

  

cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \
-DMYSQL_DATADIR=/mysqldb/ \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_ARCHIVE_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DWITH_READLINE= \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP= \
-DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DWITH_DEBUG= \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1

  如果发生错误,需要删除文件夹,重新解压,再安装

  make & make install

准备环境变量

  echo 'PATH=/app/mysql/bin/:$PATH' > /etc/profile.d/mysql.sh

  . /etc/profile.d/mysql.sh

生成数据库文件

  cd /app/mysql/

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

准备配置文件

  vim /etc/my.cnf  

    datadir=/mysqldb
    socket=/app/mysql/mysql.sock

mysql权限调整

  chown -R mysql.mysql /mysqldb

  chgrp -R mysql /app/mysql/

  chmod 775 /app/mysql/

准备启动脚本

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

  chkconfig --add mysqld

  service mysqld start

初始化设置

  mysql_secure_installation

  设置root密码并删除空账户

  

编译安装httpd

将apr和apr-util一起编译

cp -av apr-util-1.6.0 httpd-2.4.27/srclib/apr-util

cp -av apr-1.6.2 httpd-2.4.27/srclib/apr

./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

make && make install

Httpd编译过程:/app/httpd24/build/config.nice

自带的服务控制脚本:/app/httpd24/bin/apachectl

创建账号

useradd -r -s /sbin/nologin apache

vim /app/httpd24/conf/httpd.conf

  User apache
  Group apache

修改变量

vim /etc/profile.d/httpd24.sh

  PATH=/app/httpd24/bin:$PATH

vim /etc/man.config

  MANPATH /app/httpd24/man

添加开机自动启动

vim /etc/rc.local   添加一行

  /app/httpd24/apachectl

编译Php-7.3.2

cd /root/php-7.3.2

./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

make && make install

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

cp /root/php-7.3.2/sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

cp php-fpm.conf.default  php-fpm.conf

chkconfig php-fpm on

cd /app/php/etc

cp php-fpm.conf.default  php-fpm.conf

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

service php-fpm start

配置httpd支持php

  vim /app/httpd24/conf/httpd.conf

  取消下面两行的注释

  LoadModule proxy_module modules/mod_proxy.so

  LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

  修改下面行

  <IfModule dir_module>

    DirectoryIndex index.php index.html

  </IfModule>

  加下面四行

  AddType application/x-httpd-php .php

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

  ProxyRequests Off

  ProxyPassMatch ^/(.*\.php)$

  fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1

修改/etc/php.ini,填入数据库的sock文件地址   ,是数据库和php连接

   [Pdo_mysql]

   pdo_mysql.default_socket=/app/mysql/mysql.sock

   [MySQLi]

   mysqli.default_socket = /app/mysql/mysql.sock

安装wordpress

  cd /root/wordpress

  mv  *  /app/httpd24/htdocs

两种方式设置数据库连接:

1、手动设置

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

  vim wp-config.php    

// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress使用的数据库名');

/** MySQL数据库用户名 */
define('DB_USER', '登陆数据库名');

/** MySQL数据库密码 */
define('DB_PASSWORD', '数据库密码');

/** MySQL主机 */
define('DB_HOST', 'localhost');                          默认本地,远程需要更改

/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');

/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');

2、setfacl -Rm u:apache:rwx  /app/httpd24/htdocs/

  然后打开主页填写,完成后,收回权限,setfacl  -Rb /app/httpd24/htdocs/

php-Mysql安装

cd /root/phpMysql

mkdir /app/httpd24/htdocs/pma

cp  *  /app/httpd24/htdocs/pma

centos7编译安装lamp实现wordpress的更多相关文章

  1. 在centos6上实现编译安装lamp和wordpress,并编译xcache

    author:JevonWei 版权声明:原创作品 软件环境: centos6.9 httpd-2.4.27.tar.bz2 apr-1.5.2.tar.bz2 apr-util-1.5.4.tar. ...

  2. centos7源码编译安装lamp/lnmp

    centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...

  3. ubuntu10.04编译安装LAMP

    ubuntu10.04编译安装LAMP以及简单wordpress的使用 : http://linuxme.blog.51cto.com/1850814/971631 一.源码安装LAMP 网上有一堆关 ...

  4. (2)编译安装lamp三部曲之mysql-技术流ken

    简介 采用yum安装lamp简单,快捷,在工作中也得到了普遍应用.但是如果我们需要某些特定模块功能,以及制定安装位置等,就需要用到编译安装了,接下来将编译安装lamp之mysql. mysql的简介网 ...

  5. CentOS 6, 编译安装lamp (php-fpm)

    1 整体要求 php-fpm.httpd.mysql三者分别安装在三台虚拟机上: 第一台虚拟主机用于安装Mariadb,第二台虚拟主机安装php-fpm:第三台虚拟主机安装httpd.三台主机安装完之 ...

  6. FastCGI模式编译安装LAMP+Xcache

    PHP的工作模式:php在lamp环境下共有三种工作模式:CGI模式.apache模块.FastCGI模式.CGI模式下运行PHP,性能不是很好.(已淘汰)FastCGI的方式和apache模块的不同 ...

  7. CentOS 6编译安装lamp,并分别安装event模块方式和FPM方式的PHP

    任务目标: 编译安装LAMP 要求(1) 安装一个模块化的PHP 要求(2) 安装一个FPM的PHP 注意PHP需要最后一个安装,因为需要前两者的支持. 所以这里的安装次序为 1.httpd 2.Ma ...

  8. CentOS6.3 编译安装LAMP(1):准备工作

    卸载yum或rpm安装的amp软件 #在编译安装lamp之前,首先先卸载已存在的rpm包. rpm -e httpd rpm -e mysql rpm -e php yum -y remove htt ...

  9. CentOS6.3 编译安装LAMP(2):编译安装 Apache2.2.25

    所需源码包: /usr/local/src/Apache-2.2.25/httpd-2.2.25.tar.gz 编译安装 Apache2.2.25 #切换到源码目录 cd /usr/local/src ...

随机推荐

  1. 快速创建jquery插件

    介绍 什么是插件? 插件我们见得很多了,比如浏览器上我们会安装一些去除广告的插件.美化页面的插件等等. 在前端,我们也常常写一些jquery插件来使用.来添加我们常常写的一些功能,方便使用. 为什么要 ...

  2. 微服务(Micro Service Architecture)浅析

    最近一段时间,微服务的概念很火,可能是跟Docker技术的快速发展和壮大有一定的关系,同时借助于Uber.Netflix.Groupon等公司的实践.宣传和推广,使得MSA渐渐地成为企业或者架构师讨论 ...

  3. redis4集群

    三台服务器:先设置hosts 10.0.0.231 node1 10.0.0.232 node2 10.0.0.233 node3 端口分配: node1: node1: node2: node2: ...

  4. java多线程之守护线程与非守护线程

    在java线程中有两种线程,一种是用户线程,其余一种是守护线程. 守护线程具有特殊的含义,比如gc线程.当最后一个非守护线程执行完后,守护线程随着jvm一同结束工作. java中的守护线程需要将Dae ...

  5. 装配bean,基于xml

    一.bean的实例化方式 1.默认构造 <bean id="" class=""></bean> 必须提供默认构造方法 2.静态工厂 用 ...

  6. mysql-增删改(DML)

    插入:insert /*方式一:经典的插入 insert into 表名(列名,...) values(值1,...); */ #.插入的值的类型要与列的类型一致或兼容 INSERT INTO bea ...

  7. Hibernate课程 初探多对多映射2-1 创建数据库表

    --创建表 -- 创建项目表 create table project(  proid int(10) not null comment '项目Id',  proname varchar(30) co ...

  8. MySQL GROUP_CONCAT长度限制引发的一场灾难

    GROUP_CONCAT函数是对查处的分组数据对于分组列相同的数据合并成一列用逗号隔开的函数. 但是该函数的长度有个默认限制,默认是1024个字符,超过就会截断,从而导致用count统计GROUP_C ...

  9. JavaScript流程语句

    循环语句 while 语法 while(条件表达式){ 循环执行代码段 } 流程 1.判断条件表达式的值 2.当值为true时,循环执行代码段 3.当值为false时退出循环体 特性 先检查条件,再执 ...

  10. javascript中如何实现继承

    javascript中如何实现继承 // 原型方式的'继承' function Person(name) { //定义一个Person的构造函数 this.name = name; //添加属性 } ...