本人电脑为linux deepin 2014 64位。
首先下载需要进行编译的源码文件。
httpd-2.2.27.tar.gz,mysql-5.6.17.tar.gz,php-5.4.28.tar.gz
libxml2-2.6.3.tar.gz,libpng-1.6.10.tar.gz,libmcrypt-2.5.8.tar.gz,libgd-2.1.0.tar.gz,zlib-1.2.8.tar.gz,
jpegsrc.v6b.tar.gz,freetype-2.5.3.tar.gz,autoconf-2.61.tar.gz
检查编译环境
源码包安装方式需要Gcc编译环境,所以要检查下系统是否已经安装了gcc。
sudo dpkg --get-selections|grep gcc
如果有输出安装信息,就说明编译的环境已经安装了。
卸载默认的软件
使用上面提到过的命令进行检查是否有相关软件
sudo dpkg --get-selections|grep 软件名称
检测服务是否正在运行,如果正在运行,则需要停止后才能进行卸载,主要针对apache,mysql
netstat -tnl
apache默认端口 80 mysql默认端口 3306
停止服务
sudo /etc/init.d/服务名 stop
卸载软件
如果是ded安装的,则使用 sudo apt-get -remove 软件名称
如果是源码安装的,删除文件夹即可
编译和安装软件
安装过程一般都是使用 tar zxvf 进行解压
然后进入目录, sudo ./congfigure 配置
sudo make 编译
sudo make install 安装
安装libxml2
sudo ./configure --prefix=/usr/local/libxml2
sudo make
-----------error-----------
这一步在执行的时候遇到了错误,在网上查找资料找到了解决方法,
打开解压之后的文件夹,打开nanohttp.c 找到1588行 在方法中添加 0777的权限设置,即修改成
fd = open(filename, O_CREAT | O_WRONLY,0777);
-----------error-----------
sudo make install
安装libmcrypt
sudo ./configure --prefix=/usr/local/libmcrypt
sudo make
sudo make install
安装zlib
注意:安装zlib之前需要安装此软件,命令:sudo apt-get install zlib1g-dev
sudo ./configure --prefix=/usr/local/zlib
sudo make
sudo make install
安装libpng
sudo ./configure --prefix=/usr/local/libpng
sudo make
sudo make install
安装jpeg6
需要手动建立目录:
sudo mkdir /usr/local/jpeg6 //建立jpeg6软件安装目录
sudo mkdir /usr/local/jpeg6/bin //建立存放命令的目录
sudo mkdir /usr/local/jpeg6/lib //创建jpeg6库文件所在目录
sudo mkdir /usr/local/jpeg6/include //建立存放头文件目录
sudo mkdir -p /usr/local/jpeg6/man/man1 //建立存放手册的目录
安装命令:
sudo ./configure \
> --prefix=/usr/local/jpeg6/ \
> --enable-shared \ //建立共享库使用的GNU的libtool
> --enable-static //建立静态库使用的GNU的libtool
sudo make
sudo make install
安装freetype
sudo ./configure --prefix=/usr/local/freetype
sudo make
sudo make install
安装autoconf
sudo ./configure
提示 : error: GNU M4 1.4 is required
打开 http://ftp.gnu.org/gnu/m4/ 选择最新版本的下载,这里我选择的是 m4-1.4.17
安装这个文件,依旧是 sudo ./configure
sudo make
sudo make install
继续安装autoconf sudo ./configure
sudo make
sudo make install
安装apache服务器
sudo ./configure \ //执行当前目录下软件自代的配置命令
> --prefix=/usr/local/apache2 \ //指定Apache软件安装的位置
> --sysconfdir=/etc/httpd \ //指定Apache服务器的配置文件存放位置
> --with-z=/usr/local/zlib/ \ //指定zlib库文件的位置
> --with-included-apr \ //使用捆绑APR/APR-Util的副本
> --enable-so \ //以动态共享对象(DSO)编译
> --enable-deflate=shared \ //缩小传输编码的支持
> --enable-expires=shared \ //期满头控制
> --enable-rewrite=shared \ //基于规则的URL操控
> --enable-static-support //建立一个静态链接版本的支持
sudo make
sudo make install
注意:APACHE安装完成后,/usr/local/apache2即为apache的根目录,而/etc/httpd/为apache的配置目录
检查安装目录
检查配置文件目录
sudo vi /etc/httpd/httpd.conf
在文件的上方空白处添加:
ServerName localhost:80 //监听本机的80端口
sudo /usr/local/apache2/bin/apachectl start
//启动Apache
sudo /usr/local/apache2/bin/apachectl stop
//关闭Apache
# netstat -tnl|grep 80 //查看80端口是否开启
http://localhost/去访问Apache服务器
sudo echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.local //添加自启动
注意:若此启动无法写进文件,请用vi编辑器直接编辑,写在该文件的代码段 'exit 0' 之前即可
安装maysql数据库
1.解压mysql源码安装包
tar -zxvf mysql-5.5.37.tar.gz
2.安装一些编译需要的组件
安装cmake组件
sudo apt-get install cmake
安装libncurses5-dev组件
sudo apt-get install libncurses5-dev
安装gcc-c++组件
sudo apt-get install build-essential
安装bison组件
sudo apt-get install bison
3.编译安装
设置用户组
编译安装
编译成功sudo make
sudo make install
配置相应的文件
进入/usr/local/mysql 下
sudo chown -R mysql .
sudo chgrp -R mysql .
sudo ./scripts/mysql_install_db
--user=mysql --basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data
--no-defaults
配置完成后修改权限
sudo chown -R root .
sudo chown -R mysql data
复制配置文件
sudo cp ./support-files/my-medium.cnf /etc/my.cnf
配置my.cnf信息,找到[mysqld],然后追加进去
[mysqld]
user = mysql
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
character-set-server = utf8
将mysql.server拷贝/etc/init.d下:
sudo cp ./support-files/mysql.server /etc/init.d/mysql
启动mysql
sudo /etc/init.d/mysql start
遇到启动失败“Starting MySQL * Couldn't find MySQL server (/usr/bin/mysqld_safe)”时
sudo rm /etc/mysql/my.cnf
确认mysql是否安装成功
sudo /usr/local/mysql/bin/mysqladmin version
如下图所示,及为成功状态
设置软连接
cd /usr/local/mysql/bin
sudo ln -s /usr/local/mysql/bin/mysql /usr/bin
sudo ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
sudo ln -s /usr/local/mysql/bin/mysqldump /usr/bin
给root用户设置密码
mysqladmin -u root password "xxx"
进入mysql看看吧
Mysql -u root -p
sudo rm /etc/mysql/my.cnf
安装php
这里使用了简易的安装,之后的扩展另外安装(其实是我总是遇到错误解决太麻烦了,安装了N次之后感觉这个方法最好,基本是不会出错的)
一些扩展我会在下面进行另外的安装,我感觉这样比较清晰。
这里安装的php仅仅关联了apache,mysql
之后会在扩展中安装:pdo_mysql,
sudo ./configure
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/
--enable-mbstring
--enable-xml
--enable-sockets
---------------------------------
configure: error: xml2-config not found. Please check your libxml2 installation.
sudo apt-get install libxml2-dev
---------------------------------
复制php.ini
cp /home/sniper/Downloads/php/php.ini-development /usr/local/php/lib/php.ini
打开Apache配置文件
sudo gvim /etc/httpd/httpd.conf
在后边加上
PHPIniDir /usr/local/php/
AddType application/x-httpd-php .php
重启apache 在apache的工作目录中写一个phpinfo的文件,然后进入localhost看看
<?php
phpinfo();
?>
安装php的各种模块
安装Mcrypt扩展模块
进入解压后的php文件的ext文件夹中,可以看到很多的扩展包,找到Mcrypt
cd /home/你的名字/php-5.4.37/ext/mcrypt
运行phpize
/usr/local/php/bin/phpize
然后会有如下显示:
这说明可以扩展
接下来编译安装:
sudo ./configure \
--with-php-config=/usr/local/php/bin/php-config
--with-mcrypt=/usr/local/libmcrypt
sudo make
sudo make install
会出现一个路径,进入目录下就能看到so文件扩展
Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/
然后编辑php.ini文件
在最后添加
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/"
extension = "mcrypt.so"
然后重启apache,然后再访问phpinfo.php 就看到支持mcrypt了。
安装pdo_mysql扩展
原理基本与上面相同,只是编译的配置写法不同,这里需要加上mysql的路径。
进入pdo_mysql目录下
运行phpize
sudo./configure
--with-php-config=/usr/local/php/bin/php-config
--with-pdo-mysql=/usr/local/mysql
sudo make
sudo make install
然后编辑php.ini文件,接着添加
extension = "pdo_mysql.so"
然后重启apache,然后再访问phpinfo.php 就看到支持pdo_mysql了。
安装GD库扩展
前面的和上面一样
注意要提前安装 png jepg freetype 这些
sudo ./configure
--with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/libjpeg/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/
sudo make
sudo make install
然后编辑php.ini文件,接着添加
extension = "gd.so"
然后重启apache,然后再访问phpinfo.php 就看到支持gd了。
安装memcached扩展
在http://pecl.php.net/package/memcache下载扩展
下载memcached-3.0.8.tar.gz
解压这个文件
tar -zxvf memcached-3.0.8.tar.gz
进入解压文件夹中
运行phpize
sudo ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir=/usr/local/zlib/
sudo make
sudo make install
然后编辑php.ini文件,接着添加
extension = "memcache.so"
然后重启apache,然后再访问phpinfo.php 就看到支持memcache了。
安装SOAP扩展
进入php中的soap文件夹
运行phpize
sudo ./configure
--with-php-config=/usr/local/php/bin/php-config
-–enable-soap
sudo make
sudo make install
然后编辑php.ini文件,接着添加
extension = "soap.so"
然后重启apache,然后再访问phpinfo.php 就看到支持soap了。
安装APC
在http://pecl.php.net/get/APC-3.1.13.tgz下载扩展
运行phpize
sudo ./configure
--enable-apc-mmap
--enable-apc
--enable-apc-filehits
--with-php-config=/usr/local/php/bin/php-config
sudo make
sudo make install
然后编辑php.ini文件,接着添加
extension = "apc.so"
然后重启apache,然后再访问phpinfo.php 就看到支持apc了。
安装xdebug
下载地址为: xdebug-2.2.5
3、然后运行
sudo ./configure
--with-php-config=/usr/local/php/bin/php-config
之后是 make && make install ,下面是安装成功时的界面安装curl
在http://curl.haxx.se/download/ 下载curl文件
解压后,进入目录进行安装:
sudo ./configure --prefix=/usr/local/curl
sudo make
sudo make install
之后进入php扩展文件夹中的curl文件夹
运行phpize
sudo ./configure --with-php-config=/usr/local/php/bin/php-config --with-curl=/usr/local/curl
sudo make
sudo make install
然后编辑php.ini文件,接着添加
extension = "curl.so"
然后重启apache,然后再访问phpinfo.php 就看到支持curl了。