LAMP的搭建(rpm源代码安装)+

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LAMP的搭建(rpm源代码安装)+相关的知识,希望对你有一定的参考价值。

RPM构建LAMP平台

源码编译构建LAMP平台

部署php网站应用

Crossday Discuz! Board(以下简称 Discuz!,中国国家版权局著作权登记号 2006SR11895)

是康盛创想(北京)科技有限公司(英文简称Comsenz)推出的一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,

通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务。

Discuz! 的基础架构采用世界上最流行的web编程组合PHP+mysql实现,是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。


LAMP-- Linux、Apache、MySQL、PHP/Perl/Python

LNMP-- Linux、nginx、MySQL、PHP/Perl/Python

    (LEMP)

L  Linux 操作系统

A  apache   提供网站服务的软件

N  nginx提供网站服务的软件

M  mysql    提供数据库服务的软件

P  PHP      动态网站开发语言


一、RPM方式构建LAMP平台


1) 安装各组件

[[email protected] ~]# yum -y install httpd mysql-server mysql php php-mysql php-pdo php-mbstring


2)配置各组件

[[email protected] ~]# cp /etc/httpd/conf/httpd.conf{,.bak}  //将配置文件备份

[[email protected] ~]# vim /etc/httpd/conf/httpd.conf   //修改配置文件

ServerName svr.roy.com    //服务器名字

DocumentRoot "/var/www/html"   //网页文件路径

DirectoryIndex index.php index.html   //首页文件


MySQL配置文件:/etc/my.cnf

MySQL库存放路径:/var/lib/mysql

PHP配置文件: /etc/php.ini


3)启动各组件服务

[[email protected] ~]# service httpd restart   //重启服务

[[email protected] ~]# chkconfig httpd on     //添加开机启动

[[email protected] ~]# service mysqld restart

[[email protected] ~]# chkconfig mysqld on

php组件不需要启动,以模块方式被httpd加载



4)测试

[[email protected] ~]# vim  /var/www/html/test1.php

<?php

phpinfo();  //输出PHP环境相关信息

?>

[[email protected] ~]# vim /var/www/html/test2.php

<?php

$link=mysql_connect(‘localhost‘,‘test‘,‘‘);     //连数据库

if($link) echo "恭喜你,数据库连接成功啦 !!";   //成功时的提示

mysql_close();      //关数据库

?>

浏览器中输入:http://IP/test1.php





二、源码编译构建LAMP平台


1. 卸载/移除冲突软件包   //如果是全新的环境。是不需要进行卸载操作的

[[email protected] ~]# yum -y remove httpd mysql-server mysql php php-mysql php-pdo php-mbstring

[[email protected] ~]# rm -rf /var/lib/mysql/ /etc/my.cnf

##配置   编译  安装

##./configure  --help

2. 安装各组件


##【编译安装httpd】

##--prefix=:指定安装目录

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

##--enable-rewrite :支持网站地址重写

##--enable-cgi:支持CGI程序脚本

##--enable-charset-lite:支持多语言编码

##--enable-ssl:支持SSL加密   https://

##--enable-suexec:支持setuid权限封装

##--with-suexec-caller=:指定suEXEC用户

##--with-suexec-docroot=:指定suEXEC目录


[[email protected] ~]# ./configure  --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi --enable-ssl --enable-charset-lite --enable-suexec --with-suexec-caller=daemon --with-suexec-docroot=/usr/local/httpd/htdocs


[[email protected] ~]# make  &&  make install


##安装目录下 /usr/local/httpd

##    htdocs  网页文件存放目录

##    bin     执行命令目录   apachectl  源码网站服务的启动脚本

##           ./bin/apachectl start|stop

##    logs    日志文件存放的目录 (访问日志  错误日志)

##    conf    主配置文件存放目录   httpd.conf

##    modules 模块文件存放的目录


[[email protected] ~]# netstat -utnalp | grep :80


[[email protected] ~]# /usr/local/httpd/bin/apachectl start|stop


[[email protected] httpd]# elinks  --dump http://localhost

##                    It works!

[[email protected] httpd]# echo "hello roy " > /usr/local/httpd/htdocs/a.html

[[email protected] httpd]# elinks  --dump http://localhost/a.html

##        显示消息为   hello roy

   

   

为http添加到服务里面

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

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

            #!/bin/sh

            # chkconfig: 35 85 15

            # description: Apache is a World Wide Web Server

            .. ..

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

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

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


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

ServerName svr.roy.com

.. ..

[[email protected] ~]# service myhttpd start



【编译安装mysql】

1) 添加运行用户

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


2) 解包、配置、编译及安装

[[email protected] ~]# yum -y install ncurses-devel libtermcap-devel


