20171118 lamp wordpress code

###LAMP+WP###
rhel6u5  IP=133.224.228.75
mysql 5.6.38
php-5.5.38
httpd-2.4.18
wordpress-4.4.1
yum源133.224.231.30
 
配置网络yum
[root@rhel01 code]# cat /etc/yum.repos.d/yum.repo
[yum]
name=redhat6.5
baseurl=ftp://133.224.231.30/redhat6.5
enabled=1
gpgcheck=0
 
133.224.231.30   安装yum  -y install  vsftpd  搭建ftp服务端
[root@rhel01 code]# ssh 133.224.231.30
root@133.224.231.30's password:
Last login: Tue Nov 21 09:05:04 2017 from 133.224.228.75
[root@YUM-Source ~]# find / -name redhat6.5
/media/redhat6.5
/var/ftp/redhat6.5
 
 
 
###mysql ###
#cmake mysql使用cmake跨平台工具预编译源码,用于设置mysql的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等。安装最新版本即可。
#make   mysql源代码是由C和C++语言编写,在linux下使用make对源码进行编译和构建
#gcc     GCC是Linux下的C语言编译工具,mysql源码编译完全由C和C++编写
#bison  Linux下C/C++语法分析器
#ncurses 字符终端处理库
yum install -y cmake
yum install -y make
yum install -y gcc
yum install -y gcc-c++
yum install -y bison
yum install -y ncurses
yum install -y ncurses-devel

安装

1> 添加mysql用户
groupadd mysql                               
useradd -r -g mysql -s /bin/false mysql 

2> 配置mysql预编译参数

cmake ./                                \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \    #安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data   \    #数据文件存放位置                               
-DSYSCONFDIR=/etc                       \    #my.cnf路径
-DEXTRA_CHARSETS=all                    \    #安装所有的字符集
-DDEFAULT_CHARSET=utf8                  \    #默认字符
-DDEFAULT_COLLATION=utf8_general_ci     \    #默认排序规则
-DWITH_MYISAM_STORAGE_ENGINE=1          \    #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1        \    #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1          \    #支持Memory引擎
-DWITH_READLINE=1                       \    #快捷键功能
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock      \    #连接数据库socket路径
-DMYSQL_TCP_PORT=3306                   \    #端口
-DENABLED_LOCAL_INFILE=1                \    #允许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1            #安装支持数据库分区

若配置失败重新运行配置,需要删除CMakeCache.txt文件

rm -f CMakeCache.txt

3> 编译并安装

make -j  `grep processor /proc/cpuinfo | wc -l`
make install

4> 初始化系统数据库

#5.7.6之前的版本执行这个脚本初始化系统数据库
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data   

 

#--user定义数据库的所属主   --datadir定义数据库的安装位置

# 5.7.6之后版本初始系统数据库脚本

/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

5> 配置mysql参数文件

cp support-files/my-default.cnf  /etc/my.cnf
vi /etc/my.cnf
[client]
port=3306
socket=/tmp/mysqld.sock
default-character-set=utf8
[mysqld]
user=mysql
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
innodb_buffer_pool_size = 64M
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
server_id = 1
socket = /tmp/mysqld.sock
character-set-server=utf8
init_connect='SET NAMES utf8'
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
log-error=/usr/local/mysql/data/mysql_error.log
pid-file=/usr/local/mysql/data/mysql.pid
default-storage-engine=InnoDB
[mysqldump]
quick

初始化完成后mysql中目录文件的属主应改回成root,以免被别人攻破mysql用户密码而带来数据破坏等

