编译安装LAMP架构

yum安装依赖环境:

yum install 
perl							</安装apache编译所需的依赖包/>
cmake ncurses-devel				</安装mysql5.6编译所需的依赖包/>
libxml2-devel					</安装PHP编译所需的依赖包/>

解压缩源码包:

tar xf apr-1.5.2.tar.gz -C /usr/local/src		</解压apr源码包到指定目录/>
tar xf apr-util-1.5.4.tar.bz2 -C /usr/local/src	</解压apr-util源码包到指定目录/>
tar xf httpd-2.4.16.tar.bz2 -C /usr/local/src	</解压httpd源码包到指定目录/>
tar xf pcre-8.37.tar.bz2 -C /usr/local/src		</解压pcre源码包到指定目录/>
tar xf mysql-5.6.26.tar.gz -C /usr/local/src	</解压mysql源码包到指定目录/>
tar xf php-5.6.13.tar.bz2 -C /usr/local/src		</解压php源码包到指定目录/>

编译安装apr

cd /usr/local/apr.1.5.2
./configure --prefix=/usr/local/apr				</预编译到指定目录/>
echo $?											</查询预编译是否成功/>
make -j8 && make install -j8					</编译并安装,指定使用的线程数/>
echo $?											</查询编译和安装是否成功/>

编译安装apr-util

cd /usr/local/apr-util-1.5.4
./configure 									</预编译/>
--prefix=/usr/local/apr-util					</指定目标目录/>
--with-apr=/usr/local/apr						</指定依赖的apr所在目录/>
echo $?											</查询预编译是否成功/>
make -j8 && make install -j8					</编译并安装,指定使用的线程数/>
echo $?											</查询编译和安装是否成功/>

编译安装pcre

cd /usr/local/pcre
./configure 									</预编译/>
--prefix=/usr/local/pcre						</指定目标目录/>
echo $?											</查询预编译是否成功/>
make -j8 && make install -j8					</编译并安装,指定使用的线程数/>
echo $?											</查询编译和安装是否成功/>

编译安装httpd

cd httpd.2.4.16
./configure 									</预编译/>
--prefix=/usr/local/apache.2.4					</指定目标目录,包含版本号,方便排查故障/>
--enable-so										</开启模块支持/>
--enable-rewrite								</开启网站地址重写支持/>
--enable-ssl									</开启SSL加密功能支持/>
--with-apr=/usr/local/apr						</指定依赖包apr所在目录/>
--with-apr-util=/usr/local/apr-util				</指定依赖包apr-util所在目录/>
--with-pcre=/usr/localpcre						</指定依赖包pcre所在目录/>
--enable-modules=most							</开启大多数的模块功能支持/>
--enable-mpm-shared=all							</开启多进程处理模式,全部支持/>
--with-mpm=event								</指定使用mpm模式中的event模式/>
echo $?											</查询预编译是否成功/>
make -j8 && make install -j8					</编译并安装,指定使用的线程数/>
echo $?											</查询编译和安装是否成功/>

配置httpd启动脚本

cd /usr/local/apache2.4/bin
cp -a apachectl /etc/init.d						</复制启动脚本到开机自启动目录/>
chmod +x /etc/init.d/apachectl					</添加执行权限/>
vim /etc/init.d/apachectl
#!/bin/bash
# chkconfig: 2345 63 36		</添加开机启动级别:在2345级别启动,启动序号是63,关闭序号是36,且在network进程启动后启动,在network进程关闭前关闭/>
chkconfig apachectl on							</设置开机自启动/>

httpd初始优化

  1. 修改配置文件中的默认host名称,加快启动速度。
vim /usr/local/apache2.4/conf/httpd.conf	</打开httpd主配置文件/>
/ServerName									</在配置文件中找到ServerName参数/>
ServerName 127.0.0.1:80						</去掉注释符,修改为本机IP和指定端口/>
  1. 指定httpd服务的执行用户,提高系统安全性。
useradd -M -s /sbin/nologin apache			</添加httpd服务的执行用户/>
vim /usr/local/apache2.4/conf/httpd.conf	</打开httpd主配置文件/>
/User										</在配置文件中找到ServerName参数/>
User apache									</修改为使用apache用户执行/>

编译安装mysql-5.6

