CentOS下搭建LAMP环境详解
前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发。
•LAMP: Linux + Apache + PHP + Mysql。
•系统: CentOS 6.5,32位。
CentOS安装
我选取了32位的CentOS 6.5这个Linux系统,安装过程也很简单,不再过多叙述,只稍微介绍一下我的分区情况:
分区名 大小
/boot 200MB
/swap 2GB(不大于物理分区即可)
/ 20GB
/home 剩余空间
Apache编译安装
我选择了httpd 2.2这个版本,可以参考官方说明文档。
安装依赖:
安装依赖需要用到的gcc、g++编译器:
########gcc、g++
sudo yum install gcc
sudo yum install gcc-c++ 下面两个是apache的优化工具:
########apr
wget http://labfile.oss.aliyuncs.com/apr-1.5.1.tar.gz
tar -zxvf apr-1.5.1.tar.gz
cd apr-1.5.1/
./configure --prefix=/opt/apr
Sudo make && make install
########apr-util
cd Downloads/
wget http://labfile.oss.aliyuncs.com/apr-util-1.5.4.tar.gz
tar -zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/opt/apr-util --with-apr=/opt/apr
sudo make && make install
Perl库,兼容正则表达式库:
cd Downloads/
wget http://labfile.oss.aliyuncs.com/pcre-8.36.tar.gz
tar -zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure --prefix=/opt/pcre
sudo make && make install
安装apache:
cd Downloads/
wget http://labfile.oss.aliyuncs.com/httpd-2.2.29.tar.gz
tar -zxvf httpd-2.2.29.tar.gz
cd httpd-2.2.29
./configure --prefix=/opt/apache --with-apr=/opt/apr --with-apr-util=/opt/apr-util --with-pcre=/opt/pcre
sudo make && make install
sudo sed -i 's/^#ServerName.*/ServerName localhost/' /opt/apache/conf/httpd.conf
测试:
启动:
Sudo /opt/apache/bin/apachectl start获取服务器回应(安装apache最后一步已经将服务器设为localhost):
curl -I 127.0.0.1若安装成功则如下:

关闭:
sudo /opt/apache/bin/apachectl stop
MySQL编译安装
安装依赖:
注意: MySQL5.5之后的版本使用cmake进行编译。
########若先前编译过,则需要删除刚才编译生成的CMakeCache.txt文件
rm -f CMakeCache.txt
sudo yum -y install gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* cmake cmake-gui libaio-devel bison-devel make
编译安装(时间较长):
Cd Downloads/
Wget http://labfile.oss.aliyuncs.com/mysql-5.6.24.tar.gz
Tar -zxvf mysql-5.6.24.tar.gz
cd mysql-5.6.24
cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/opt/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1
sudo make
sudo make install
创建mysql用户:
id mysql > /dev/null 2>&1 || sudo useradd -r -s /sbin/nologin -M -d /opt/mysql/data mysql
初始化数据目录:
sudo chown -R mysql:mysql /opt/mysql/data
sudo /opt/mysql/scripts/mysql_install_db --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql --defaults-file=/opt/mysql/support-files/my-default.cnf
修改配置文件:
sudo sh -c 'cat >> /opt/mysql/my.cnf <<EOF
basedir = /opt/mysql
datadir = /opt/mysql/data
log-error = /opt/mysql/data/error.log
pid-file = /opt/mysql/data/mysql.pid
port = 3306
EOF'
清除残留文件:
sudo sh -c 'for file in /etc/mysql/my.cnf /etc/my.cnf ; do [ -f $file ] && rm -f $file ; done'
启动:
sudo /opt/mysql/support-files/mysql.server start
成功则显示:

测试:
/opt/mysql/bin/mysqladmin ping
成功则显示:

查看数据库:
/opt/mysql/bin/mysql -u root -e 'show databases;'
关闭:
sudo /opt/mysql/support-files/mysql.server stop
成功则显示:

PHP编译安装
安装依赖:
cd Downloads/
sudo yum install zlib1g-dev libbz2-dev libcurl4-gnutls-dev libjpeg-dev libpng12-dev libfreetype6-dev libmcrypt-dev libxml2-dev
sudo yum install bzip2-devel -y
sudo yum -y install curl-devel
sudo yum install openssl openssl-devel -y
sudo yum install libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel -y
sudo yum install libjpeg libjpeg-devel libpng libpng-devel
*以上不一定要全部安装
########安装Libmcrypt
tar -zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
sudo make
sudo make install
说明:libmcript默认安装在 /usr/local
########安装mhash
cd ..
tar -zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
sudo make
sudo make install
#########安装mcrypt
cd ..
tar -zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
LD_LIBRARY_PATH=/usr/local/lib ./configure
sudo make
sudo make install
编译安装:
cd Downloads/
wget http://labfile.oss.aliyuncs.com/php-5.5.21.tar.gz
tar -zxvf php-5.5.21.tar.gz
cd php-5.5.21
./configure --prefix=/opt/php --with-bz2 --with-curl --with-jpeg-dir --with-gd --enable-shared --enable-mbstring --with-mcrypt --with-mysql=/opt/mysql --with-pdo-mysql=/opt/mysql --with-mysqli=/opt/mysql/bin/mysql_config --enable-fpm --enable-phar --enable-bcmath --with-zlib --enable-zip --enable-ftp --with-gettext --enable-sockets --with-freetype-dir --with-config-file-path=/opt/php/etc/php.ini --with-config-file-scan-dir=/opt/php/etc/conf.d --with-apxs2=/opt/apache/bin/apxs
sudo make
sudo make install
sudo cp php.ini-production /opt/php/etc/php.ini
*错误里面含有mysql,那是因为mysql-devel 没有安装。解决方法:yum install mysql-devel
检查php是否支持mysql:
/opt/php/bin/php -m | grep mysql
若支持则显示:

修改apache配置文件,添加php的支持配置:
sudo sh -c 'cat >> /opt/apache/conf/httpd.conf <<EOF
<IfModule mime_module>
AddType application/x-httpd-php .php
</IfModule>
EOF'
若关闭则开启apache,否则重新启动apache:
sudo /opt/apache/bin/apachectl -k restart测试:
sudo sh -c 'echo "<?php echo phpinfo(); ?>" > /opt/apache/htdocs/test.php'
在浏览器输入:
配置成功则显示php信息:

*按以上步棸,注意php.ini文件所在的位置应该是/opt/php/etc/php.ini/php.ini。
CentOS下搭建LAMP环境详解的更多相关文章
- centos下搭建lamp环境
1 在线安装所有的服务 yum -y install httpd mysql mysql-server php php-mysql postgresql postgresql-server php-p ...
- centos 下 搭建 php 环境
本文详细阐述在 Linux 系统中搭建 PHP 环境,由于 PHP 就是由 C 语言编写的,最初也是运行在 Linux 系统中,所以Linux 是 PHP 的最佳环境. 关于本文中使用到的软件,请点击 ...
- linux下搭建lamp环境以及安装swoole扩展
linux下搭建lamp环境以及安装swoole扩展 一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源 我安装的环境是:apache2.2.15+mysql5 ...
- Centos下搭建LAMP+PHP
Centos下搭建LAMP+PHP LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写: Linux,操作系统 Apache,网页服务器 MariaDB或MySQL,数据库管 ...
- Centos6.4版本下搭建LAMP环境
Centos6.4版本下搭建LAMP环境 配置yum mkdir/mnt/cdrom mount/dev/cdrom /mnt/cdrom 装载光盘 vi /etc/yum.repos.d/Cent ...
- Ubuntu18.04下搭建LAMP环境
一.Apache2 web 服务器的安装 : 可以先更新一下服务器 1.sudo apt-get update # 获取最新资源包 2.sudo apt-get upgrade ...
- CentOS6.5下搭建LAMP环境(源码编译方式)
CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL) 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP ,WAMP,MAMP等.这里我介 ...
- CentOS 7.4下源码编译安装配置LAMP环境详解
CentOS 7.4搭建LAMP,LAMP:Linux.Apache.MySQL.PHP. 目录:第一部分 准备工作第二部分 安装Apache服务第三部分 安装MySQL服务第四部分 搭建PHP运行环 ...
- CentOS 6.5下搭建LAMP环境详细步骤
1.确认搭建LAMP所需的环境是否已经安装: [root@localhost ~]#rpm -q make gcc gcc-c++ zlib-devel libtool libtool-ltdl li ...
随机推荐
- Hello Java
用记事本或者Eclipse编写如下代码 public class JavaAPP{ public static void main(String[] args){ System ...
- ZeroMQ接口函数之 :zmq_pgm – ØMQ 使用PGM 进行可靠的多路传输
ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ——————————————————————————————————— ...
- MySQL数据的主从复制、半同步复制和主主复制详解
一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...
- 不小心删除了sysWOW64下的webio.dll
weibo的桌面客户端留了一个服务,在syswow64目录下留了个exe文件,看着旁边好像还有个weibo.dll,就把试着也删除了,但是删除不掉,我就进安全模式删除了(f8在Windows的启动界面 ...
- openstack-keystone
preparation: config: /etc/keystone/keystone.conf log: /var/log/keystone.log 1. change log level: vi ...
- php-fpm重启关闭等操作
php-fpm 启动:/usr/sbin/php-fpmphp-fpm 关闭:kill -INT `cat /var/run/php-fpm.pid`php-fpm 重启:kill -USR2 `ca ...
- JAVA(IO流)文件复制
package com.am; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOEx ...
- bzoj2523 聪明的学生
bzoj第一题,ctsc2001. 黑书上的递归例题,我们定义time()函数,递归求解即可. 这个题用到了一个小技巧:可以使用枚举来搞算法. #include <iostream> #i ...
- MYSQL 多行转多列
mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行),我觉得这都是一个意思 数据库结构如图: 而我想让同一个人的不同成绩变成此人在这一行不同列上显示出来,此时分为2中展现: 第一 ...
- UML之类图
类(Class)封装了数据和行为,是具有相同属性.操作.关系的对象集合的总称. 类图(Class Dialog)使用系统中不同类来描述系统的静态结构,类图用来描述不同类和它们之间的关系. 类图由三部分 ...