chown -R root:mysql   /usr/local/mysql/*        
chown -R mysql:mysql /usr/local/mysql/data/      

6>配置mysql服务

cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld    
chkconfig mysqld on     

7>启动服务

service mysqld start      
ps –ef|grep mysql
netstat -tnl|grep 3306

8>配置mysql环境变量

~/.bash_profile
export PATH=/usr/local/mysql/bin:$PATH

9>设置数据库密码

mysqladmin -u root password

#允许远程  不然在后面没法配置wordpress图形界面的

create database wordpress
grant all privileges on *.* to 'root'@'%' identified by 'Test,1234' with grant option;
grant all privileges on wordpress.* to 'shihfa'@'%' identified by 'Test,1234' with grant option;

 

 

###Apache###

解决依赖关系
httpd-2.4.23需要较新版本的apr和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源代码编译安装,一种是直接升级rpm包。
1)编译安装apr
cd apr-1.5.2
tar -zxvf apr-1.5.2.tar.gz
./configure --prefix=/usr/local/apr   
make && make install

(2)编译安装apr-util

tar -zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr       
# --prefix指定安装路径;--with-apr指定apr的安装路径,apr-util依赖于apr
make && make install

(3)httpd-2.4.23编译过程也要依赖于pcre-devel软件包和openssl,需要事先安装。

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

#方式1

编译
[root@rhel01 code]# cd httpd-2.4.18
[root@rhel01 httpd-2.4.18]#
./configure                         \
--prefix=/usr/local/apache          \
--with-included-apr                 \
--enable-so                         \
--enable-deflate=shared             \
--enable-expires=shared             \
--enable-rewrite=shared             \
--with-pcre                         \
--with-apr=/usr/local/apr           \
--with-apr-util=/usr/local/apr-util
#方式2
失败了操作如下
mv apr-util-1.5.4 /soft/httpd-2.4.18/srclib/apr-util
mv apr-1.5.2      /soft/httpd-2.4.18/srclib/apr

再次 ./configure

./configure \
--prefix=/usr/local/apache \
--with-included-apr \ #如果是开发者则使用此选项,利于连接apache的代码或者是调试apache,其消除了由于版本或者编译中跟APR或者APR-util代码产生的不匹配;
--enable-so \ #让apache核心装载DSO
--enable-deflate=shared \ #表示共享的方式编译压缩, apache开启gizp的压缩功能。网页压缩。扩展:
--enable-expires=shared \ #网站需要用到缓存功能,支持 HTTP 控制
--enable-rewrite=shared \ #支持 URL 重写
--with-pcre

 
# 编译和安装
make && make install   

#启动服务

/usr/local/apache/bin/apachectl  start
测试
133.224.228.75  显示it works!
 
 
 
###PHP###
(1)安装图片资源软件
yum -y install gd
yum -y install gd-devel 
yum -y install libjpeg
yum -y install libjpeg-devel
yum -y install libpng
yum -y install libpng-devel
yum -y install freetype
yum -y install freetype-devel
yum -y install libpng
yum -y install libpng-devel

(2)安装libxml(扩展标记语言)库

yum -y  install libxml2
yum -y  install libxml2-devel

(3)安装bzip2压缩库

yum install -y bzip2 bzip2-devel

(4)安装mcrypt加密库

rpm -ivh libmcrypt-2.5.8-9.el6.x86_64.rpm    
rpm -ivh libmcrypt-devel-2.5.8-9.el6.x86_64.rpm 

(5)编译安装php 5.4.16

./configure                                     \
--prefix=/usr/local/php                         \
--with-mysql=/usr/local/mysql                   \mysql相关
--with-mysqli=/usr/local/mysql/bin/mysql_config \mysql的另外一个接口,让mysql与php交互的接口;接口程序是mysql_config,是个二进制程序
--with-apxs2=/usr/local/apache/bin/apxs         \基于apxs实现让php编译成apace模块
--with-config-file-path=/usr/local/php/etc      \php配置文件的路径放在了什么地方 主配置文件是php.ini
--with-libxml-dir                               \
--with-openssl                                  \让其能够支持openssl功能
--enable-mbstring                               \多字节string,支持中文或者是非一个字节能够表示的语言
--with-gd                                       \支持gd库    
--with-freetype-dir                             \支持freetype功能,freetype:自由的可移植的字体库,可以实现去引用特定字体的
--with-jpeg-dir                                 \支持jpeg图片
--with-png-dir                                  \支持png图片
--with-zlib                                     \互联网上常用的,通用格式的压缩库,让数据文件先压缩再传送给客户端
--enable-xml                                    \xml(扩展标记语言),现在的很多系统在实现数据交互的时候,都要基于xml来实现,所以要php支持xml,并且让其知道其库文件所在位置
--enable-sockets                                \让php支持基于套接字的通信
--with-mcrypt                                   \支持加密功能的,额外的加密库
--with-bz2                                      \压缩库
--enable-maintainer-zts                          这一项的使用取决于apache是什么类型的,apache使用的是prefork就不需要;如果使用的是event或者是worker就要添加这一项;apache以线程工作就必须编译这一项
make -j 4  && make install
(6)为php提供配置文件
php.ini-development    # 用于开发环境
php.ini-production      # 用于生产环境:把这项复制到/usr/local/php/etc/目录下重命名为php.ini即可;不需要启动服务,因为已经编译成apache模块了;是否启动服务要看工作模型,当做成fastcgi要启动服务
cp php.ini-production /usr/local/php/etc/php.ini

配置httpd服务,使其支持php

vim /usr/local/apache/conf/httpd.conf
1)找到#ServerAdmin you@example.com 
  改成ServerAdmin you@example.com
2)找到DirectoryIndex  index.html
  改成DirectoryIndex index.php  index.html
3)找到
<Directory />
    AllowOverride none
    Require all denied
</Directory>
 改成
<Directory />
    Options FollowSymLinks
    AllowOverride none
    Order deny,allow
    Allow from all
</Directory>
4)找到
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
 改为
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php
1.ServerName www.example.com:80    打开服务器占用80端口
2.Allow from all  允许访问web内容目录
3.DirectoryIndex index.html index.php   目录索引支持php
4. AddType application/x-httpd-php .php  应用类型支持php
 
重启httpd服务
/usr/local/apache/bin/apachectl  start

添加测试文件,测试

[root@rhel01 htdocs]# pwd
/usr/local/apache/htdocs
[root@rhel01 htdocs]# cat index.php
<?php
phpinfo();
?>
 
访问显示版本信息
http://133.224.228.75/index.php
 
###Wordpress
安装workpress
tar -zxvf /code/wordpress-4.4.1-zh_CN.tar.gz -C /usr/local/apache/htdocs/

再次编辑httpd.conf

/usr/local/apache/conf/httpd.conf
找到
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
改为
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
编辑httpd-vhosts.conf
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
     DocumentRoot "/usr/local/apache/htdocs/wordpress"
#    ServerName www.shihfa.com
#    ServerAlias www.shihfa.com
#    ErrorLog "logs/dummy-host.example.com-error_log"
#    CustomLog "logs/dummy-host.example.com-access_log" common
#</VirtualHost>
重启http服务
这样访问http://www.shihfa.com 直接跳转/usr/local/apache/htdocs/wordpress目录下
 
再次配置
配置wordpress
http://133.224.228.75/wordpress
 
###命令###
php -m
php -v
php -i
yum search php

 

 

 
 
 
posted @ 2017-12-07 13:28  随缘飘落  阅读(228)  评论(0)    收藏  举报