LAMP环境搭建

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

  目前世界最流行的企业建站方式是LAMPLinux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。这四个软件都是遵循GPL的开放源码软件,它们安全、稳定、快速、功能强大,使用它们可以建立一个快速、稳定、免费的网站系统。

1、    APACHE的安装配置
Apache是世界使用排名第一的Web服务器,市场占有率达60%左右。
它的特点是简单、速度快、性能稳定。
它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的UnixWindowsLinux系统平台上)、模块化结构以及它的可移植性等方面。
如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。
它的官方网站是[url]www.apache.org[/url],你可以从[url]http://httpd.apache.org/download.cgi[/url],下载到它的最新版本,目前最新稳定版是 Apache HTTP Server  2.2.4(注:Apache已经改名为Apache HTTP Server)
a)         下载Apache
请确保你有适当的权限
b)        解压缩Apache
#tar jxvf httpd-2.2.4.tar.bz2 --C /tmp/
解压文件到/tmp/httpd-2.2.4文件夹
c)        进入/tmp/httpd-2.2.4文件夹进行编译和安装
cd /tmp/httpd-2.2.4
./configure –prefix=/opt/httpd224 --enable-so
这句是配置Apache,它有许多的参数,可以用来启用或禁用一些Apache特性或特定模块,可以通过./configure --help来查看,详细的中文说明请参见[url]http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/programs/configure.html#installationdirectories[/url],根据自己的需要配置Apache
make && make install
这句的含义是对apache源代码进行编译并安装到指定的目录,&&的意思是如果make执行成功的话才执行make install。和先执行make再执行make install等效。到此我们的Apache已经安装完成。
d)        启动Apache并查看Apache启动是否正常
#/opt/httpd224/bin/apachectl start
#echo /opt/httpd224/bin/apachectl start >> /etc/init.d/rc.local
使Apache开机自启动
可以通过ps aux | grep httpd查看httpd进程是否存在,如果不存在请查看是不是有程序占用80端口,可以通过netstat --an | grep 80查看。如果apache启动正常,打开网页浏览器,输入[url]http://ip-address[/url],应该能够看到网页显示”It works !”提示Apache工作正常。
e)         配置Apache
Apache的安装非常简单,但是它的配置就比较复杂了,它的配置文件默认是—prefix/conf/httpd.conf文件,你可以在配置时调用—sysconfdir选项来改变它的位置,在我们这里是/opt/httpd224/conf/httpd.conf文件。由于各个站点的需求不同,侧重点也就不同,配置起来各不相同,所以我们在这里就不写Apache的一些所谓的配置技巧了,大家最好的选择就是根据自己的需求,对照着Apache手册配置最符合自已服务器,知其然而且知其所以然,这里给出Apache 2.2的中文手册:
2、    Mysql的安装配置
MySQL是一个开放源码的关系型数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
Mysql最常见的应用架构:
单点(Single):适合小规模应用
复制(Replication):适合中小规模应用
集群(Cluster):适合大规模应用
       根据功能不同,Mysql可以分为Mysql standMysql max两个版本,Mysql-max相对于stand版本增加了对集群功能的支持。目前Mysql的集群功能还处于实验阶段,有许多限制,不适合在生产环境中布署。
       Mysql是开放源码的,所以Mysql在发布时有源代码和预编译二进制两种格式,直接下载源代码的话可以根据我们的具体需求进行手工编译安装,自定义Mysql的特性。如果没有特别的需求的话,建议下载官方的预编译二进制版,因为这些版本都是官方针对特定编译器进行优化,编译支持大多数常用的选项的版本。我们可以从
[url]http://dev.mysql.com/downloads/mysql/5.0.html[/url] 下载Mysql,它有多个版本,其中5.16.0还都不适合生产环境,我们这里下载它的最新稳定版mysql-5.0.45,根据我们的系统和编译器类型,选择适合我们的二进制版本,在这里我们下载Linux (x86, glibc-2.2, "standard" is static),这个版本包含了Mysql所需要的所有库文件并进行,并且进行的是静态编译,所以非常大,但运行速度也要快一点点。
a)         下载Mysql
b)        解压文件
#tar zxvf mysql-5.0.45-linux-i686.tar.gz --C /opt/
#mv /opt/mysql-5.0* /opt/myql5
mysql解压到/opt/mysql-5.0.45-linux-i686并重命名为/opt/mysql5,也可以通过建立连接来实现,ln --s /opt/mysql5 /opt/mysql-5.0.45-linux-i686
c)        安装配置Mysql
# cd /opt/mysql5
# groupadd mysql
添加mysql用户组
# useradd -g mysql mysql –s /sbin/nologin
添加mysql用户,并设置用户组为mysql,不允许登录
# scripts/mysql_install_db --user=mysql
初始mysql权限数据库
# chown -R root  .
更改当前目录、子目录以及文件的属主为root
# chown -R mysql data
更改data目录、data子目录及data下的文件属主为mysql
# chgrp -R mysql .
更改当前目录、子目录以及文件的所属组为mysql
以上三个操作主要是给mysql用户适当的文件系统权限
# bin/mysqld_safe --user=mysql &
启动mysql
# bin/myql-admin --u root password ‘password’
更改mysql管理员用户的密码,默认为空
# cp support-files/my-medium.cnf /etc/my.cnf
mysql配置文件,需要根据自己的具体需求进行更改
# cp support-files/mysq.server /etc/init.d/mysql
添加mysql启动脚本
# chmod +x /etc/init.d/mysql
mysql启动脚本执行权限
# chkconfig --add mysql
# chkconfig --level 2345 mysql on
以上两步设置mysql开机自动启动
       现在我们就完成了mysql的安装,mysql目前还处于成长阶段,它的新版本在不断的添加新的特性,使它的功能越来越强大,相信有一天mysql能够和商业大型数据库系统一决高下。为了更好的使用mysql,如果有时间请仔细阅读mysql手册。
