Linux之LAMP环境搭建
Lamp是Linux+Apache+Mysql+Perl/PHP/Python的简写,是一组常用来搭建动态网站或者服务器的开源软件。随着开源潮流的蓬勃发展,开放源代码的LAMP具有投资成本较低的优点,已经与J2EE和.Net商业软件形成三足鼎立之势。网站的流量上来说,70%以上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。本文是笔者搭建Lamp环境的源码安装和yum安装的操作笔记,便于笔者日后查询,也给有需要者提供方便。一、Lamp源码安装
1、本例环境搭建所需的所有源码包。
1) apache-2.4.3 http://pan.baidu.com/share/link?shareid=1317917239&uk=437486341
2) mysql-5.0.41 http://pan.baidu.com/share/link?shareid=1325524486&uk=437486341
3) php-5.4.11 http://pan.baidu.com/share/link?shareid=1329191092&uk=437486341
4) libxml2-2.9.0 http://pan.baidu.com/share/link?shareid=1338302720&uk=437486341
5) libmcrypt-2.5.8 http://pan.baidu.com/share/link?shareid=1345402379&uk=437486341
6) zlib-1.2.7 http://pan.baidu.com/share/link?shareid=1348291158&uk=437486341
7) libpng-1.5.14 http://pan.baidu.com/share/link?shareid=1352949025&uk=437486341
8) jpegsrc.v8b http://pan.baidu.com/share/link?shareid=1356815979&uk=437486341
9) freetype-2.4.10 http://pan.baidu.com/share/link?shareid=1359995057&uk=437486341
10) autoconf-2.69 http://pan.baidu.com/share/link?shareid=1362832321&uk=437486341
11) gd-2.0.35 http://pan.baidu.com/share/link?shareid=1365212519&uk=437486341
其他一些可能用到的源码包:
12) apr-1.4.6 http://pan.baidu.com/share/link?shareid=1372912780&uk=437486341
13) apr-util-1.5.1 http://pan.baidu.com/share/link?shareid=1375180623&uk=437486341
14) pcre-8.33 http://pan.baidu.com/share/link?shareid=1379062860&uk=437486341
15) m4-1.4.9 http://pan.baidu.com/share/link?shareid=1381567624&uk=437486341
16) ncurses-5.9 http://pan.baidu.com/share/link?shareid=1384101032&uk=437486341
所有源码包下载:
17) Lamp_All_file.zip http://pan.baidu.com/share/link?shareid=1389731276&uk=437486341
2、顺序安装源码包。
1) libxml2
./configure --prefix=/usr/local/lamp/libxml2/
make && make install
2) libmcrypt
./configure --prefix=/usr/local/lamp/libmcrypt/
make && make install
3) zlib 安装时建议不指定安装路径
./configure --不指定安装路径
make && make install
4) libpng
./configure --prefix=/usr/local/lamp/libpng/
make && make install
5) jpegsrc 安装时需提前创建安装目录 配置参数
mkdir /usr/local/lamp/jpeg8
mkdir /usr/local/lamp/jpeg8/bin
mkdir /usr/local/lamp/jpeg8/lib
mkdir /usr/local/lamp/jpeg8/include
mkdir -p /usr/local/lamp/jpeg8/man/man1
./configure --prefix=/usr/local/lamp/jpeg8/ --enable-shared --enable-static
make && make install
6) freetype
./configure --prefix=/usr/local/lamp/freetype
make && make install
7) autoconf 安装时不指定安装目录 避免报错,安装前确保已安装m4
--下载安装m4-1.4.9.tar.gz
./configure --不指定安装目录
make && make install
8) gd2 安装时配置jpeg和freetype
./configure --prefix=/usr/local/lamp/gd2 --with-jpeg=/usr/local/lamp/jpeg8/ --with-freetype=/usr/local/lamp/freetype/
make && make install
9) apache 建议安装时配置apr和apr-util
--下载apr和apr-util,解压拷贝至httpd-2.4.3/srclib
cp -r apr-1.4.6 httpd-2.4.3/srclib/apr
cp -r apr-util-1.5.1 httpd-2.4.3/srclib/apr-util
--下载pcre并安装,进入pcre目录
./configure --prefix=/usr/local/pcre
make && make install
--安装apache,进入apache目录
./configure --prefix=/usr/local/lamp/apache2/ --sysconfdir=/etc/httpd --with-included-apr --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support --with-pcre=/usr/local/pcre/
make && make install
安装完成,启动apache
/usr/local/lamp/apache2/bin/apachectl start
设置apache开机启动
--方法一
echo "/usr/local/lamp/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
安装apache常见错误:
① 错误提示:configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.
解决办法:下载APR和APR-util源码,解压放到httpd-2.4.3/srclib里面,并去除版本号
cp -r apr-1.4.6 httpd-2.4.3/srclib/apr
cp -r apr-util-1.5.1 httpd-2.4.3/srclib/apr-util
② 错误提示:configure: error: pcre-config for libpcre not found. PCRE is required and available from ...
解决办法:下载pcre,编译安装
启动apache常见错误:
① 错误提示:提示无法载入xx.so模块
解决办法:1) 正确配置SELinux(建议)
2) 折中办法,开启不能加载的模块:chcon -t texrel_shlib_t filename --开启不能加载的模块
10) mysql 安装前确保已安装编译工具ncurses
--下载安装ncurses,进入目录
./configure --with-shared --without-debug --without-ada --enable-overwrite
make && make install
--添加组
groupadd mysql --查看grep mysql /etc/group
--添加用户
useradd -g mysql mysql --查看grep mysql /etc/passwd
--安装mysql,进入目录
./configure --prefix=/usr/local/lamp/mysql --with-extra-charsets=all --设置字符集
make && make install
--拷贝配置文件
cp support-files/my-medium.cnf /etc/my.cnf
--创建mysql数据库授权表
/usr/local/lamp/mysql/bin/mysql_install_db --user=mysql
--改变安装文件的所有者为root
chown -R root /usr/local/lamp/mysql/
--改变安装目录下的数据目录var所有者为mysql
chown -R mysql /usr/local/lamp/mysql/var/
--改变安装文件所属组为mysql
chgrp -R mysql /usr/local/lamp/mysql/
--启动mysql
/usr/local/lamp/mysql/bin/mysqld_safe --user=mysql &
--设置root密码
/usr/local/lamp/mysql/bin/mysql -u root
SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123456');
设置开机启动
--拷贝执行程序
cp /lamp/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld
--改变所有者和所属组
chown root.root /etc/rc.d/init.d/mysqld
--设置权限
chmod 755 /etc/rc.d/init.d/mysqld
--添加程序
chkconfig --add mysqld --查看chkconfig --list mysqld
常见错误:
① 执行sql时提示:table xx is readonly,这是权限设置的问题
解决办法:chmod -R 777 /usr/local/lamp/mysql
/usr/local/lamp/bin/mysqladmin -u root -p flush-tables
11) php (php5.2版本之前可以安装Zend Optimizer,执行速度提升40%-100%)
--安装php,进入相应目录
./configure --prefix=/usr/local/lamp/php/ --with-config-file-path=/usr/local/lamp/php/etc/ --with-apxs2=/usr/local/lamp/apache2/bin/apxs --with-mysql=/usr/local/lamp/mysql/ --with-libxml-dir=/usr/local/lamp/libxml2/ --with-jpeg-dir=/usr/local/lamp/jpeg8/ --with-freetype-dir=/usr/local/lamp/freetype/ --with-gd=/usr/local/lamp/gd2/ --with-mcrypt=/usr/local/lamp/libmcrypt/ --with-mysqli=/usr/local/lamp/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets
make && make install
--拷贝php配置文件
cp php.ini-dist(php.ini-production) /usr/local/lamp/php/etc/php.ini
--配置apache支持php
vi /etc/httpd/httpd.conf
--增加一行
AddType application/x-httpd-php .php .phtml
--重启apache
/usr/local/lamp/apache2/bin/apachectl restart
--编写测试脚本info.php
vi /usr/local/lamp/apache2/htdocs/info.php
常见错误:
① 错误提示:Cannot find libmysqlclient_r under /usr/local/lamp/mysql.
解决办法:cd /usr/local/lamp/mysql/lib/mysql/
ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so
② 错误提示:‘gdIOCtx’ has no member named ‘data’
解决办法:vi /usr/local/lamp/gd2/include/gd_io.h
typedef struct gdIOCtx
{
void (*data); --新增行
int (*getC) (struct gdIOCtx *);
...
}
gdIOCtx;
void (*data); --新增行
12) 下载解压phpMyAdmin拷贝至/usr/local/lamp/apache/htdocs/,测试运行,测试连接mysql,一切顺利,恭喜Lamp基本环境已搭建完成!
二、Lamp二进制yum软件包安装
1、安装Apache
安装:yum install httpd httpd-devel
启动进程:/etc/init.d/httpd start
网站路径:/var/www/html
配置文件路径:/etc/httpd/conf/httpd.conf
设为开机启动:chkconfig httpd on
2、安装Mysql
1) 安装设置
安装:yum install mysql mysql-server mysql-devel
启动:/etc/init.d/mysqld start
设为开机启动:chkconfig mysqld on
目录文件:/usr/local/mysql/
2) 设置mysql密码
mysql
mysql>use mysql;
mysql>update user set password=PASSWORD('newpassword') where user='root';
mysql>flush privileges;
3) 允许远程登录
mysql -uroot -p('password')
mysql>grant all privileges on *.* to '用户名'@'%' identified by 'password' with grant option;
4) mysql数据库路径:/var/lib/mysql
5) 启动mysql: /usr/bin/mysql
3、安装php
安装:yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml
重启apache:/etc/init.d/httpd restart
4、测试
在/var/www/html目录下新建文件info.php,内容为<?php phpinfo(); ?>
访问测试
检测80端口是否打开,/etc/init.d/iptables status可检查是否打开80端口,如没有打开,处理办法:
1) 添加80端口例外
方法一:/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
方法二:vi /etc/sysconfig/iptables;
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT--添加这行
/etc/init.d/iptables restart 重启
2) 永久关闭防火墙(不推荐)
chkconfig --level 35 iptables off
页:
[1]