现在的位置: 首页 > 教程分享 > 正文

纯手工搭建LAMP环境(CentOS6.5/Apache2.4/MySQL5.6/PHP5.6)

2017年06月27日 教程分享 ⁄ 共 7048字 ⁄ 字号 暂无评论

最近突然对Zabbix、Nagios网络监控有些兴趣,新版的监控程序对Apache、MySQL、PHP都有较高的版本要求,之前配置的LAMP环境远远无法满足,只要新装配置一个较新版本的LAMP环境,特此记录下搭建过程,分享给有需要的朋友们!如需搭建较旧版本的LAMP,可以参考花郎之前分享的:

纯手工搭建LAMP环境(CentOS6.5/Apache2.2/MySQL5.1/PHP5.3)

第一步 下载软件

本次实验版本如下:

  1. MySQL 5.6.36    
  2. Apache 2.4.26    
  3. Apache-apr 1.6.2    
  4. Apache-apr-util 1.6.0    
  5. PHP 5.6.29      

更多版本

MySQL:https://dev.mysql.com/downloads/mysql/
Apache:http://httpd.apache.org/download.cgi
Apache-apr:http://apache.claz.org/apr/
PHP:http://php.net/releases/

建议把所有软件包都存放到服务器“/usr/local/src”目录统一管理;

  1. [root@Wanghualang-A ~]# cd /usr/local/src/   
  2. [root@Wanghualang-A src]# wget http://apache.fayea.com//httpd/httpd-2.4.26.tar.gz    
  3. [root@Wanghualang-A src]# wget http://apache.osuosl.org//apr/apr-1.6.2.tar.gz    
  4. [root@Wanghualang-A src]# wget http://apache.osuosl.org//apr/apr-util-1.6.0.tar.gz    
  5. [root@Wanghualang-A src]# wget http://cn2.php.net/distributions/php-5.6.29.tar.gz  

第二步 禁用防火墙、SElinux

  1. [root@Wanghualang-A ~]# service iptables stop  
  2. [root@Wanghualang-A ~]# service ip6tables stop  
  3. [root@Wanghualang-A ~]# chkconfig iptables off  
  4. [root@Wanghualang-A ~]# chkconfig ip6tables off  
  5. [root@Wanghualang-A ~]# setenforce 0  
  6. [root@Wanghualang-A ~]# sed -ri 's#^(SELINUX=).*#\1disabled#g' /etc/selinux/config  

第三步 安装数据库

安装相关工具包;

  1. [root@Wanghualang-A ~]# yum -y install libaio perl-DBI  

解压MySQL免安装包;

  1. [root@Wanghualang-A ~]# cd /usr/local/src/   
  2. [root@Wanghualang-A src]# tar xzf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz   
  3. [root@Wanghualang-A src]# mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql  

新建MySQL管理用户、用户组、数据存放目录;

  1. [root@Wanghualang-A ~]# groupadd mysql  
  2. [root@Wanghualang-A ~]# useradd -M mysql -s /sbin/nologin -g mysql  
  3. [root@Wanghualang-A ~]# mkdir -p /data/mysql  
  4. [root@Wanghualang-A ~]# chown -R mysql:mysql /data/mysql  
  5. [root@Wanghualang-A ~]# chown -R mysql:mysql /usr/local/mysql/  

编辑MySQL主配置文件;

  1. [root@Wanghualang-A ~]# cp -rf /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf  
  2. [root@Wanghualang-A ~]# vim /etc/my.cnf  

找到:

# basedir = .....
# datadir = .....

修改为:

basedir = /usr/local/mysql
datadir = /data/mysql

初始化MySQL;

  1. [root@Wanghualang-A ~]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql  

配置MySQL服务脚本、开机启动;

  1. [root@Wanghualang-A ~]# cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql  
  2. [root@Wanghualang-A ~]# cd /etc/init.d/  
  3. [root@Wanghualang-A init.d]# chmod 755 mysql   
  4. [root@Wanghualang-A init.d]# chkconfig --add mysql  
  5. [root@Wanghualang-A init.d]# chkconfig mysql on  

配置MySQL命令环境变量;

  1. [root@Wanghualang-A ~]# echo "export PATH="/usr/local/mysql/bin:$PATH">> /etc/profile  
  2. [root@Wanghualang-A ~]# source /etc/profile  

启动MySQL;

  1. [root@Wanghualang-A ~]# service mysql start  

第四步 安装Apache

新建Apache用户、用户组

  1. [root@Wanghualang-A ~]# groupadd apache  
  2. [root@Wanghualang-A ~]# useradd -M apache -s /sbin/nologin -g apache  

安装相关开发包;

  1. [root@Wanghualang-A ~]# yum -y install expat-devel pcre-devel gcc gcc-c++ openssl-devel  

安装Apache-apr;

  1. [root@Wanghualang-A ~]# cd /usr/local/src/  
  2. [root@Wanghualang-A src]# tar xzf apr-1.6.2.tar.gz  
  3. [root@Wanghualang-A src]# cd apr-1.6.2  
  4. [root@Wanghualang-A apr-1.6.2]# ./configure --prefix=/usr/local/apr  
  5. [root@Wanghualang-A apr-1.6.2]# make  
  6. [root@Wanghualang-A apr-1.6.2]# make install  

