LAMP 目前Internet上流行的网站构架方式是LAMP(Linux+Apache+MySQL+PHP/Perl/Python) ,它们免费开源。
下面我们来看一下他们的安装。
Lamp 源码搭建的环境必须有
Development Libraries #开发库
Development Tools #开发工具
X Software Development #X软件开发
Legacy Software Development #传统软件开发
这四个组件。
我们可以通过yum来查看,所以要配置yum
可以通过 yum grouplist 查看
我的都装过了,如果你的没装,可以通过
yum groupadd 安装(如 yum groupadd "Legacy Software Development" )
1、 我们来安装apache
(1)可以在 http://httpd.apache.org/ 官网上下载最新的 apache,如 httpd-2.4.4.tar.bz2
( 2 )环境需要 apr 、 apr-util 支持:
apr apache的可移植的运行库
apr-util apache的可运行工具
解压
[root@zlj ~]# tar -zxvf apr-1.4.5.tar.gz -C /usr/local/src/
[root@zlj ~]# tar -zxvf apr-util-1.3.12.tar.gz -C /usr/local/src/
[root@zlj ~]# tar -jxvf httpd-2.4.4.tar.bz2 -C /usr/local/src/
可以通过
[root@zlj apr-1.4.5]# ./configure --help |less 查看可以跟哪些参数
[root@zlj apr-1.4.5]# ./configure --prefix=/usr/local/apr #将其安装在 /usr/local/apr 目录下
[root@zlj apr-1.4.5]# make && make install #编译安装
( 3 )可以通过
[root@zlj apr-util-1.3.12]# ./configure --help |less 查看可以跟哪些参数
--with-apr=PATH prefix for installed APR or the full path to
apr-config 指定 apr-config的目录
[root@zlj apr-util-1.3.12]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config
[root@zlj apr-util-1.3.12]# make && make install
可以通过
[root@zlj httpd-2.4.4]# ./configure --help |less 查看可以跟哪些参数
./configure常用的选项有如下
--prefix=/usr/local/apache #安装目录(填写这个有助对apache单独管理)
--sysconfdir=/etc/httpd #apache的配置脚本所在的目录
--enable=so # 启用以dso模式加载模块 动态共享对象
--enable-ssl # Secure Sockets Layer (对网络传输数据加密)
--with-ssl=/usr/local/ssl
--enable-rewrite 支持URL重写
--with-z 使用zlib 压缩工具
--enable-mods-shared=most
--enable-suexec
--with-suexec-caller=daemon(用户名)
生成配置文件
[root@zlj httpd-2.4.4]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-pcre -with-z --enable-mpms-shared=all
[root@zlj httpd-2.4.4]# make && make install # 编译安装
( 4 )添加 man手册
[root@zlj ~]# vim /etc/man.config
( 5 )因为 apache头文件总是被使用,所以 创建头文件连接
[root@zlj ~]# ln -s /usr/local/apache/include/ /usr/include/apache
( 6 )启用 apache
[root@zlj ~]# /usr/local/apache/bin/httpd -k start
2、 安装mysql
(1) 我们可以在 http://www.mysql.com 官网上下载
查看安装手册
[root@zlj mysql-5.6.10]# vim INSTALL-SOURCE
根据配置文件,需要执行
cmake .
Make
make install
(2)环境需要用到CMAKE
将其拆包
[root@zlj ~]# tar -zxvf cmake-2.8.10.2-Linux-i386.tar.gz -C /usr/local/src/
由于它是二进制文件,就不需要安装了,我们将它写入环境变量
[root@zlj tmp]# vim /etc/profile
( 3 ) [root@zlj mysql-5.6.10]# cmake .
( 4 ) [root@zlj mysql-5.6.10]# make && make install
( 5 )创建用户和用户组
[root@zlj mysql]# groupadd mysql #创建用户
[root@zlj mysql]# useradd -r -g mysql mysql #创建系统用户
[root@zlj mysql]#
( 6 )改变文件的所有者和所属组
[root@zlj mysql]# chown -R mysql .
[root@zlj mysql]# chgrp -R mysql .
( 7 )执行脚本
[root@zlj mysql]# scripts/mysql_install_db --user=mysql
( 8 )修订所有者所属组
[root@zlj mysql]# chown -R root .
[root@zlj mysql]# chown -R mysql data
(9)创建配置文件
[root@zlj mysql]# cp support-files/my-default.cnf /etc/my.cnf
( 10 )创建管理脚本
[root@zlj mysql]# cp support-files/mysql.server /etc/init.d/mysqld
( 11 )修改权限,给它执行权
[root@zlj mysql]# chmod a+x /etc/init.d/mysqld
( 12 )启动
( 13 )添加环境变量
PATH=$PATH:/usr/local/src/cmake-2.8.10.2-Linux-i386/bin:/usr/local/mysql/bin/
[root@zlj tmp]# vim /etc/profile
( 14 )为了让它能够加载 mysql的动态链接库,我们就编辑配置文件
[root@zlj ~]# vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib/
[root@zlj ~]# ldconfig
( 15 )让它加载
让它的头文件能够被系统引用,创建软连接
[root@zlj ~]# ln -s /usr/local/mysql/include/ /usr/include/mysql
3、安装php
(1)我们可以在 http://www.php.net/ 官网上下载最新的 php-5.4.14.tar.bz2
解压
[root@zlj ~]# tar -jxvf php-5.4.14.tar.bz2 -C /usr/local/src/
( 2 ) php的配置选项
--prefix=/usr/local/php #指定安装目录
--with-apxs2=/usr/local/apache/bin/apxs #是一个程序,告诉apache php装在哪(同时加入模块)
--with-mysql=/usr/local/mysql # 指明mysql的安装位置
--with-mysqli=/usr/local/mysql/bin/mysql_config # 调用myql接口
-enable-mbstring=all #画图工具
--with-xml #文件存储
--with-png #图片
--with-jpeg #图片
--with-zlib #压缩
--with-gd
--with-freetype
执行
[root@zlj php-5.4.14]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --enable-xml --with-png-dir --with-jpeg-dir --with-zlib --enable-mbstring --with-freetype-dir
生成配置文件成功
( 3 ) root@zlj php-5.4.14]# make $$ make install
warning: pear/PEAR requires package "pear/Structures_Graph" (recommended version 1.0.4)
warning: pear/PEAR requires package "pear/XML_Util" (recommended version 1.2.1)
[PEAR] PEAR - installed: 1.9.4
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util - installed: 1.2.1
/usr/local/src/php-5.4.14/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar
Installing PDO headers: /usr/local/php/include/php/ext/pdo/
它提示两条警告,不用管它
( 4 )让 php加入到环境变量中
在 /etc/profile 中添加 /usr/local/php/bin/
[root@zlj php-5.4.14]# vim /etc/profile
( 5 )配置库文件,能够被系统调用
[root@zlj php-5.4.14]# vim /etc/ld.so.conf.d/php.conf
/usr/local/php/lib
[root@zlj php-5.4.14]# ldconfig #刷新环境变量
( 6 ) [root@zlj php-5.4.14]# ln -s include /usr/include/php #创建头文件的链接
(7)让apache 能够加载php页面,编辑httpd.conf
4、 测试
(1)启用apache 、mysql
[root@zlj php-5.4.14]# /usr/local/apache/bin/httpd -k start
[root@zlj php-5.4.14]# service mysqld start
访问
能够访问,说明 apache正常
(2)看看php能否正常工作
[root@zlj htdocs]# mv index.html index.php
[root@zlj htdocs]# vim index.php
<?php
phpinfo();
?>
访问,看到下面的页面说明 php 正常
( 3 )查看数据库连接是否正常
创建管理员密码
[root@zlj htdocs]# mysqladmin --u root -p password '123'
由于新安装的,没有密码直接回车
编辑网页文件
[root@zlj htdocs]# vim index.php
<?php
$link=mysql_connect('127.0.0.1','root','123');
if($link)
echo "ok";
else
echo "not";
?>
再次访问
可以看到 php与mysql连接正常
5、 优化
a.我们可以写脚本让server 能够管理我们的apache
[root@zlj ~]# vim httpd
#/bin/bash
# chkconfig: 2345 90 60
# description: A very good web server
function start(){
echo -n "httpd is start ."
sleep 1
echo -n " ."
sleep 1
if [ -e /var/lock/subsys/httpd ];then
sleep 1
echo -e "\033[31m [faile]\033[0m"
else
/usr/local/apache/bin/httpd -k start
sleep 1
echo -e "\033[32m [ok]\033[0m"
touch /var/lock/subsys/httpd
fi
}
function stop(){
echo -n "httpd is stoping ..."
if [ -e /var/lock/subsys/httpd ];then
/usr/local/apache/bin/httpd -k stop
sleep 1
echo -e "\033[32m [ok]\033[0m"
rm -f /var/lock/subsys/httpd
else
sleep 1
echo -e "\033[31m [faile]\033[0m"
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop;start
;;
*)
echo "Usage {start|stop|restart}"
;;
esac
将其移动到 /etc/init.d/目录下
[root@zlj ~]# mv httpd /etc/init.d/
[root@zlj ~]# chmod a+x /etc/init.d/httpd #给它执行权
让它开机自动启动
[root@zlj ~]# chkconfig --add httpd
说明我们的脚本能正常工作
b、为了方便管理数据库,我们安装phpmyadmin
在这个官网上 http://sourceforge.net/projects/phpmyadmin/ 下载最新的
我的是 phpMyAdmin-3.5.8-all-languages.zip
解压
[root@zlj ~]# unzip phpMyAdmin-3.5.8-all-languages.zip
[root@zlj phpMyAdmin-3.5.8-all-languages]# mkdir /usr/local/apache/htdocs/phpmyadmin #创建目录
[root@zlj phpMyAdmin-3.5.8-all-languages]# cp -r * /usr/local/apache/htdocs/phpmyadmin/ #将其拷到apache目录下
访问 http://192.168.102.7/phpmyadmin/
填写 mysql的用户名和密码 ,执行后
提示我:
配置文件现在需要一个短语密码。
缺少 mcrypt 扩展。请检查 PHP 配置。
1、 原因是 cookie 缺少值
打开 /usr/local/apache/htdocs/phpmyadmin/libraries/config.default.php
在 $cfg['blowfish_secret'] = '这里就是需要的短语密码';(短语密码请随意填写)
[root@zlj phpMyAdmin-3.5.8-all-languages]# vim /usr/local/apache/htdocs/phpmyadmin/libraries/config.default.php
2、缺少 mcrypt
安装 mcrypt
在官网 http://www.rpmfind.net上下载
[root@zlj ~]# rpm -ivh mcrypt-2.6.4-3.el5.remi.i386.rpm
warning: mcrypt-2.6.4-3.el5.remi.i386.rpm: Header V3 DSA signature: NOKEY, key ID 00f97f56
error: Failed dependencies:
libmcrypt.so.4 is needed by mcrypt-2.6.4-3.el5.remi.i386
libmhash.so.2 is needed by mcrypt-2.6.4-3.el5.remi.i386
[root@zlj ~]#
提示我们缺少 libmcrypt 、 libmhash
在官网 http://www.rpmfind.net上下载
下载安装
[root@zlj ~]# rpm -ivh libmcrypt-2.5.7-3.el5.remi.i386.rpm
[root@zlj ~]# rpm -ivh libmcrypt-devel-2.5.7-3.el5.remi.i386.rpm #同样将 libmcrypt 的开发库装上
[root@zlj ~]# rpm -ivh mhash-0.9.9-1.el5.rf.i386.rpm
[root@zlj ~]# rpm -ivh mcrypt-2.6.4-3.el5.remi.i386.rpm
然后,重新编译安装 php
清除配置文件
[root@zlj php-5.4.14]# make clean
添上 --with-mcrypt 再编译
[root@zlj php-5.4.14]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --enable-xml --with-png-dir --with-jpeg-dir --with-zlib --enable-mbstring --with-freetype-dir --with-mcrypt
编译成功
再次登录看看
能够正常。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com