LAMP平台搭建部署

LAMP平台部署及应用

什么是LAMP

目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境

构成组件

Linux、Apache、MySQL、PHP/Perl/Python

LAMP的优势

成本低廉

可定制、易于开发

方便易用、安全和稳定

一、安装apache

1.准备工作

服务器IP:192.168.3.10

[[email protected] ~]# service iptables stop       //关闭防火墙

[[email protected] ~]# setenforce 0 //关闭selinux

2.检查是否通过rpm方式安装了相关软件,防止冲突

rpm -e  httpd httpd-manual webalizer subversion mod_python mod_ssl mod_perl system-config-

httpd php php-cli php-ldap php-common php-mysql  mysql-server mysql dovecot

3.源代码安装apache

[[email protected] ~]# tar xf httpd-2.2.17.tar.gz -C /usr/src/

[[email protected] ~]# cd /usr/src/httpd-2.2.17/

[[email protected] httpd-2.2.17]# ./configure --prefix=/usr/local/httpd --enable-so --enable-

rewrite --enable-charset-lite --enable-cgi

[[email protected] httpd-2.2.17]# make && make install

--prefix:        指定将httpd服务程序安装到哪个目录

--enable-so:      启用动态加载模块支持

--enable-rewrite:启用网页地址重写功能

--enable-charset: 启用字符集支持

--enable-cgi:     启用CGI脚本程序支持

4.优化路径

[[email protected] httpd-2.2.17]# ln -s /usr/local/httpd/bin/* /usr/local/bin/

[[email protected] httpd-2.2.17]# cd /usr/local/

[[email protected] local]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

[[email protected] ~]# vim /etc/init.d/httpd

#!/bin/sh

#chkconfig: 345 61 61

#description:Apache https

[[email protected] ~]# chmod +x /etc/init.d/httpd

[[email protected] ~]# chkconfig --add httpd

[[email protected] ~]# chkconfig --list httpd

[[email protected] ~]# service httpd restart

问题1:

httpd: apr_sockaddr_info_get() failed for localhost.com

httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1

for ServerName

httpd not running, trying to start

[[email protected] ~]# cd /usr/local/httpd/conf/

[[email protected] conf]# vi httpd.conf

97 #ServerName crushlinux.example.com:80

98 ServerName localhost:80

[[email protected] conf]# service httpd start

[[email protected] conf]# ps -aux |grep httpd

[[email protected] conf]# netstat -anpt | grep :80

tcp        0      0 :::80                       :::*                        LISTEN

22238/httpd

问题2:

/usr/local/apache/bin/httpd: error while loading shared libraries: libiconv.so.2: cannot open

shared object file: No such file or directory

有很多so模块在/usr/local/lib目录下,所以在/etc/ld.so.conf中加入/usr/local/lib这一行

[[email protected] conf]#vi /etc/ld.so.conf

/usr/local/lib

[[email protected] conf]# /sbin/ldconfig -v

现在您已经将 Apach源代码安装在 /usr/local/httpd。本源代码安装支持可装载模块

和标准的 MPM prefork。之后,可以使用如下命令启动 Apache 服务器:

/usr/local/httpd/bin/apachectl start

二、安装mysql

1.源代码安装Mysql

[[email protected] ~]# useradd -M -u 49 -s /sbin/nologin mysql

[[email protected] ~]# tar xf mysql-5.1.55.tar.gz -C /usr/src/

[[email protected] ~]# cd /usr/src/mysql-5.1.55/

[[email protected] mysql-5.1.55]# ./configure --prefix=/usr/local/mysql --with-charset=utf8 --

with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312

[[email protected] mysql-5.1.55]# make && make install

[[email protected] mysql-5.1.55]# cp support-files/my-medium.cnf /etc/my.cnf

[[email protected] mysql-5.1.55]# cd /usr/local/mysql/bin/

[[email protected] bin]# ./mysql_install_db --user=mysql

[[email protected] bin]# chown -R root:mysql /usr/local/mysql/

[[email protected] bin]# chown -R mysql /usr/local/mysql/var/

[[email protected] bin]# ln -s /usr/local/mysql/bin/* /usr/local/bin/

[[email protected] bin]# ln -s /usr/local/mysql/lib/mysql/* /usr/lib/

[[email protected] bin]# ln -s /usr/local/mysql/include/mysql/* /usr/include/

[[email protected] bin]# cd /usr/src/mysql-5.1.55/

[[email protected] mysql-5.1.55]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld

[[email protected] mysql-5.1.55]# chmod a+x /etc/rc.d/init.d/mysqld

[[email protected] mysql-5.1.55]# chkconfig --add mysqld

[[email protected] mysql-5.1.55]# chkconfig --list mysqld

mysqld         0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

[[email protected] mysql-5.1.55]# service mysqld restart

Shutting down MySQL.                                       [确定]

Starting MySQL.                                            [确定]

如果报错:(没有略过)

[[email protected] mysql-5.1.55]#  service mysqld restart

MySQL manager or server PID file could not be found!       [失败]

