LAMP 环境搭建之源码包编译安装
mysql用的二进制包安装。 Apache php 用的源码包
mysql版本5.5.46 Apache版本2.4.7 PHP版本:5.5
安装mysql
mysql下载地址:http://mirrors.sohu.com/mysql/MySQL-5.5/
初始化
[root@localhost lamp]# tar zxvf mysql-5.5.46-linux2.6-x86_64.tar.gz #解压
[root@localhost lamp]# mv mysql-5.5.46-linux2.6-x86_64 /usr/local/mysql #移动位置,并去掉版本好
[root@localhost lamp]# useradd -s /sbin/nologin -M mysql #增加mysql用户。 不能登录 不创建家目录
[root@localhost lamp]# mkdir -p /data/mysql #创建datadir 数据库文件会放在这里
[root@localhost lamp]# chown -R mysql:mysql /data/mysql/ #更改属组 属主
[root@localhost lamp]# cd /usr/local/mysql/ #进入目录
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql --user定义数据库的所属主,--datadir 定义安装目录
接下来会看到有两个OK.说明执行正确。
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
#复制启动脚本文件
[root@localhost mysql]# chmod 755 /etc/init.d/mysqld
# 修改启动脚本权限
[root@localhost mysql]# vim /etc/init.d/mysqld
#修改启动脚本。 找到bashedir 增加下面的路径
basedir=/usr/local/mysql # 安装位置
datadir=/data/mysql # 数据库位置
然后把启动脚本加入系统服务项,设定开机启动
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
如果启动不了。请到/data/mysql 目录下查看错误日志。这个日志通常是主机名.err。
检查MYSQL石否启动的命令为:
ps aux |grep mysqld
netstat -an |grep 3306
安装Apache2.4.7版本。
下载地址为:http://mirrors.sohu.com/apache/
tar zxvf httpd-2.4.7.tar.gz #解压文件
cd httpd-2.4.7 #进入目录
./configure --prefix=/usr/local/apache2/ --sysconfdir=/usr/local/apache2/etc --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared #编译参数
错误
configure: error:Bundled APR requested but not found at./srclib/.
tar zxvf apr-1.4.6.tar.gz #解压apr包
tar -zxvf apr-util-1.4.1.tar.gz #解压apr-util包
cp -r /lamp/apr-1.4.6 /lamp/httpd-2.4.7/srclib/apr
cp -r /lamp/apr-util-1.4.1 /lamp/httpd-2.4.7/srclib/apr-util # 然后把两个包复制到httpd-2.4.7/srclib/ 里面并且取消版本号。
错误:
configure: error: in `/lamp/httpd-2.4.7/srclib/apr':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
configure failed for srclib/apr
yum -y install gcc-c++ #安装 gcc
错误:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
tar zxvf pcre-8.34.tar.gz
[root@localhost lamp]# cd pcre-8.34
[root@localhost pcre-8.34]# ./configure && make && make install
错误
checking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures
yum -y install openssl-devel
把上面4个错误解决后。重新 ./configure 参数编译 无问题就执行
make
make install
/usr/local/apache2/bin/apachectl start # 启动apache
启动完后用以下命令检查apache是否正常启动,
ps aux |grep httpd
netstat -an |grep :80
如果不能启动 请清空防火墙规格。关闭selinux
iptables -F
service iptables save
通过浏览器输入地址访问:http://192.168.137.30 (我服务器的地址) 。若能显示“It works”表明apache正常工作。
设置Apache系统开机是自动开启。
vim /etc/rc.d/rc.local
增加一行 把下面增加进去。
/usr/local/apache2/bin/apachectl start
安装php5.5版本。
tar zxvf php-5.5.9.tar.gz #解压php安装包
cd php-5.5.9 #进入php文件
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6 --with-mcrypt=/usr/local/libmcrypt/ #编译参数
错误configure: error: xml2-config not found. Please check your libxml2 installation.yum install -y libxml2-devel错误configure: error: Please reinstall the BZip2 distribution
yum install -y bzip2 bzip2-devel错误
configure: error: jpeglib.h not found.
yum install libjpeg-devel -y
错误
configure: error: png.h not found.
yum install libpng-devel -y
错误
configure: error: freetype-config not found.
yum install -y freetype freetype-devel
错误
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
tar zxvf mcrypt-2.6.8.tar.gz #提示mcrypt包没有安装。安装mcrypt包 又依赖依赖 libmcrypt, mhash 这两个包。
1.首先编译安装 libmcrypt, mhash, mcrypt 二进制源码包。
下载libmcrypt-2.5.8.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=/usr/local/related/libmcrypt
make
make install
安装 libltdl,也在libmcrypt源码包里面
cd libmcrypt-2.5.8 /libltdl
./configure --enable-ltdl-install
make
make install
下载mhash-0.9.9.9.tar.gz
tar zxvf mhash-0.9.9.9
cd mhash-0.9.9.9
./configrue --prefix
make
make install
这两个包安装完。然后在安装mcrypt包。
安装mcrypt
tar zxvf mcrypt-2.6.8.tar.gz
LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt #编译参数
make
make install
#mcrypt 没有安装完成。这是php模块。需要等php安装完成之后。在继续安装。
把以上的依赖关系解决完了之后在继续安装PHP
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6 --with-mcrypt=/usr/local/libmcrypt/
make
make install
生成php.ini
cp /lamp/php-5.5.9/php.ini-production /usr/local/php/etc/php.ini
apache结合php
Apache的主配置文件为 :/usr/local/apache2/etc/httpd.conf #参数编译的时候指定到/usr/local/apache2/etc/ 这个目录下。
vim /usr/local/apache2/etc/httpd.conf
找到AddType application/x-gzip .gz .tgz 这一行在下面增加
AddType application/x-httpd-php .php
找到:<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
将中间一样的内容改为:DirectoryIndex index.html index.htm index.php
修改完成后保存退出。
启动前检测apache的配置文件是否正常。
/usr/local/apache2/bin/apachectl -t
如果显示“Syntax OK” 表示正常。
启动apache
/usr/local/apache2/bin/apachectl start
检测是否启动成功。
netstart -lnp |grep httpd
/usr/local/apache2/bin/apachectl graceful 加载apache配置文件 不用重启
/usr/local/apache2/bin/apachectl -t 查看php配置文件是否正常
/usr/local/php/bin/php -i |more 能查看php安装信息。。./configure 内容 等等
cat /usr/local/apache2/build/config.nice 查看apache 安装的编译代码
cat /usr/local/mysql/bin/mysqlbug |grep -i confi 参看musql安装的编译参数
LAMP 环境搭建之源码包编译安装的更多相关文章
- redhat6.2 clang编译环境搭建(采用源码包编译安装)
1. About clang++ office site:http://clang.llvm.org/ A major focus of our work on clang is to make it ...
- CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作
CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614 使用yum安装的MySQL一般版本比较旧,但 ...
- MySQL源码包编译安装
+++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库实力部署时间:2019年3月9日内容:MySQL源码包进行编译,然后部署MySQL单实例重点 ...
- CentOS 7.4 使用源码包编译安装MySQL 5.7.20
使用yum安装的MySQL一般版本比较旧,但是运行稳定.如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进行编译安装了. 一.下载安装包 (一).先下载MySQL源码,网址为:https: ...
- PHP-5.6.8 源码包编译安装
一.下载源码包后,进行解压 [root@www home]# .tar.bz2 gzip: stdin: not in gzip format tar: Error is not recoverabl ...
- MYSQL5.7源码包编译安装
Centos下用cmake编译安装MySQL 5.7安装依赖包yum -y install gcc gcc-c++ ncurses ncurses-devel cmake下载相应源码包cd /usr/ ...
- MYSQL5.5源码包编译安装
MYSQL5.5源码安装首先安装必要的库yum -y install gcc*###### 安装 MYSQL ######首先安装camke 一.支持YUM,则yum install -y cmake ...
- MYSQL5.6源码包编译安装
linux下用cmake编译安装mysql-5.6.35cmake编译安装mysql的方法:#useradd -M mysql -s /sbin/nologin#yum install -y cmak ...
- tomcat7源码包编译安装
tomcat/:作用解析jsp程序.先安装jdk容器.1.下载jdk, wget http://download.oracle.com/otn- pub/java/jdk/8u131- b11/d54 ...
随机推荐
- 直播 linux上的第一个c++程序
这里用crt来直播吧: 登录到服务器上之后: 1.mkdir -p 建一个文件夹 2.ll 查看一下这个文件夹 3.cd 进入这个文件夹 4.vim 进行文本编辑 写完之后,按下esc中止输入模式,用 ...
- Mac实用技巧
1. 程序员Mac新装机必备 Mac很玄这个大家都承认,但是鄙人觉得程序员用Mac才能真正发挥它的功效.下面就说说我的Mac使用: 基本编程软件:xcode,这个东西不仅仅是对mac的界面程序开发有用 ...
- 用EF DataBase First做一个简单的MVC3报名页面
使用EF DataBase First做一个简单的MVC3报名网站 ORM(Object Relational Mapping)是面向对象语言中的一种数据访问技术,在ASP.NET中,可以通过ADO. ...
- 使用 ExpandableListView 实现折叠ListView
1:layout/expandablelistview_groups.xml 标题文件 <?xml version="1.0" encoding="utf-8&qu ...
- Android Activity 生命周期的透彻理解
说来惭愧,虽然已经做了一年多的android开发,但是最近被人问起activity的生命周期的时候,却感觉自己并不能很自信很确定的回答对方的问题,对activity的生命周期的理解还不透彻啊. ...
- 微软CEO史蒂夫·鲍尔默(Steve Ballmer)在12个月内退休
Microsoft CEO Steve Ballmer to retire within 12 months Aug. 23, 2013 Board of directors initiates su ...
- Hybrid App开发模式中, IOS/Android 和 JavaScript相互调用方式
IOS:Objective-C 和 JavaScript 的相互调用 iOS7以前,iOS SDK 并没有原生提供 js 调用 native 代码的 API.但是 UIWebView 的一个 dele ...
- qt tablewidget中单个和批量删除代码如下(部分)截图如下
def coltable(self):#行删除 row=self.downwidget.currentRow() select=self.downwidget.isItemSelected ...
- 布局神器:Flexbox
最近的工作内容大多是移动端网页的开发,百分比布局,Media Queries,Bootstrap等常规的响应式/自适应的开发技术皆一一试过,但觉以上都不够灵活,所以,一直再尝试寻求更加灵活的精确的移动 ...
- 外观模式之C++实现
说明:本文仅供学习交流,转载请标明出处.欢迎转载. 在我们学习程序设计时经常会用到模块化设计的思想,这一思想是我们首先把要实现的功能用一个模块表示,当用户想完毕某个人物时依次调用相应的函数. 然而.假 ...