X
广告
首页 > 系统 > 关键词  > LAMP服务器立LAMP服务器就环境的最新资讯  > 正文

LAMP服务器就环境的建立

2008-12-22 16:55 · 稿源:Linux服务器

RedHat Enterprise Linux下的Apache 2.2.6 + PHP 5.2.5+ Mysql5.0.46 + Zend Optimizer 3.3.0 + PHPMyAdmin 2.11.1 源码安装配置

说明:

RPM包和源码包存放位置 /usr/local/src
源码包编译安装位置(prefix) /usr/local/xxx

脚本以及维护程序存放位置 /usr/local/sbin
MySQL 数据库位置 /var/lib/mysql
Apache 网站根目录 /usr/loca/apache2/htdocsl
Apache 虚拟主机日志根目录 /data/logs/www
yum RPM包信息文件 /etc/yum.list
●mysql 5.0.46安装配置
mysql 5.0.46是企业版本,貌似双数版本都是企业版本了。个人觉得代码质量要比社区版本要好一些。大家可以下载,免费使用。并不需要向mysql公司交钱。

cd /usr/local/src
# wget https://mirror.provenscaling.com/mysql/enterprise/source/5.0/mysql-5.0.46.tar.gz
# tar xzvf mysql-5.0.46.tar.gz
# cd mysql-5.0.46

修改mysql 客户端最大连接数, 默认的只有100,远远达不到我们的要求。

# vi sql/mysqld.cc

