2132323 发表于 2016-3-10 17:52:58

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)
LLinux 操作系统
Aapache   提供网站服务的软件
Nnginx提供网站服务的软件
Mmysql    提供数据库服务的软件
PPHP      动态网站开发语言

一、RPM方式构建LAMP平台

1) 安装各组件
# yum -y install httpd mysql-server mysql php php-mysql php-pdo php-mbstring

2)配置各组件
# cp /etc/httpd/conf/httpd.conf{,.bak}//将配置文件备份
# 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)启动各组件服务
# service httpd restart   //重启服务
# chkconfig httpd on   //添加开机启动
# service mysqld restart
# chkconfig mysqld on
php组件不需要启动,以模块方式被httpd加载


4)测试
# vim/var/www/html/test1.php
<?php
phpinfo();//输出PHP环境相关信息
?>
# vim /var/www/html/test2.php
<?php
$link=mysql_connect('localhost','test','');   //连数据库
if($link) echo "恭喜你,数据库连接成功啦 !!";   //成功时的提示
mysql_close();      //关数据库
?>
浏览器中输入:http://IP/test1.php




二、源码编译构建LAMP平台

1. 卸载/移除冲突软件包   //如果是全新的环境。是不需要进行卸载操作的
# yum -y remove httpd mysql-server mysql php php-mysql php-pdo php-mbstring
# 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目录

# ./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

# make&&make install

##安装目录下 /usr/local/httpd
##    htdocs网页文件存放目录
##    bin   执行命令目录   apachectl源码网站服务的启动脚本
##         ./bin/apachectl start|stop
##    logs    日志文件存放的目录 (访问日志错误日志)
##    conf    主配置文件存放目录   httpd.conf
##    modules 模块文件存放的目录

# netstat -utnalp | grep :80

# /usr/local/httpd/bin/apachectl start|stop

# elinks--dump http://localhost
##                  It works!
# echo "hello roy " > /usr/local/httpd/htdocs/a.html
# elinks--dump http://localhost/a.html
##      显示消息为   hello roy


为http添加到服务里面
# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
# vim /etc/init.d/httpd
            #!/bin/sh
            # chkconfig: 35 85 15
            # description: Apache is a World Wide Web Server
            .. ..
# chkconfig --add myhttpd
# chkconfig --list myhttpd
myhttpd         0:关闭1:关闭2:关闭3:启用4:关闭5:启用6:关闭

# vim /usr/local/httpd/conf/httpd.conf
ServerName svr.roy.com
.. ..
# service myhttpd start


【编译安装mysql】
1) 添加运行用户
# useradd -M -u 49 -s /sbin/nologin mysql

2) 解包、配置、编译及安装
# yum -y install ncurses-devel libtermcap-devel

# cd /var/ftp/pub/
# tar zxf mysql-5.1.62.tar.gz
# cd mysql-5.1.62
# ./configure--prefix=/usr/local/mysql --with-charset=utf8   --with-collation=utf8_general_ci   --with-extra-charsets=gbk,gb2312

# make
# make install

3) 初始化设置
# cd/var/ftp/pub/mysql-5.1.62/support-files/
创建源码数据库服务的配置文件/etc/my.cnf
# cpmy-medium.cnf /etc/my.cnf    //复制样本配置文件

# cd /usr/local/mysql/bin/
# ./mysql_install_db--user=mysql
启动数据库服务
mysqld_safe --user=mysql &
# jobs
+Running               mysqld_safe --user=mysql &

4) 权限调整及执行优化
# chown -R root:mysql /usr/local/mysql/
# chown -R mysql /usr/local/mysql/var/   //使用mysql有权写库

# ln -s /usr/local/mysql/bin/*/usr/local/bin/
# ln -s /usr/local/mysql/lib/mysql/*/usr/lib64/
# ln -s /usr/local/mysql/include/mysql/*/usr/include/

5) 添加为系统服务
# cd/var/ftp/pub/mysql-5.1.62/support-files/
# cpmysql.server/etc/init.d/mysqld
//复制服务脚本

# chmod+x/etc/rc.d/init.d/mysqld
# chkconfig--addmysqld

# 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

# ./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


# make&&make install

创建php的配置文件 php.ini
# cdphp-5.4.19
# cpphp.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

# /usr/local/httpd/bin/apachectl stop
# /usr/local/httpd/bin/apachectl start
# cat /usr/local/httpd/htdocs/test.php
<?php
phpinfo();
?>

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



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

# pwd
/usr/local/httpd/htdocs
# vim linkdb.php
<?php
$linkdb=mysql_connect("localhost","root","");
if($linkdb){
    echo "link dbok";
}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 daemonconfig/data/uc_server/
chown -R daemontemplate/uc_client/

4 添加授权用户
# mysql-uroot
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

页: [1]
查看完整版本: LAMP的搭建(rpm、源代码安装