yum install -y cmake ncurses-devel				</安装mysql5.6编译所需的依赖包/>
useradd -M -s /sbin/nologin mysql 				</添加mysql服务的执行用户/>	
cmake \
	> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \		</指定软件安装目录/>
	> -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \			</指定安全套接字/>
	> -DDEFAULT_CHARSET=utf8 \						</指定默认字符集/>
	> -DDEFAULT_COLLATION=utf8_general_ci \			</指定字符集校验/>
	> -DWITH_EXTRA_CHARSETS=all \					</添加扩展字符集,全部/>
	> -DWITH_MYISAM_STORAGE_ENGINE=1 \				</启用MYISAM数据库引擎/>
	> -DWITH_INNOBASE_STORAGE_ENGINE=1 \			</启用INNOBASE数据库引擎/>
	> -DWITH_MEMORY_STORAGE_ENGINE=1 \				</启用MEMORY数据库引擎/>
	> -DWITH_READLINE=1 \							</添加readline库支持/>
	> -DENABLED_LOCAL_INFILE=1 \					</允许本地导入/>
	> -DMYSQL_DATADIR=/usr/local/mysql/data \		</指定数据库存储目录/>
	> -DMYSQL_USER=mysql 							</指定执行mysql服务的用户/>
echo $?											</查询预编译是否成功/>
make -j8 && make install -j8					</编译并安装,指定使用的线程数/>
echo $?											</查询编译和安装是否成功/>
chown -R mysql:mysql /usr/local/mysql/			</修改mysql安装目录的属主和属组为mysql/>
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld	</复制启动那个脚本到自启动目录/>
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf	</复制默认配置文件,并覆盖my.cnf文件/>
vim /etc/init.d/mysqld							</修改启动脚本中的参数/>
basedir=/usr/local/mysql					</指定软件安装目录/>
datadir=/usr/local/mysql/data				</指定数据库存储目录/>
chmod +x /etc/init.d/mysqld						</添加执行权限/>
chkconfig mysqld on								</设置开机自启动/>

mysql初始化

/usr/local/mysql/scripts/mysql_install_db 		</mysql数据库初始化脚本,使用如下参数/>
	--defaults_file=/etc/my.cnf						</指定使用的配置文件/>
	--basedir=/usr/local/mysql						</指定软件安装目录/>
	--datadir=/usr/local/mysql/data					</指定数据库存储目录/>
	--user=mysql									</指定执行操作的用户名/>
ln -s /usr/local/mysql/bin/* /bin/				</建立软连接,使系统可以调用mysql/>
/etc/init.d/mysqld start						</启动mysql/>
netstat -lnt |grep 3306							</确认mysql是否启动成功/>
mysql_secure_installation						</mysql安全初始化脚本,根据提示设置完成/>
		
# 编译安装php
```shell
./configure 
	--prefix=/usr/local/php						</指定安装目录/>
	--with-mysql=/usr/local/mysql				</添加mysql数据库连接/>
	--with-apxs2=/usr/local/apache2.4/bin/apxs	</添加apache调用模块/>
	--with-config-file-path=/usr/local/php		</指定配置文件目录/>
echo $?											</查询预编译是否成功/>
make -j8 && make install -j8					</编译并安装,指定使用的线程数/>
echo $?											</查询编译和安装是否成功/>
cp php.ini-production /usr/local/php/php.ini	</复制生产环境使用的配置文件到安装目录/>

配置apache调用php

vim /usr/local/apache2.4/httpd.cnf				</编辑apache配置文件/>
	DrictoryIndex index.php index.html			</在默认主页前添加PHP测试页/>
	……
	AddType application/x-httpd-php .php		</添加php文件支持/>
	AddType application/x-httpd-php-source .phps
	:wq											</保存退出/>
			
cd htdocs										</进入默认主页目录/>
vim index.php									</编写php测试页/>
   <?php
		phpinfo();
	?>
	:wq												</保存退出/>
chown apache:apache -R index.php				</更改属主属组/>
/etc/init.d/apachectl restart					</重启apache服务/>

用浏览器访问测试页。

上一篇:编译安装Apache遇到的缺少expat.h与undefined reference to `XML


下一篇:apache安装、tomcat安装、tomca单机多实例安装