LAMP架构编译及安装
*安装必备软件:
Apach所需软件包
apr-1.4.6.tar apr-util-1.4.1.tar httpd-2.4.4.tar
Mysql所需软件包
mysql-5.5.24.tar
Php所需软件包
gd-2.0.35.tar php-5.4.5.tar
(一)Apach编译及安装(A)
1.在linux或windows平台共享apache安装软件,并挂载
yum install -y cifs-utils
mount //192.168.1.100/Apache /opt
2.解压文件
cd /opt
tar zxvf apr-1.4.6.tar.gz -C /usr/local
tar zxvf apr-util-1.4.1.tar.gz -C /usr/local
tar zxvf httpd-2.4.4.tar.gz -C /usr/local
3.复制解压文件,去掉版本号
cd /usr/local
cp -r apr-1.4.6 httpd-2.4.4/srclib/apr
cp -r apr-util-1.4.1 httpd-2.4.4/srclib/apr-util
4.安装下面的三个必须安装的编译语言工具gcc、gcc-c++、make
安装过程出现的错误,要安装prce-devel这个开发包
yum -y install gcc
yum -y installgcc-c++
yum -y installmake
yum -y installpcre-devel
5.源码编译
cd /usr/local/httpd-2.4.4
./configure \
--prefix=/usr/local/apache \
--enable-so \
--enable-rewrite \
--enable-mods-shared=most \
--with-mpm=worker \
--disable-cgid \
--disable-cgi
参数解释:
./configure \ //可执行配置程序
--prefix= //指定将httpd服务程序安装到哪个目录
--enable-so //该参数表示支持用mod_so模块提供的功能,用LoadModule在httpd.conf文件或包含的conf文件中动态加载某个模块。让 Apache 可以支持DSO模式
--enable-rewrite //启用网页地址重启功能,用于网站优化及目录迁移维护
--enable-mods-shared=most//选项:告诉编译器将所有标准模块都动态编译为DSO模块。
--with-mpm=worker // 让apache以worker方式运行
--with-mpm=worker //该参数是配置apache将以何种模式编译的。Apache网站文档指出不同操作系统下的不同的默认模式.
--disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本
--disable-cgi //禁止编译 CGI 版本的 PH,不便于扩展网站的应用访问能力
6.源码编译及安装
make 把源代码转换为可执行程序
make install 拷贝过程:将/usr/local/httpd-2.4.4目录下编译完的http程序及相关目录,文件复制到预设的安装目录(及--prefix=/usr/local/apache指定的安装路径)
7.使httpd服务可以使用service管理
"service”管理的命令都在/etc/init.d/这个目录下
grep -v "#"/usr/local/apache/bin/apachectl> /etc/init.d/httpd
vi /etc/init.d/httpd
在文件最前面插入下面的三行,使其支持chkconfig命令
#!/bin/sh
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web server.
第二行参数意义分别为:Linux2,3,4,5级别需要启动httpd服务,启动序号(85);关闭序号(15)
chmod+x /etc/init.d/httpd //把httpd文件加上可执行权限
chkconfig --add httpd //注如果在/etc/init.d/httpd不编辑这个# chkconfig: 2345 85 15内容的话,
就没法用chkconfig --add来添加apache这个服务的
8.修改主配置文件
vi /etc/httpd.conf(# vi /usr/local/apache/conf/httpd.conf)
ServerName //设置成hostname显示的名称
Listen 192.168.1.20 //添加或修改监听本地的IPv4的地址的80端口
9.验证是否搭建成功
在游览器输入Apache服务器地址//192.168.1.20
It works! //It works! 为默认首页------搭建成功!
(二)Mysql编译及安装
1.在linux或windows平台共享mysql源码包,并挂载
yum install -y cifs-utils
mount //192.168.1.100/Mysql /opt
cd /opt
tar zxvfmysql-5.5.24.tar.gz-C /usr/local //解压源码包
2.源码安装
useraddmysql -s /sbin/nologin//添加用户mysql,并不让mysql登陆系统
mkdir /usr/local/mysql //建mysql安装目录
安装编译工具
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
ncurses-devel \
cmake
3.进配置文件目录编译安装
cd /usr/local/mysql-5.5.24
cmake\
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_SSL=system \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1 \
-DWITH_SSL=bundled
make && make install //编译安装一起执行
#rm CMakeCache.txt //如果安装失败,删除缓存文件,尝试重新安装
chown -R mysql.mysql /usr/local/mysql //改变这个目录的属主与属组
export PATH=$PATH:/usr/local/mysql/bin/ //初始化环境变量
cd /root
vi .bash_profile//编辑.bash_profile这个文件
PATH=$PATH:/usr/local/mysql/bin/ //设置开机自动运行mysql
cp /usr/local/mysql/support-files/my-medium.cnf/etc/my.cnf //建立主配置文件
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld//使mysql支持service命令
chmod 755 /etc/init.d/mysqld 使mysqld有执行权限
chkconfig --add /etc/init.d/mysqld //添加/etc/init.d/myspld到chkconfig里,用service命令来管理
或直接用chkconfig --add mysqldchkconfig也是可以添加
chkconfig mysqld --level 235 on //设置mysqld在2,3,5级别启动
4.初始化脚本
cd /usr/local/mysql/scripts
./mysql_install_db \
--user=mysql \//指定用户为mysql
--ldata=/var/lib/mysql \ //链接文件是/var/lib/mysql
--basedir=/usr/local/mysql \ //基本目录/usr/local/mysql
--datadir=/home/mysql //数据目录为/home/mysql
ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock //软连接
vi/etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/home/mysql
#source /root/.bash_profile //重新加载初始脚本
service mysqld start
netstat -anpt | grep 3306
#mysql -u root //登录数据库 //Mysql编译安装成功
(三)Php编译及安装
1.在linux或windows平台共享apache安装软件,并挂载
yum install -y cifs-utils
mount //192.168.1.100/Php /opt
tar xjvf php-5.4.5.tar.bz2 /usr/local/
tar zxvf gd-2.0.35.tar.gz -C /usr/local/
2.安装GD库及GD库关联程序
yum -y install \
libjpeg-devel \
libpng-devel \
freetype-devel \
zlib-devel \
gettext-devel \
libXpm-devel \
libxml2-devel \
fontconfig-devel \
openssl-devel \
bzip2-devel
3.编译安装gd库
cd /usr/local/gd/2.0.35/
./configure --prefix=/usr/local/gd
make && make install
4.编译安装Php 时,make过程中出错解决办法
vi /usr/local/gd/include/gd_io.h
typedef struct gdIOCtx
{
int (*getC) (struct gdIOCtx *);
int (*getBuf) (struct gdIOCtx *, void *, int);
void (*putC) (struct gdIOCtx *, int);
int (*putBuf) (struct gdIOCtx *, const void *, int);
/* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */
int (*seek) (struct gdIOCtx *, const int);
long (*tell) (struct gdIOCtx *);
void (*gd_free) (struct gdIOCtx *);
void (*data); //增加这行
}
gdIOCtx;
5.编译安装Php
cd /usr/local/php-5.4.5/
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-gd=/usr/local/gd \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/etc \
--enable-sqlite-utf8 \
--with-zlib-dir \
--with-libxml-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-ttf \
--with-iconv \
--with-openssl \
--with-gettext \
--enable-mbstring \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--enable-static \
--enable-zend-multibyte \
--enable-inline-optimization \
--enable-sockets \
--enable-soap \
--enable-ftp \
--disable-ipv6
解释:
--prefix=/usr/local/php \ //php安装目录
--with-apxs2=/usr/local/apache/bin/apxs \ //apache接口插件
--with-gd=/usr/local/gd \ //gd安装目录
--disable-ipv6 //不启用ipv6
make && make install
typedef struct gdIOCtx
{
int (*getC) (struct gdIOCtx *);
int (*getBuf) (struct gdIOCtx *, void *, int);
void (*putC) (struct gdIOCtx *, int);
int (*putBuf) (struct gdIOCtx *, const void *, int);
/* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */
int (*seek) (struct gdIOCtx *, const int);
long (*tell) (struct gdIOCtx *);
void (*gd_free) (struct gdIOCtx *);
void (*data); //增加这行
}
gdIOCtx;
6.修改主配置文件
cd /usr/local/php-5.4.5 //cd到解压php目录路径
cp php.ini-production /etc/php.iniv //复制主配置文件
(四)配置apache让他支持Php和Mysql
1.修改配置文件让apache支持PHP
vi /usr/local/apache/conf/httpd.conf
gg 369(找到AddType application/x-gzip .gz .tgz这一行,在其下添加如下内容)
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
LoadModule php5_module modules/libphp5.so //没有这行就增加,有就不用添加。
DirectoryIndex index.html index.php //调整首页文件设置
service httpd restart
2.更改默认首页,验证Php链接
cd /usr/local/apache/htdocs/
rm --f index.html
vi index.php
<?php
phpinfo();
?>
<?php
service httpd restart //在游览器输入Apache服务器地址,出现下面内容,即成功
3.验证数据库链接
#mysql -u root //登录数据库
mysql>CREATE DATABASE xiaohang; //创建数据库名为xioahang
mysql>use xiaohang; //进入xiaohang这个数据库
mysql> CREATE TABLE xiao (user_name CHAR(16) NOT NULL, user_passwd CHAR(48) DEFAULT '', PRIMARY KEY (user_name));
//创建表(xiao)
mysql> grant all on xiaohang.* to 'tom'@'%'identified by '123456'; //授权tom用户
cd /usr/local/apache/htdocs/
rm --f index.html
vi index.php
<?php
$link=mysql_connect('192.168.1.20','tom','123456');
if(!$link) echo "Fail !!";
else echo "Success !!成功啦";
mysql_close();
?>
service httpd restart //在游览器输入Apache服务器地址,出现“Success !!成功啦”,即数据库链接成功!
如果游览器识别乱码,请把游览器编码改为UTF-8