RPM构建LAMP平台
源码编译构建LAMP平台
部署PHP网站应用
LAMP-- Linux、Apache、MySQL、PHP/Perl/Python
LNMP-- Linux、Nginx、MySQL、PHP/Perl/Python
(LEMP)
一、RPM方式构建LAMP平台
1) 安装各组件
[root@svr5 ~]# yum -y install httpd mysql-server mysql php php-mysql php-pdo php-mbstring
2)配置各组件
[root@svr5 ~]# cp /etc/httpd/conf/httpd.conf{,.bak}
[root@svr5 ~]# vim /etc/httpd/conf/httpd.conf
….
ServerName svr5.tarena.com
DocumentRoot "/var/www/html"
DirectoryIndex index.php index.html
.. ..
MySQL配置文件:/etc/my.cnf
MySQL库存放路径:/var/lib/mysql
PHP配置文件: /etc/php.ini
3)启动各组件服务
[root@svr5 ~]# service httpd restart
[root@svr5 ~]# chkconfig httpd on
[root@svr5 ~]# service mysqld restart
[root@svr5 ~]# chkconfig mysqld on
php组件不需要启动,以模块方式被httpd加载
4)测试
[root@svr5 ~]# vim /var/www/html/test1.php
<?php
phpinfo(); //输出PHP环境相关信息
?>
[root@svr5 ~]# vim /var/www/html/test2.php
<?php
$link=mysql_connect('localhost','test',''); //连数据库
if($link) echo "恭喜你,数据库连接成功啦 !!"; //成功时的提示
mysql_close(); //关数据库
?>
二、源码编译构建LAMP平台
1. 卸载/移除冲突软件包
[root@svr5 ~]# yum -y remove httpd mysql-server mysql php php-mysql php-pdo php-mbstring
[root@svr5 ~]# rm -rf /var/lib/mysql/ /etc/my.cnf
2. 安装各组件
【编译安装httpd】
1)安装依赖包
[root@svr5 ~]# yum -y install openssl-devel
2)解包、配置、编译、安装
[root@svr5 ~]# cd /var/ftp/pub/ //源码包路径
[root@svr5 pub]# tar zxf httpd-2.2.25.tar.gz
[root@svr5 pub]# cd httpd-2.2.25
[root@svr5 httpd-2.2.25]#./configure --prefix=/usr/local/httpd--enable-so --enable- rewrite --enable-cgi --enable-ssl --enable- charset-lite
常用配置参数用途:
--prefix=:指定安装目录
--enable-so:支持动态加载模块
--enable-rewrite :支持网站地址重写
--enable-cgi:支持CGI程序脚本
--enable-ssl:支持SSL加密
--enable-charset-lite:支持多语言编码
[root@svr5 httpd-2.2.25]# make
[root@svr5 httpd-2.2.25]# make install
3)建立服务脚本
[root@svr5 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/myhttpd
[root@svr5 ~]# vim /etc/init.d/myhttpd
#!/bin/sh
# chkconfig: 35 85 15
# description: Apache is a World Wide Web Server
.. ..
[root@svr5 ~]# chkconfig --add myhttpd
[root@svr5 ~]# chkconfig --list myhttpd
myhttpd 0:关闭 1:关闭 2:关闭 3:启用 4: 关闭 5:启用 6:关闭
4)调整及启动服务
[root@svr5 ~]# vim /usr/local/httpd/conf/httpd.conf
ServerName svr5.tarena.com
.. ..
[root@svr5 ~]# service myhttpd start
【编译安装mysql】
1) 添加运行用户
[root@svr5 ~]# useradd -M -u 49 -s /sbin/nologin mysql
2) 解包、配置、编译、安装
[root@svr5 ~]# yum -y install ncurses-devel libtermcap-devel
依赖包
[root@svr5 ~]# cd /var/ftp/pub/
[root@svr5 pub]# tar zxf mysql-5.1.62.tar.gz
[root@svr5 pub]# cd mysql-5.1.62
[root@svr5 mysql-5.1.62]#./configure --prefix=/usr/local/mysql --with-charset=utf8 -- with-collation=utf8_general_ci --with-extra- charsets=gbk,gb2312
常用配置参数用途:
--prefix=:指定安装目录
--with-charset=utf8:指定默认字符集 (支持中文)
--with-collation=utf8_general_ci:指定默认的校对规则 集
--with-extra-charsets=gbk,gb2312:设置支持的其他字符 集
[root@svr5 mysql-5.1.62]# make
[root@svr5 mysql-5.1.62]# make install
3) 初始化设置
[root@svr5 ~]# cd /var/ftp/pub/mysql- 5.1.62/support-files/
[root@svr5 support-files]# cp my-medium.cnf /etc/my.cnf//复制样本配置文件
[root@svr5 support-files]# cd /usr/local/mysql/bin/
[root@svr5 bin]# ./mysql_install_db --user=mysql //初始化库表
4) 权限调整及执行优化
[root@svr5 bin]# chown -R root:mysql /usr/local/mysql/
[root@svr5 bin]# chown -R mysql /usr/local/mysql/var///使用户mysql有权写库
[root@svr5 bin]# ln -s /usr/local/mysql/bin/* /usr/local/bin/ //建程序快捷方式
[root@svr5 bin]# ln -s /usr/local/mysql/lib/mysql/* /usr/lib64/ //链接库文件
[root@svr5 bin]# ln -s /usr/local/mysql/include/mysql/* /usr/include/ //链接头文件
5) 添加为系统服务
[root@svr5 bin]# cd /var/ftp/pub/mysql- 5.1.62/support-files/
[root@svr5 support-files]# cp mysql.server /etc/init.d/mysqld //复***务脚本
[root@svr5 support-files]# chmod +x /etc/rc.d/init.d/mysqld
[root@svr5 support-files]# chkconfig --add mysqld
[root@svr5 support-files]# service mysqld restart
//如果启动失败,先killall -9 mysqld ,再service mysqld restart
【编译安装php】
1)解包、配置、编译、安装
[root@svr5 php-5.4.19]# yum -y install libxml2-devel
[root@svr5 ~]# cd /var/ftp/pub
[root@svr5 pub]# tar zxf php-5.4.19.tar.gz
[root@svr5 pub]# cd /usr/src/php-5.4.19/
[root@svr5 php-5.4.19]# ./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
关键配置参数
--prefix=:指定安装目录
--enable-mbstring:支持多字节字符
--with-apxs2:指定httpd的模块工具位置
--with-mysql:指定mysql的安装位置
--enable-sockets:启用套接字支持
--with-config-file-path=:指定配置路径
[root@svr5 php-5.4.19]# make
[root@svr5 php-5.4.19]# make install
[root@svr5 php-5.4.19]# cp php.ini-development /usr/local/php/php.ini //建立配置文件
2)调整配置文件(可选)
[root@svr5 ~]# vim /usr/local/php/php.ini
.. ..
default_charset = "UTF-8" //默认字符 集
file_uploads = On // 允许上传
upload_max_filesize = 4M //可上传的 最大文件
post_max_size = 8M //最大POST 提交的容量
3)LAMP协作配置
[root@svr5 ~]# vim /usr/local/httpd/conf/httpd.conf
.. ..
LoadModule php5_module modules/libphp5.so
DirectoryIndex index.html index.php // 添加PHP首页
AddType application/x-httpd-php .php // 识别PHP网页类型
.. ..
[root@svr5 ~]# service myhttpd restart
4)LAMP协作测试
测试PHP解析(访问http://your_server/test1.php)
[root@svr5 ~]# vim /usr/local/httpd/htdocs/test1.php
<?php
phpinfo(); //输出PHP环境相关信息
?>
测试数据库连接(访问http://your_server/test2.php)
[root@svr5 ~]# vim /usr/local/httpd/htdocs/test2.php
<?php
$link=mysql_connect('localhost','test',''); // 连数据库
if($link) echo "恭喜你,数据库连接成功啦 !!"; //成 功时的提示
mysql_close(); //关数据库
?>
三、部署PHP网站应用
1. 准备工作(数据库的准备)
[root@svr5 ~]# mysql -u root
mysql> CREATE DATABASE bbsdb;
mysql> GRANT all ON bbsdb.* TO 'runbbs'@'localhost' IDENTIFIED BY
'adm123';
mysql> quit
2. 解包
[root@svr5 pub]# unzip Discuz_X3.0_SC_UTF8.zip -d DiscuzX3
[root@svr5 pub]# ls DiscuzX3
Readme upload utility
3. 部署
[root@svr5 pub]# cp -rf DiscuzX3/upload/ /usr/local/httpd/htdocs/bbs
[root@svr5 pub]# cd /usr/local/httpd/htdocs/bbs/
[root@svr5 bbs]# chown -R daemon config/ data/ uc_server/
[root@svr5 bbs]# chown -R daemon template/ uc_client/
4. 从浏览器中执行安装
http://服务器地址/bbs/install
善后工作
[root@svr5 bbs]# cd /usr/local/httpd/htdocs/bbs/
[root@svr5 bbs]# mv install/ install.lock
[root@svr5 bbs]# chmod 600 install.lock/
5. 访问论坛:
http://服务器地址/bbs/forum.php
6. 管理论坛:
http://服务器地址/bbs/admin.php