搜索找到下面一行:
{"max_connections", OPT_MAX_CONNECTIONS,
"The number of simultaneous clients allowed.", (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1,
0},

将其中的100改为1500, 当然小点也可以,根据你的需要来,不建议改的太大。

{"max_connections", OPT_MAX_CONNECTIONS,
"The number of simultaneous clients allowed.", (gptr*) &max_connections,
(gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1,
0},

保存。

# ./configure --prefix=/usr/local/mysql --localstatedir=/var/lib/mysql --with-comment=Source --with-server-suffix=-enterprise-gpl --with-mysqld-user=mysql --without-debug --with-big-tables --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=all --with-pthread --enable-static --enable-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --without-innodb --without-ndb-debug --without-isam


配置成功会提示:

MySQL has a Web site at https://www.mysql.com/ which carries details on the
latest release, upcoming features, and other information to make your
work or play with MySQL more productive. There you can also find
information about mailing lists for MySQL discussion.

Remember to check the platform specific part of the reference manual for
hints about installing MySQL on your platform. Also have a look at the
files in the Docs directory.

Thank you for choosing MySQL!
# make
编译的时间可能会比较长,毕竟优化的比较厉害。

# mamake ske install

编译安装完成后执行后续操作:
# useradd mysql //添加 mysql 用户
# cd /usr/local/mysql
# bin/mysql_install_db --user=mysql
# chown -R root:mysql . //设置权限,注意后面有一个 "."
# chown -R mysql /var/lib/mysql //设置 mysql 目录权限
# chgrp -R mysql . //注意后面有一个 "."
# cp share/mysql/my-medium.cnf /etc/my.cnf
# cp share/mysql/mysql.server /etc/rc.d/init.d/mysqld //开机自动启动 mysql。
# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# /etc/rc.d/init.d/mysqld start //启动 MySQL
# bin/mysqladmin -u root password "password_for_root"
# service mysqld stop //关闭 MySQL

#p#分页标题#e#

● 编译安装 Apache
# cd /usr/local/src
# wget https://www.ip97.com/apache.org/httpd/httpd-2.2.6.tar.gz
# tar zxvf httpd-2.2.6.tar.gz
# cd httpd-2.2.6

依次安装apr和apr-util

# cd srclib/apr
# ./configure --prefix=/usr/local/apr --enable-threads --enable-other-child --enable-static
# make && make install

# cd ../apr-util
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ --with-mysql=/usr/local/mysql
# make && make install

#cd /usr/local/src/httpd-2.2.6
# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=all --with-mysql=/usr/local/mysql --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-static-support --enable-static-htpasswd --enable-static-htdigest --enable-static-rotatelogs --enable-static-logresolve --enable-static-htdbm --enable-static-ab --enable-static-checkgid --enable-mod_cgi --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/
# make
# make install

注解:
./configure //配置源代码树
--prefix=/usr/local/apache2 //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。
--enable-module=so //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块
--enable-mods-shared=all //编译全部的模板,对于不需要我们可以在httpd.conf去掉。
--enable-cache //支持缓存
--enable-file-cache //支持文件缓存
--enable-mem-cache //支持记忆缓存
--enable-disk-cache //支持磁盘缓存
--enable-static-support //支持静态连接(默认为动态连接)
--enable-static-htpasswd //使用静态连接编译 htpasswd - 管理用于基本认证的用户文件
--enable-static-htdigest //使用静态连接编译 htdigest - 管理用于摘要认证的用户文件
--enable-static-rotatelogs //使用静态连接编译 rotatelogs - 滚动 Apache 日志的管道日志程序
--enable-static-logresolve //使用静态连接编译 logresolve - 解析 Apache 日志中的IP地址为主机名
--enable-static-htdbm //使用静态连接编译 htdbm - 操作 DBM 密码数据库
--enable-static-ab //使用静态连接编译 ab - Apache HTTP 服务器性能测试工具
--enable-static-checkgid //使用静态连接编译 checkgid
--disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本
--disable-cgi //禁止编译 CGI 版本的 PHP
我们不再使用worker模式编译apache,worker模式和php貌似有一些不协调不稳定之处。所以使用了默认的perfork模式。

将apache设置成开机自启动:

在/etc/rc.d/rc.local文件中加入一行
/usr/local/apache2/bin/apachectl start
这样每次重新启动系统以后,apache也会随系统一起启动.

或者
# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
然后 vi /etc/rc.d/init.d/httpd 添加(#!/bin/sh下面)
# chkconfig: 2345 10 90
# description: Activates/Deactivates Apache Web Server
最后,运行chkconfig把Apache添加到系统的启动服务组里面:
# chkconfig --add httpd
# chkconfig httpd on
或者:

# echo '/usr/local/apache2/bin/apachectl start ' >> /etc/rc.d/rc.local //将 apachectl 的调用加入到你的系统启动文件中。

#p#分页标题#e#

●编译php 5.2.5

1、freeTDS(解决PHP与MSSQL连接的问题
具体安装如下:
freeTDS的安装
#tar –zxvf freetds-stable.tgz
#cd freetds-0.63
#./configure --prefix=/usr/local/freetds #make

#make install
#vi /etc/ld.so.conf 设置系统动态库配置文件,加入以下:
/usr/local/freetds/lib
保存退出。
#ldconfig 重新加载动态库列表ld.so.conf
2、安装 jpeg6
建立目录
# mkdir /usr/local/jpeg6
# mkdir /usr/local/jpeg6/bin
# mkdir /usr/local/jpeg6/lib
# mkdir /usr/local/jpeg6/include
# mkdir /usr/local/jpeg6/man
# mkdir /usr/local/jpeg6/man/man1
# cd /root/soft
# tar -zxf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
#echo $?
# make; make install

3、安装libpng
# cd /root/soft
# tar -zxf libpng-1.2.8.tar.gz
# cd libpng-1.2.8
# cp scripts/makefile.std makefile
# make; make install

4、安装 freetype
# cd /root/soft
# tar -zxf freetype-2.1.10.tar.gz
# cd freetype-2.1.10
# ./configure --prefix=/usr/local/freetype
#echo $?
# make;make install

5、安装最新的GD库
# cd /root/soft
# tar -zxf gd-2.0.33.tar.gz
# cd gd-2.0.33
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png --with-zlib --with-freetype=/usr/local/freetype/
#echo $?
# make; make install

6、安装最新的Curl库
# cd /root/soft
# tar -zxf curl-7.15.0.tar.gz
# ./configure --prefix=/usr/local/curl
#echo $?
# make; make install
7、
由于php5需libxml2的支持, 所以先安装libxml2
# cd /root/soft
# tar -zxf libxml2-2.6.19.tar.gz
# cd libxml2-2.6.19
# ./configure --prefix=/usr/local/libxml2
#echo $?
# make; make install

8、安装 libxslt
# cd /root/soft
# tar -zxf libxslt-1.1.15.tar.gz
# cd libxslt-1.1.15
# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
#echo $?
# make; make install
开始安装php
# tar -zxf php-5.0.5.tar.gz
# cd php-5.05
# ./configure --prefix=/usr/local/php --enable-mbstring --with-apxs2=/usr/local/apache2/bin/apxs --with-pear=/usr/share/php --with-bz2 --with-mysql=/usr/local/mysql/--with-curl=/usr/local/curl --enable-ftp --with-libxml-dir=/usr/local/libxml2 --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --enable-gd-native-ttf --enable-gd-jis-conv --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/lib --with-png --with-freetype-dir=/usr/local/freetype --with-config-file-path=/etc --with-iconv --disable-ipv6 --enable-static --enable-maintainer-zts --enable-zend-multibyte --enabl e-inline-optimization --enable-zend-multibyte --enable-sockets --enable-soap

#echo $?
# make
# make install

其中./configure 后的
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql/
--with-libxml-dir=/usr/local/libxml2
是必要的选项

--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-png
--with-zlib-dir=/usr/lib
--with-freetype-dir=/usr/local/freetype
这是让PHP支持GD库的配置选项

--with-curl=/usr/local/curl 支持CURL库
--enable-ftp 打开FTP库函数支持

--enable-soap --with-xsl=/usr/local/libxslt --enable-xslt
让PHP支持SOAP, 上面这些一般用得少, 可以去掉

如果在MAKE的时候出错,那么就是你以上相关的软件没有安装好,这是最全的,出错的方法都是没有装相应的软件包,你可以查看一下。

#cp php.ini-dist /usr/local/lib/php.ini
#vi /usr/local/lib/php.ini
将register_globals = Off改为register_globals = On

#p#分页标题#e#

●整合apache 与php
1、

#vi /usr/local/httpd/httpd.conf 些模块简单的修改
在配置文件中添加如下:
AddType application/x-httpd-php .php .php3 .php4 .php5

2、

查找:(设置 WEB 默认文件)
DirectoryIndex index.html

替换为:
DirectoryIndex index.php index.html index.htm //在 WEB 目录不到默认文件,httpd 就会执行 /var/www/error/noindex.html
3、

找到这一段:
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride none

更改为AllowOverride all
允许apache rewrite

4、启动cgi
#AddHandler cgi-script .cgi 去掉#打开CGI脚本服务

如果想同时运行扩展名为 .pl

则改为:

AddHandler cgi-script .cgi .pl
#/usr/local/httpd/bin/apachectl restart 重启一下apahce服务
apache服务器的PHP配置完成。
配置重新导入
/etc/rc.d/init.d/xinetd restart

●测试服务器
1、测试PHP
进入Apache默认主目录/usr/local/httpd/htdocs,在该目录下建一个test.php文件
#vi test.php 写入以一内容
<?phpinfo();?>
https://IP地址/phpinfo.php 就可以看到相关的服务信息啦

2、测试cgi

#cd /usr/local/apache2/

#chmod 755 cgi-bin

#cd cgi-bin

#chmod 755 test-cgi

或者在apache网站目录里编如下代码

#vi test.cgi

[#!/usr/bin/perl

print "Content-type: text/html\n\n; ";
print "Hello World\n";]

●安装phpmyadmin,管理mysql数据库

# cd /usr/local/apache2/htdocs/
# wget https://nchc.dl.sourceforge.net/sourc...-8-only.tar.gz

# tar zxvf phpMyAdmin-2.11.1-all-languages-utf-8-only.tar.gz
# mv phpMyAdmin-2.11.1-all-languages-utf-8-only phpmyadmin

# cd phpmyadmin/libraries

修改配置文件
# vi config.default.php

找到这几行进行修改:
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (valid choices: config, http, HTTP, signon or cookie)
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = 'PASSWORD'; // MySQL password (only needed

经过这几个步骤,我们一个比较安全的LAMP服务器就环境基本建立成功啦。

  • 相关推荐
  • 大家在看
  • Omdia:AMD在服务器CPU市场获得16%份额 历史最佳成绩

    市场分析公司 Omdia 发布的最新研报称,在最近一个季度中 AMD 在服务器市场取得了骄人的 16% 份额。Business Wire 报道称,AMD 之所以能够取得如此优秀的成绩,部分原因是 Google 等超大规模云服务提供商的需求。报告中指出由于对服务器需求的巨大要求,甚至在行业遭受按时完成订单的能力的情况下,AMD 显示“总共有 215 亿美元的供应商收入”。来自服务器的收入预计将出现 11% 的增长,获得总额为 920 亿美元的收入。由于服务器价

  • 淘宝回应服务器崩了 大家不睡觉都太猛了

    今年几大电商平台双十一购物节的时间都提前至10月20日晚上8点,这让很多消费者都觉得更加贴心,不再需要熬夜等到零点的时候参与预售抢单。不过就在昨晚,预售开启后不到几分钟,网友们就发现淘宝页面出现无法刷新等问题,纷纷担心淘宝的服务器能不能抗住这么多的流量。

  • Cockroach Labs宣布推出无服务器版本的SQL数据库

    CockroachDB的制造商Cockroach Labs(蟑螂实验室)今天宣布了其无服务器版本SQL数据库的公开测试版,为开发者提供了一种更容易和低成本的方式来访问数据库资源,这些资源可以向上和向下扩展,而不需要明确定义它们。公司联合创始人兼首席执行官Spencer Kimball说,其目标是为开发者降低复杂性,同时提供一个细化的价格体系。无服务器产品为开发者消除了前期的决策点,这相当重要。很大的优势是可以按细化的使用量计费,只需为你所?

  • Facebook大规模服务中断事件调查:BGP与DNS服务器离线所致

    BGP 是“边界网关协议”的缩写,作为一套允许在互联网上的自治系统(AS)之间交换路由信息的机制,其在刚刚过去的 Facebook 大规模服务中断事件中也扮演了重要的角色。Cloudflare 指出,BGP 使得互联网上工作的大型路由器能够拥有庞大的、不断更新的可能路由列表,从而将各个挽留过数据包送达最终的目的地。(图自:Cloudflare)若缺乏 BGP,互联网路由器将不知如何正确工作。毕竟 Internet 的本意,就是在 BGP 绑定之下、一个套着

  • 阿里云:将服务器泡在水里 散热能耗几乎为零

    2021云栖大会上,阿里巴巴集团副总裁、阿里云基础设施负责人周明表示,阿里云将加速在新型数据中心内清洁能源的使用,位于河源的数据中心最快明年将100%使用清洁能源。

  • 《王者荣耀》限时点券大放送挤爆服务器 官方紧急扩容

    10月8日,《王者荣耀》上线了限时点券大放送”活动,完成活动任务,就可以获得1000限时点券,进入限时点券商城中进行兑换传说以及史诗皮肤。想想免费获得1000限时点券,不少玩家们简直乐开了花。因活动火爆,部分玩家在参与王者宝藏-限时点券大放送活动时,出现对局结束后点赞、赠送金币后无法完成对应任务的问题。对此,王者荣耀官方刚刚发布了《王者宝藏-限时点券大放送活动任务异常说明》,文中指出,针对该问题我们正在进行紧?

  • 微软为Exchange Online服务器部署HTTP/3:延迟有望降低67%

    从一个多月前正式发布的 Windows Server 2022 开始,Exchange Online 团队就一直与 Microsoft 365 团队展开密切合作,以期在 Outlook.office.com 的服务器端提供对 HTTP/3 的支持。由微软分享的最新消息可知,其部署进度已达 20% 。这家软件巨头提供了所谓“最后一英里请求延迟指标”的一些详情。作为一个重要的性能指标,这意味着从总请求时间中(客户端与前门服务器之间),减去的后端处理所需时间。对于 Web 端的 Outlook 来说?

  • Omdia:AMD处理服务器市场份额达10多年最高水平

    研究机构 Omdia 日前发布了2021年第二季度全球服务器市场报告。报告显示,AMD 在该季度的业绩表现是有史以来最好的,超大规模云计算客户(谷歌)的采购带动了 AMD 的业绩表现。

  • 淘宝回应服务器崩了:听完首支双十一神曲笑嘻嘻 太洗脑

    昨晚8点,一年一度的天猫双11正式开启,预售第一次不熬夜了。多达1400万款商品集体打折,其中1000个品牌旗舰店的爆款商品全部补贴到5折。果然,不用熬夜的剁手族热情超出预期。预售,就有网友反映给客服发消息发不出去,有网友称以为是网络问题,5G和Wi-Fi都不行。随后,#淘宝崩了#和淘宝的双十一预售”双双登上热搜的第一和第二。很快,淘宝官方查明原因,并回复称:原来不熬夜的你们这么猛吗?”淘宝/天猫卖家一站式工作台官方表

  • 消息称阿里巴巴将于今年云栖大会发布Arm服务器芯片

    据财新从数位知情人士处获悉,阿里从 2019 年开始研发的Arm架构服务器芯片已于年中完成流片,或于近期发布。该芯片采用 5 纳米工艺打造,是目前制程上最为先进的服务器芯片。

这篇文章对你有价值吗?

  • 热门标签

热文

  • 3 天
  • 7天