erawrq 发表于 2015-3-30 08:56:29

Cent OS 中LAMP 环境源码搭建

导读:什么是LAMP?
LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web应用平台。

本案环境与说明:
环境

1
2
3
# cat /etc/centos-release && uname -r
CentOS release 6.6 (Final)
2.6.32-504.el6.x86_64




软件版本:

1
2
3
4
5
6
mysql-5.7.6-m16-linux-glibc2.5-x86_64.tar.gz
httpd-2.4.10.tar.gz
apr-1.5.1.tar.gz
apr-util-1.5.4.tar.gz
libmcrypt-2.5.6.tar.gz
php-5.6.6.tar.gz




文中所用软件下载地址:
http://mirrors.sohu.com/
http://mirrors.cnnic.cn/apache/
ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt

一、安装MySQL
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.6-m16-linux-glibc2.5-x86_64.tar.gz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# useradd -s /sbin/nologin mysql
# tar zxvf mysql-5.7.6-m16-linux-glibc2.5-x86_64.tar.gz
# cd /usr/local/
# mv /root/mysql-5.7.6-m16-linux-glibc2.5-x86_64 .
# ln -s mysql-5.7.6-m16-linux-glibc2.5-x86_64 mysql
# cd mysql
# mkdir /data/mysql
# chown -R root .
# chown -R mysql /data/mysql
# chgrp -R mysql .
# bin/mysql_install_db --user=mysql --datadir=/data/mysql
# cp support-files/my-default.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
# cp support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
# vim /etc/init.d/mysqld
# chkconfig --add mysqld
# service mysqld start
Starting MySQL. SUCCESS!





二、安装Apache

Centos6 yum安装的apr版本已经不适用httpd-2.4版本了。所以,需要源码编译apr以及apr-util
wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.5.4.tar.gz
wget http://mirrors.cnnic.cn/apache/apr/apr-1.5.1.tar.gz
2.1    安装apr

1
2
3
4
# tar zxvf apr-util-1.5.4.tar.gz
# cd apr-1.5.1
# ./configure --prefix=/usr/local/apr
# make && make install




2.2    安装apr-util

1
2
3
4
# cd apr-util-1.5.4
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
# make && make install
# echo $?




2.3    安装Apache
检查开发环境,没有的直接yum


1
2
3
4
5
# rpm -q gcc cmake pcre-devel
gcc-4.4.7-11.el6.x86_64
cmake-2.8.12.2-4.el6.x86_64
package pcre-devel is not installed
# yum install pcre-devel




安装:

1
2
3
4
5
6
7
8
# tar -zxvf httpd-2.4.10.tar.gz
# cd httpd-2.4.10
# ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre --enable-mods-shared=most
# make && make install
# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
# ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S61httpd
# vi /etc/rc.d/init.d/httpd
# chkconfig --add httpd





三、安装PHP
wget http://mirrors.sohu.com/php/php-5.6.6.tar.gz
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.6.tar.gz
3.1    检查开发环境,没有的直接yum
(如有某某.so,.h文件无法找到,用yum provides "*/*.h"去查找)

1
2
3
4
5
6
7
8
9
# rpm -q libxml2-devel libjpeg-turbo libpng-devel freetype-devel gd-devel libmcrypt-devel openssl-devel
libxml2-devel-2.7.6-14.el6_5.2.x86_64
libjpeg-turbo-1.2.1-3.el6_5.x86_64
libpng-devel-1.2.49-1.el6_2.x86_64
freetype-devel-2.3.11-14.el6_3.1.x86_64
package gd-devel is not installed
package libmcrypt-devel is not installed
openssl-devel-1.0.1e-30.el6.x86_64
# yum install gd-devel




3.2    Centos6 默认的yum源没有libmcrypt-devel 这个包,只能借助第三方yum源,本案tar包安装

1
2
3
4
# tar zxvf libmcrypt-2.5.6.tar.gz
# cd libmcrypt-2.5.6
# ./configure --prefix=/usr/local/libmcrypt
# make && make install




3.3    安装php

1
2
3
4
5
6
# tar zxvf php-5.6.6.tar.gz
# cd php-5.6.6
# ./configure   --prefix=/usr/local/php   --with-apxs2=/usr/local/apache2/bin/apxs   --with-config-file-path=/usr/local/php/etc   --with-mysql=/usr/local/mysql   --with-libxml-dir   --with-gd   --with-jpeg-dir   --with-png-dir   --with-freetype-dir   --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl   --with-mcrypt=/usr/local/libmcrypt   --enable-soap   --enable-gd-native-ttf   --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6
# make && make install
# echo $?
0




四、配置apache和php与测试

1.修改AddType参数

1
2
3
4
5
6
7
8
# vi /usr/local/apache2/conf/httpd.conf   
# cat /usr/local/apache2/conf/httpd.conf | grep AddType | grep -v ^$ | grep -v ^#
    # AddType allows you to add to or override the MIME configuration
    #AddType application/x-gzip .tgz
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz             #在本行下面新增下行
    AddType application/x-httpd-php .php            #增加的内容
    #AddType text/html .shtml





2.修改DirectoryIndex 参数

1
2
3
# cat /usr/local/apache2/conf/httpd.conf | grep index.html | grep -v ^$
#    DirectoryIndex index.html
    DirectoryIndex index.html index.htm index.php   #修改后的内容





3.修改ServerName参数

1
2
3
4
# cat /usr/local/apache2/conf/httpd.conf | grep ServerName| grep -v ^$
# ServerName gives the name and port that the server uses to identify itself.
#ServerName www.example.com:80
ServerName localhost:80                           #修改后的内容





4. 测试解析php
在/usr/local/apache2/htdocs/中创建一个文件,内容如下。

1
2
3
4
5
6
7
# cat /usr/local/apache2/htdocs/index.php
<?php
    echo "php解析正常\n";
?>
# service httpd restart
# curl localhost/index.php
php解析正常





MySQL密码修改之官方文档:
http://dev.mysql.com/doc/refman/5.6/en/alter-user.html
页: [1]
查看完整版本: Cent OS 中LAMP 环境源码搭建