LAMP指在linux服务器下搭建Apache、MySQL、PHP服务的简称。
提要:所有源码包wget到/usr/local/src目录下
l 检测系统版本
cat /etc/issue
uname -a
l 下载源码包
wget 源码包地址
l 初始化
tar -zxvf 源码包名
useradd -s /sbin/nologin mysql (创建mysql用户)
mv 解压后的源码包 /usr/local/mysql (把mysql目录存放到此目录,一般包都放在/usr/local中)
cd /usr/local/mysql (进入此目录)
mkdir -p /data/mysql (用于存放数据库文件)
chown -R mysql:mysql /data/mysql (更改上一步创建的文件的用户属权)
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
##(scripts/mysql_install_db 是mysql5.1版本才有,其他高版本找配置文档,user表示定义数据库的所属主,datadir定义数据库的安装目录,这一部很关键,安装成功会显示2个OK字样)
cp support-files/my-large.cnf /etc/my.cnf ##(upport-files/my-large.cnf 只有在5.1版本有,此文档是配置文档)
cp ./support-files/mysql.server /etc/init.d/mysqld (support-flies/mysql.server在5.1版本,此文档是启动脚本)
chmod 755 /etc/init.d/mysqld
vim /etc/init.d/mysqld
找到datadir 修改成datadir=/data/mysql 此路径是前文提及的用于存放数据库文件
chkconfig --add mysqld (添加系统自定义启动服务)
chkconfig mysqld on (开启mysqld 服务的等级权限)
service mysqld start (启动mysqld 自定义服务)
ps aux |grep ‘mysqld’ (查看是否启动成功,若不成功,则在/data/mysql目录下生成一个 主机名.err的错误日志)
l 安装前需要yum以下库或包
yum install -y gcc
yum install -y zlib-devel
yum install -y pcre pcre-devel apr apr-devel
l cd 解压后的源码包目录下
cd httpd-2.2XXXXX
l 编译
./configure \
--prefix=/usr/local/apache2 \ #指定安装目录位置
--with-included-apr \ #捆绑拷贝apr/apr-util信息
--enable-so \ #启用DSO性能
--enable-deflate=shared \ #压缩转换编码支持
--enable-expires=shared \ #头部有效期控制
--enable-rewrite=shared \ #基本的URL操纵规则,即启用URL重写规则
-with-pcre
make
make install
##成功后/usr/local目录下创建一个apache2的文件夹,主配置文件为该目录下的/conf/httpd.conf
l 与PHP结合使用则需要修改httpd.conf配置文档:
在AddType application/x-gzip .gz .tgz下面增加一行
AddType application/x-httpd-php .php
往下找到:
<IfModule dir_module>
DirectorIndex index.html 此行增加index.htm index.php
</IfModule>
往下找到#ServerName www.example.com:80
修改成 SeverName localhost:80
l 安装前需要yum以下库或包
yum install -y libxml2-devel
yum install -y openssl openssl-devel
yum install -y bzip2 bzip2-devel
yum install -y libpng libpng-devel
yum install -y freetype freetype-devel
yum install -y libmcrpt libmcrpt-devel
yum install -y libjpeg-turbo libjpeg-turbo-devel
l 解压后进入源码包并编译
./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-mysqli --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 --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ivp6
make
make install
cp php.ini-production /usr/local/php/etc/php.ini #php.ini-production文件在解压后的源码文件里
l 修改apache2安装目录下的conf/httpd.conf文件
vim /usr/local/apache2/conf/httpd.conf
在AddType application/x-gzip .gz .tgz下面增加一行
AddType application/x-httpd-php .php
往下找到:
<IfModule dir_module>
DirectorIndex index.html 此行增加index.htm index.php
</IfModule>
往下找到#ServerName www.example.com:80
修改成 SeverName localhost:80
l 测试配置文件是否正确
/usr/local/apache2/bin/apachectl -t
成功会显示:Syntax OK
l 启动Apache服务器
/usr/local/apache2/bin/apachectl start
查看是否启动成功:netstat -lnp|grep httpd
#curl localhost 显示<html><body><h1>It work<h1>XXX表示成功
l 编辑一个PHP文件
vim /usr/local/apache2/htdocs/1.php #往里面写代码,就是一个页面
l 测试解析是否成功
#curl localhost/1.php
显示1.php的内容,表示解析成功。