Starting MySQL.Manager of pid-file quit without updating fi[失败]

问题:

启动MYSQL报错Starting MySQL.Manager of pid-file quit without updating fi[失败]

rm -rf /var/lib/mysql

/usr/local/mysql/bin/mysql_install_db --user=mysql

[[email protected] ~]# netstat -anpt | grep :3306

tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN

3089/mysqld

三、安装其他软件包(php)

1.源代码安装libmcrypt

[[email protected] ~]# tar xf libmcrypt-2.5.8.tar.gz -C /usr/src/

[[email protected] ~]# cd /usr/src/libmcrypt-2.5.8/

[[email protected] libmcrypt-2.5.8]# ./configure && make && make install

[[email protected] libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib/

2.源代码安装mhash

[[email protected] ~]# tar xf mhash-0.9.9.9.tar.gz -C /usr/src/

[[email protected] ~]# cd /usr/src/mhash-0.9.9.9/

[[email protected] mhash-0.9.9.9]# ./configure && make && make install

[[email protected] mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib/

3.源代码安装mcrypt

[[email protected] ~]# tar xf mcrypt-2.6.8.tar.gz -C /usr/src/

[[email protected] ~]# cd /usr/src/mcrypt-2.6.8/

[[email protected] mcrypt-2.6.8]# ./configure && make && make install

编译安装mcrypt报错:

configure: error: *** libmcrypt was not found

环境变量问题:gcc编译的时候根据自身定义的变量寻找相关函数库等文件

libmcrypt在环境变量中没有定义出来:所以需要手动添加:

export LD_LIBRARY_PATH=/usr/local/lib:$ LD_LIBRARY_PATH

继续编译安装吧!

4.源代码安装PHP

[[email protected] ~]# tar xf php-5.3.6.tar.gz -C /usr/src/

[[email protected] ~]# cd /usr/src/php-5.3.6/

[[email protected] php-5.3.6]# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-

apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-

path=/usr/local/php5 --enable-mbstring

[[email protected] php-5.3.6]# && make && make install

--prefix=/usr/local/php5 //指定安装目录

--with-mcrypt //加载扩展工具支持

--with-apxs2=/usr/local/httpd/bin/apxs //设置Apache提供的apxs模块程序文件位置

--with-mysql=/usr/local/mysql //指定mysql服务的安装路径

--with-config-file-path=/usr/local/php5 //指定php配置文件“php.ini”的存放路径

--enable-mbstring //启用多字节字符串功能

问题:

make && make install 报错信息如下:

/usr/bin/ld:cannot find-lltdl collect2:ld returned 1 exit status

make :***[libphp5.la] Error 1

解决方案:

mount /dev/cdrom /mnt/

rpm -ivh /mnt/Server/libtool-1.5.22-7.el5_4.i386.rpm

rpm -ivh /mnt/Server/libtool-ltdl-1.5.22-7.el5_4.i386.rpm

rpm -ivh /mnt/Server/libtool-ltdl-devel-1.5.22-7.el5_4.i386.rpm

四、设置lamp组件

1.设置lamp组件

[[email protected] php-5.3.6]# ls /usr/src/php-5.3.6/php.ini-*

2.复制样例文件

[[email protected] php-5.3.6]# cp /usr/src/php-5.3.6/php.ini-development /usr/local/php5/php.ini

3.php.ini配置调整

[[email protected] ~]# vim /usr/local/php5/php.ini

773 default_charset = "utf-8" //设置默认字符集为utf-8

871 file_uploads = On //允许通过PHP网页上传文件

880 upload_max_filesize = 2M //允许上传的文件大小限制

883 max_file_uploads = 20 //每个HTTP请求最多允许上传的文件数

728 post_max_size = 8M //每次通过表单POST提交的数据量限制

226 short_open_tag = On //允许识别PHP短语法标记,即<? … ?>

4.添加ZendGuardLoader模块(用于优化页面加载速度)

[[email protected] ~]# tar xf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/

[[email protected] ~]# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/

[[email protected] php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php/

[[email protected] ~]# vim /usr/local/php5/php.ini

zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so

zend_loader.enable=1

5.调整Apache配置

[[email protected] ~]# vim /usr/local/httpd/conf/httpd.conf

53 LoadModule php5_module        modules/libphp5.so 配置加载PHP程序的模块文件

54 AddType application/x-httpd-php .php .phtml 添加对“.php”类型网页支持

169     DirectoryIndex index.php index.html         识别常见的php首页文件

[[email protected] ~]# service httpd restart

6.功能测试

1)测试PHP能否正常提供服务

[[email protected] ~]# vim /usr/local/httpd/htdocs/test1.php

<?php

phpinfo (); 内建函数用于显示PHP环境信息

?>

service httpd restart

浏览器输入:http://192.168.200.128/test1.php

2)测试PHP能否正常访问mysql数据库

[[email protected] ~]# vi /usr/local/httpd/htdocs/test2.php

<?php

$link=mysql_connect(‘localhost‘,‘root‘,‘‘);

if($link) echo "Connect Successfully!";

else echo "Connect Faild!";

mysql_close();

?>

service httpd restart

浏览器输入:http://192.168.200.128/test2.php

11、部署应用案例

tar xf phpMyAdmin-3.3.10-all-languages.tar.gz

mv phpMyAdmin-3.3.10-all-languages /usr/local/httpd/htdocs/phpMyAdmin

cd /usr/local/httpd/htdocs/phpMyAdmin/

cp config.sample.inc.php config.inc.php

vi config.inc.php

$cfg[‘blowfish_secret‘] = ‘[email protected]‘; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

mysqladmin -u root password ‘123.com‘

12.

浏览器输入:http://192.168.3.10/phpMyAdmin/

用户名:root

密码:123.com

完成部署

时间: 2024-10-12 13:45:40

LAMP平台搭建部署的相关文章

LAMP平台搭建详解

准备工作 安装编译工具 # yum -y install gcc # yum -y install gcc-c++ 如果系统之前已经安装有rpm包的mysql和apache,那么可以: #service httpd stop #service mysqld stop 确定rpm包安装的httpd和mysqld不能开机启动 #chkconfig –level 2345 mysqld/httpd stop 关闭SELINUX和防火墙,或者允许防火墙开放相关端口,apache 80端口,mysql 3

LAMP平台搭建及其原理详解

LAMP平台搭建及其原理详解 LAMP平台搭建基础概念 LAMP:提到LAMP很多人会认为LAMP是Linux ,Apache,Mysql,PHP.但是随着技术的不断发展,当今的Lamp,已经不仅仅是这么简单了,这里我们的P除了PHP其实还包括:phython,perl    .而M也不仅仅指的是mysql,也包括mariadb. LAMP平台顾名思义就是Linux,apache,mysql(mariadb),php(phython,perl)的结合.按照他们的结合方式不同,大致可以分成三类:

LAMP平台的部署与应用(二)

5部署Discuz!论坛系统: 5-1)Discuz!论坛系统需要使用MySQL数据库来存放各种信息.创建库bbsdb并让root用户对bbsdb中的所有表具有all的权限,访问密码是2008.cn 5-2)确认程序代码 5-3)创建论坛站点根目录,并将论坛代码上传到根目录bbs下 5-4)调整httpd的运行用户(默认为daemon)能够对以下目录及文件进行可读.可写操作的属性 5-5)实现论坛可以使用域名bbs.benet.com 方式访问,操作截图如下: 5-6)访问地址:http://b