[[email protected] ~]# cd /var/ftp/pub/

[[email protected] pub]# tar zxf mysql-5.1.62.tar.gz

[[email protected] pub]# cd mysql-5.1.62

[[email protected] mysql-5.1.62]# ./configure  --prefix=/usr/local/mysql --with-charset=utf8   --with-collation=utf8_general_ci   --with-extra-charsets=gbk,gb2312


[[email protected] mysql-5.1.62]# make

[[email protected] mysql-5.1.62]# make install


3) 初始化设置

[[email protected] ~]# cd  /var/ftp/pub/mysql-5.1.62/support-files/

创建源码数据库服务的配置文件  /etc/my.cnf  [mv /etc/my.cnf  /etc/my.cnf.bak ]

[[email protected] support-files]# cp  my-medium.cnf /etc/my.cnf    //复制样本配置文件


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

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

启动数据库服务

mysqld_safe --user=mysql &

[[email protected] mysql]# jobs

[1]+  Running                 mysqld_safe --user=mysql &


4) 权限调整及执行优化

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

[[email protected] bin]# chown -R mysql /usr/local/mysql/var/     //使用mysql有权写库


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

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

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


5) 添加为系统服务

[[email protected] bin]# cd  /var/ftp/pub/mysql-5.1.62/support-files/

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

//复制服务脚本


[[email protected] support-files]# chmod  +x  /etc/rc.d/init.d/mysqld

[[email protected] support-files]# chkconfig  --add  mysqld


[[email protected] support-files]# service mysqld restart



【安装源码的php】

--prefix=:指定安装目录

--enable-mbstring:支持多字节字符

--with-apxs2:指定httpd的模块工具位置

--with-mysql:指定mysql的安装位置

--enable-sockets:启用套接字支持

--with-config-file-path=:指定配置路径


             apxs

              |

             httpd  -> php模块

http://192.168.1.200/a.php


[[email protected] ~]# ./configure --prefix=/usr/local/php --enable-mbstring --enable-sockets  --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php



[[email protected] ~]# make  &&  make install 


创建php的配置文件 php.ini

[[email protected] ~]# cd  php-5.4.19

[[email protected] ~]# cp  php.ini-production  /usr/local/php/php.ini

default_charset = "UTF-8"  //默认字符集

file_uploads = On  //允许上传

upload_max_filesize = 4M  //可上传的最大文件

post_max_size = 8M  //最大POST提交的容量



【测试搭建lamp 环境】

1 测试网站服务能不能解释.php的网页页面文件


vim /usr/local/httpd/conf/httpd.conf

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

AddType application/x-httpd-php  .php


[[email protected] ~]# /usr/local/httpd/bin/apachectl stop

[[email protected] ~]# /usr/local/httpd/bin/apachectl start

[[email protected] ~]# cat /usr/local/httpd/htdocs/test.php

<?php

phpinfo();

?>


在浏览器里输入 http://网站服务器的ip地址/test.php

            


2、测试php程序能否连接数据库


[[email protected] htdocs]# pwd

/usr/local/httpd/htdocs

[[email protected] htdocs]# vim linkdb.php

<?php

$linkdb=mysql_connect("localhost","root","");

 if($linkdb){

    echo "link db  ok";

 }else{

    echo "link db no";

 }

?>

http://192.168.1.200/linkdb.php



【LAMP+Discuz】

http://192.168.1.200/Discuz


1、unzip   Discuz_X3.0_SC_UTF8.zip

2、mv upload/ /usr/local/httpd/htdocs/Discuz

3、让daemon用户对论坛文件有访问权限

cd  /usr/local/httpd/htdocs/Discuz

chown -R daemon  config/  data/  uc_server/

chown -R daemon  template/  uc_client/


4 添加授权用户

[[email protected] ~]# mysql  -u  root

mysql> CREATE DATABASE Discuzdb;

mysql> GRANT all ON Discuzdb.* TO ‘webuser‘@‘localhost‘ IDENTIFIED BY ‘123456‘;

mysql> quit


5 安装discuz论坛

在服务器上打开浏览器 http://192.168.1.200/Discuz/install/index.php


本文出自 “古强俊的博客” 博客,请务必保留此出处http://xiaoqiangjs.blog.51cto.com/8675822/1749082

以上是关于LAMP的搭建(rpm源代码安装)+的主要内容,如果未能解决你的问题,请参考以下文章

第17章 LAMP环境搭建

2-24-源码编译搭建LAMP环境-作业 ( By 小甘丶 )

红帽6下用rpm搭建lamp 需要用到哪些包

Lamp环境搭建

CentOS 6.5安装LAMP环境

搭建 LAMP