安装Apache-apr-util;

  1. [root@Wanghualang-A ~]# cd /usr/local/src/  
  2. [root@Wanghualang-A src]# tar xzf apr-util-1.6.0.tar.gz  
  3. [root@Wanghualang-A src]# cd apr-util-1.6.0  
  4. [root@Wanghualang-A apr-util-1.6.0]# ./configure  --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr  
  5. [root@Wanghualang-A apr-util-1.6.0]# make  
  6. [root@Wanghualang-A apr-util-1.6.0]# make install  

编译安装Apache;

  1. [root@Wanghualang-A ~]# cd /usr/local/src/    
  2. [root@Wanghualang-A src]# tar xzf httpd-2.4.26.tar.gz    
  3. [root@Wanghualang-A src]# cd httpd-2.4.26    
  4. [root@Wanghualang-A httpd-2.4.26]# ./configure --prefix=/usr/local/apache --enable-ssl  --enable-cgi  --enable-rewrite  --enable-modules=most  --enable-mpms-shared=all  --with-apr-util=/usr/local/apr-util  --with-zlib  --with-pcre  --with-mpm=prefork  
  5. [root@Wanghualang-A httpd-2.4.26]# make    
  6. [root@Wanghualang-A httpd-2.4.26]# make install    

配置Apache服务脚本;

  1. [root@Wanghualang-A ~]# cp -rf /usr/local/apache/bin/apachectl /etc/init.d/httpd  
  2. [root@Wanghualang-A ~]# vim /etc/init.d/httpd  

在开头第一行#!/bin/sh 的下一行加入以下内容:

#chkconfig:345 85 15
#description: Start and stops the Apache HTTP Server.

配置Apahce开机启动;

  1. [root@Wanghualang-A ~]# cd /etc/init.d/  
  2. [root@Wanghualang-A init.d]# chmod 755 httpd  
  3. [root@Wanghualang-A init.d]# chkconfig --add httpd  

第五步 安装PHP

建议大家先安装好相关开发包,这样接下来的编译过程也会顺利很多!当然,第一次折腾的朋友也可以故意先不装相关开发包,通过configure给出的错误提示,依次安装需要的依赖库即可,这样学习更有味道,印象更加深刻。

  1. [root@Wanghualang-A ~]# yum -y install bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel libjpeg-devel libpng-devel freetype-devel  

提前做一些工作,建立libmysqlclient.so、libmysqlclient.so.18软链接;

备注1:如果操作系统是32位,就建立到/usr/lib/

备注2:libmysqlclient.so.xx,后两位数字xx会随着MySQL版本的变化而变化,自己查看确认。

  1. [root@Wanghualang-A ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib64/  
  2. [root@Wanghualang-A ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/  

如果不执行这一步,那么在生成配置文件的时候,可能会报错:

Don’t know how to define struct flock on this system, set –enable-opcache=no

编译安装PHP;

  1. [root@Wanghualang-A ~]# cd /usr/local/src/    
  2. [root@Wanghualang-A src]# tar xzf php-5.6.29.tar.gz    
  3. [root@Wanghualang-A src]# cd php-5.6.29    
  4. [root@Wanghualang-A php-5.6.29]# ./configure  --prefix=/usr/local/php  --with-config-file-path=/usr/local/php/etc  --with-apxs2=/usr/local/apache/bin/apxs  --with-mysql=/usr/local/mysql  --with-pdo-mysql=/usr/local/mysql  --with-mysqli=/usr/local/mysql/bin/mysql_config  --with-mysql-sock=/tmp/mysql.sock  --with-gettext  --with-gd  --with-jpeg-dir  --with-png-dir  --with-freetype-dir  --with-iconv  --with-mcrypt  --with-pear  --with-mhash  --with-openssl  --with-libxml-dir  --with-curl  --with-zlib  --with-xmlrpc  --with-bz2  --with-readline  --enable-zip  --enable-shared  --enable-opcache  --enable-inline-optimization  --enable-bcmath  --enable-soap  --enable-mbstring  --enable-pcntl  --enable-shmop  --enable-sysvmsg  --enable-sysvsem  --enable-sysvshm  --enable-xml  --enable-sockets  --enable-cli  --enable-gd-native-ttf  --disable-debug  --disable-rpath  --disable-ipv6  
  5. [root@Wanghualang-A php-5.6.29]# make    
  6. [root@Wanghualang-A php-5.6.29]# make install    

拷贝PHP配置文件;

  1. [root@Wanghualang-A ~]# cp -rf /usr/local/src/php-5.6.29/php.ini-production /usr/local/php/etc/php.ini    

第六步 配置Apache

配置Apache,以实现PHP的解析。

  1. [root@Wanghualang-A ~]# vim /usr/local/apache/conf/httpd.conf  

第161行,找到“User daemon 和 Group daemon”,修改为:

User apache
Group apache

第192行,找到“#ServerName www.example.com:80”,修改为:

ServerName localhost.localdomain

第250行,找到“DirectoryIndex index.html”,在这行的末尾按一下空格键,添加:

index.php

第387行,找到“AddType application/x-gzip .gz .tgz”,再下面一行添加:

AddType application/x-httpd-php .php

启动Apache;     

  1. [root@Wanghualang-A ~]# service httpd start     

第七步 测试PHP

  1. [root@wanghualang-A ~]# vim /usr/local/apache/htdocs/test.php  

  1. <?php  
  2. echo "www.wanghualang.com";  
  3. ?>  

打开浏览器,输入:http://ip/test.php,若能显示“www.wanghualang.com ”,代表解析成功!

给我留言

留言无头像?

×