开源日志分析系统ELK平台搭建部署

开源日志分析系统ELK平台搭建部署 一.前言 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总. 集中化管理

基于ansible role实现LAMP平台批量部署

前言 作为运维人员,当面对几十台或上百台服务器需要修改某个参数或部署某个平台,你将从何入手呢?ansible的出现很好的解决了这一困扰,ansible基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.本文带来的是基于Ansible Role实现LAMP平台批量部署. ansible简介 特性 No agents:不需要在被管控主机上安装任意客户端 No server:无服务器端

Linux的LAMP平台搭建和用phpAdmin管理套件的部署

LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境.LAMP是缩写词.L指的是Linux操作系统:A是APache网站服务器:M是MySQL数据库:P就是PHP网页编写语言了. LAMP平台的优势:成本低廉,所有组件开源免费.可定制,拥有大量的额外组件和可扩展功能模块.易于开发.方便易用.安全稳定. 一,安装Apache 具体步骤见我的上一篇博客 二,安装Mysql数据库 1. 卸载掉原有的用RPM安装的MySQL,避免

LAMP平台的部署

LAMP平台的搭建 1. 系统环境: 1)软件包版本: httpd-2.2.9 mysql-5.1.56 php- 2)系统:CentOSrelease 6.4 (Final)- 2.6.32-358.el6.x86_64 3)系统关闭防火墙,禁用selinux servicesiptables stop chkconfigiptables off sed -i's/enforcing/disabled/g' /etc/selinux/config setenforce0 2. 部署 2.1 部

LAMP平台搭建脚本

#!/bin/bash DATE=`date +%F_%T` #源码包编译安装搭建LAMP平台的. #本脚本所需软件包:cmake-2.8.11.2.tar.gz   mysql-5.5.22.tar.gz #httpd-2.2.17.tar.gz     php-5.3.28.tar.gz #libmcrypt-2.5.7.tar.gz  phpMyAdmin-4.2.5-all-languages.tar.gz #mcrypt-2.6.8.tar.gz     ZendGuardLoader

linux服务器 LAMP平台的部署

系统版本:红帽6.5企业版 Apache版本:httpd-2.2.17 MySQL版本:mysql-5.5.38  PHP版本:php-5.3.28 LAMP平台是由:Linux系统.Apache网站服务器.MySQL数据库服务器及其PHP(或perl.Python)网页编写语音四个组件构成,优势在于成本低廉.可定制.易于开发.方便易用.安全和稳定,这也是被各种企业广泛使用原因 首先需要注意的是在构建LAMP平台时,各组件的安装顺序依次为Linux.Apache.MySQL.PHP,其中Apac