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]