编译安装LAMP环境
安装顺序为Apache、MySQL、PHP一、源码安装Apache-2.4.12
二、编译安装MySQL-5.6.24
三、源码安装PHP-5.4.41
一、源码安装Apache-2.4.12
1、安装依赖软件
?
1
yum install -y gcc autoconf automake make pcre pcre-devel openssl openssl-devel
2、下载需要的源码包
?
1
2
3
wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.12.tar.gz
wget http://mirror.bit.edu.cn/apache/apr/apr-1.5.2.tar.gz
wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.5.4.tar.gz
3、解压源码包
?
1
2
3
tar -xzf httpd-2.4.12.tar.gz -C /usr/src/
tar -xzf apr-1.5.2.tar.gz -C /usr/src/
tar -xzf apr-util-1.5.4.tar.gz -C /usr/src/
4、编译安装apr,apr-util
?
1
2
3
4
5
6
7
cd /usr/src/apr-1.5.2/
./configure --prefix=/usr/local/apr
make && make install
cd /usr/src/apr-util-1.5.4/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
5、编译安装apache
?
1
2
3
cd /usr/src/httpd-2.4.12/
./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mods-shared=most --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-mpms-shared=all --with-mpm=worker
make && make install
6、手动编译安装后,httpd.pid文件是存放在/usr/local/apache/logs/目录下的,这个位置未免有些不方便,编辑/etc/httpd/httpd.conf,添加如下行即可
?
1
Pidfile "/var/run/httpd.pid"
7、提供服务脚本
?
1
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
在服务脚本中添加以下内容
?
1
2
3
4
#!/bin/bash
#
# chkconfig: - 85 15
# description: Apache is a World Wide Web server.It is used to serve \
8、给脚本添加执行权限
?
1
chmod +x /etc/rc.d/init.d/httpd
9、加入服务列表
?
1
2
3
chkconfig --add httpd
chkconfig httpd on
service httpd start
二、编译安装MySQL-5.6.24
1、安装依赖软件
?
1
yum install -y gcc make cmake ncurses-devel libxml2-devel libtool-ltdl-devel gcc-c++ autoconf automake bison zlib-devel
2、创建MySQL用户和组
?
1
2
groupadd mysql
useradd -r -s /sbin/nologin -g mysql mysql
3、下载、编译MySQL
?
1
2
3
4
5
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.24.tar.gz
tar -xzf mysql-5.6.24.tar.gz -C /usr/src/
cd /usr/src/mysql-5.6.24/
cmake . -DENABLE_DOWNLOADS=1
make && make install
4、为MySQL主目录设置权限
?
1
chown -R mysql.mysql /usr/local/mysql
5、初始化MySQL
?
1
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
6、提供配置文件、服务脚本
?
1
2
cp /usr/local/mysql/my.cnf /etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
7、添加环境变量、加入服务列表
?
1
2
3
4
5
touch /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile.d/mysql.sh
chkconfig --add mysqld
chkconfig mysqld on
8、启动服务
?
1
service mysqld start
或使用强大的MySQL数据库管理系统,就需要使用mysqld_safe进程手动启动数据库服务进程或通过软件包提供的启动脚本mysqld.server来管理服务进程
?
1
/usr/local/mysql/bin/mysqld_safe --user=mysql &
9、MySQL提供了一个Perl脚本为root设置密码、移除匿名账户、是否禁止root从远程访问、是否删除test数据库、是否重新加载新的数据
?
1
/usr/local/mysql/bin/mysql_secure_installation
三、源码安装PHP-5.4.41
1、安装依赖软件
?
1
yum -yinstall libxml2 libxml2-devel bzip2-devel libmcrypt libmcrypt-devel
下载libmcrypt libmcrypt-devel,并安装
?
1
2
3
4
wget http://mirrors.sohu.com/fedora-epel/6Server/x86_64/libmcrypt-2.5.8-9.el6.x86_64.rpm
wget http://mirrors.sohu.com/fedora-epel/6Server/x86_64/libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
rpm -ivh libmcrypt-2.5.8-9.el6.x86_64.rpm
rpm -ivh libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
2、下载编译安装PHP
?
1
2
3
4
5
6
7
wget http://cn2.php.net/distributions/php-5.4.41.tar.bz2
tar xf php-5.4.41.tar.bz2-C /usr/src/
cd /usr/src/php-5.4.41/
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml--enable-sockets --with-apxs2=/usr/local/apache2/bin/apxs --with-mcrypt--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2--enable-maintainer-zts
make && make install
3、编辑/etc/httpd/httpd.conf
(1)、在AddType application/x-gzip .gz .tgz后添加以下信息,使httpd识别php格式的页面
?
1
2
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
(2)、添加默认起始页文件名,找到如下内容
?
1
2
3
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
改为
?
1
2
3
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
(3)、为php提供配置文件,在我们解压出的源码目录中,有两个配置文件样例
?
1
2
3
4
5
cd /root/downloads/php-5.4.41
ls |grep php.ini
php.ini-development #适用于开发环境
php.ini-production #适用于生产环境
编译安装时,我们指定了php的配置文件目录/etc,这里我们把适用于生产环境的配置文件复制过去
?
1
cp php.ini-production /etc/php.ini
重启Apache
?
1
service httpd graceful
(4)、测试能否正确访问php页面,新建php页面文件,编辑如下内容
?
1
vim /usr/local/apache2/htdocs/index.php
?
1
2
3
4
<h1>host1</h1>
<?php
phpinfo();
?>
在浏览器输入主机地址测试,出现下图所示,说明安装、配置成功
(5)、测试连接mysql,新建php页面文件,编辑如下内容
?
1
vim /usr/local/apache2/htdocs/testmysql.php
?
1
2
3
4
5
6
7
8
<h1>host1</h1>
<?php
$link=mysql_connect(localhost,root,'password');#注意之前给mysql的root用户改过密码执行函数返回值mysql_connect(localhost,"root",)存储在变量$link中
if ($link)
echo "Success.";
else
echo "Failure.";
?>
然后用浏览器访问这个页面,显示Success信息则说明php成功连接mysql
页:
[1]