3、    PHP的安装配置   
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 CJavaPerl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
PHP是一个正在快速发展的语言,它的新版本增添了许多新的特性,如:Zend II 引擎的采用,完备对象模型、改进的语法设计。使得PHP成为一个设计完备、真正具有面向对象能力的脚本语言,它的功能更加强大。
由于目前网站大多都要进行一些图片处理的操作,如加水印、随机生成验证码等,PHP需要通过GD库来进行图像处理的操作,GD库是一个开放源代码的动态生成图象的函数库,默认支持GIF,为了使它支持我们常用的JPEGPNG以及TureType字体,我们需要为它安装相应的支持库。
这些支持库的安装都很简单,只要用./configure && make && make install默认编译安装就可以,所以我们在这里只提供一下它们的官方网站和下载地址。
a)    安装PNG支持,我们需要安装libpngzlib两个库
zlib官方网站:[url]http://www.zlib.net[/url]
               png官方网站:[url]http://www.libpng.org/pub/png/[/url]
               下载地址:
b)    安装JPEG支持,我们需要安装jpeg-6d
下载:[url]ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz[/url]
c)    安装TrueType字体支持,我们需要安装FreeType
下载:
d)    Gd的编译安装
               官方:[url]http://www.libgd.org[/url]
               下载:[url]http://www.libgd.org/releases/gd-2.0.35.tar.bz2[/url]
               Gd在编译时要手工加上一些参数,使得GD支持JPEGPNGTrueType等,编译安         装命令:
                     #../configure --with-jpeg --with-png --with-zlib --with-freetype
                     #make && make install
e)    PHP下载:
我们可以从[url]http://www.php.net/downloads.php[/url]下载最新PHP版本,目前最新的版本为 PHP 5.2.3
1.    下载
#wget [url]http://cn.php.net/distributions/php-[/url]5.2.3.tar.bz2
2.    解压文件
#tar jxvf php-5.2.3.tar.bz2 -C /tmp
3.    编译安装
PHP的功能非常强大,我们需要根据自己的需求启用特定的功能,具体的配置选项可以通过
#./configure --help | more
命令来查看,在这里我们只是简单的加上对mysqlGDJPEG等的支持,具体的配置参数请根据自己的需求定制,在编译前可能还需要安装特定的支持库。
#cd php-5.2.3
#./configure  --prefix=/opt/php523 \
    --with-apxs2=/opt/httpd224/bin/apxs \
--with-gd --with-jpeg-dir --with-zlib \
  --with-png --with-freetype-dir --with-mysql=/opt/mysql5
              #make && make install
              这个编译安装过程时间会长一点,这里需要说明的是对于mysql的支持,系统必           须有mysql-client库,如果本机不需要安装Mysql数据库,可以从Mysql官方网           站只下载客户端。
              #cp php.ini-dist /opt/php523/var/lib/php.ini
              这主要是设置PHP的配置文件,PHP默认在prefix/var/lib查找php.ini文件。可              以通过在配置时添加—with-config-file-path选项改变它的位置。
              #cd /opt/httpd224/conf
              编辑 httpd.conf 文件以调用 PHP 模块,检查是否存在
              LoadModule php5_module modules/libphp5.so
              #echo AddType application/x-httpd-php .php .phtml >> httpd.conf
              #echo AddType application/x-httpd-php-source .phps >> httpd.conf
              以上两句是通知Apache将特定扩展名的文件调用PHP进行解析,可以指定任何扩        展名,只需对每一个用空格分隔。
              最后重新启动Apache
              #/opt/httpd224/bin/apachectl graceful
              /opt/httpd224文件夹下
              touch phpinfo.php
              echo “<?” >>phpinfo.php
              #echo “phpinfo();” >> phpinfo.php
              #echo “?>” >> phpinfo.php
       打开浏览器,输入[url]http://ip-address/phpinfo.php[/url]会显示PHP环境的具体配置信息。



     本文转自 kofstart 51CTO博客,原文链接: http://blog.51cto.com/kofstart/47384 ,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
关系型数据库 MySQL Apache
LAMP源码安装配置实战
LAMP源码安装配置实战
23 3
|
关系型数据库 MySQL 应用服务中间件
LAMP & LNMP及简单环境搭建
LAMP & LNMP及简单环境搭建
150 0
|
弹性计算 关系型数据库 MySQL
服务器LAMP环境搭建
搭建服务器环境
172 1
|
关系型数据库 MySQL PHP
|
关系型数据库 PHP Apache
|
Web App开发 关系型数据库 测试技术
|
关系型数据库 Linux PHP
|
关系型数据库 PHP 开发工具
|
关系型数据库 MySQL PHP
|
关系型数据库 PHP Apache