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